From d615f4aca0e5b6a49e1e944d180ebe2720bff7cb Mon Sep 17 00:00:00 2001 From: Yevhen Kyriukha Date: Fri, 30 Sep 2022 17:07:15 +0300 Subject: [PATCH] fix: required props (#145) * fix: required props * make `transactionId` optional for `bulkTransactionIndividualTransferResult` type * make `expiration` required for `bulkQuoteResponse` type * fix type names * bump deps --- docs/fspiop-rest-v1.0-openapi3-snippets.yaml | 174 +- docs/fspiop-rest-v1.1-openapi3-snippets.yaml | 112 +- ...pter-inbound-v2_0_0-openapi3-snippets.yaml | 87 +- ...me-adapter-outbound-openapi3-snippets.yaml | 4657 - ...ter-outbound-v2_0_0-openapi3-snippets.yaml | 156 +- docs/thirdparty-openapi3-snippets.yaml | 118 +- package-lock.json | 1314 +- package.json | 18 +- .../schemas/bulkQuoteErrorResponse.yaml | 2 +- .../components/schemas/bulkQuoteResponse.yaml | 1 + ...lkTransactionIndividualTransferResult.yaml | 1 - .../schemas/individualTransfer.yaml | 4 +- src/fspiop/v1_0/openapi.ts | 6860 +- src/fspiop/v1_1/openapi.ts | 5262 +- .../v2_0_0/inbound/json-schemas.json | 2 - .../v2_0_0/inbound/openapi.ts | 10648 +- .../v2_0_0/outbound/json-schemas.json | 24 +- .../v2_0_0/outbound/openapi.ts | 92378 +++++++++------- .../v2_0_0/outbound/schemas.ts | 2 - .../v2_0_0/outbound/types.ts | 2 - src/thirdparty/openapi.ts | 58385 +++++----- 21 files changed, 101639 insertions(+), 78568 deletions(-) delete mode 100644 docs/sdk-scheme-adapter-outbound-openapi3-snippets.yaml diff --git a/docs/fspiop-rest-v1.0-openapi3-snippets.yaml b/docs/fspiop-rest-v1.0-openapi3-snippets.yaml index 051a24e9..5454e788 100644 --- a/docs/fspiop-rest-v1.0-openapi3-snippets.yaml +++ b/docs/fspiop-rest-v1.0-openapi3-snippets.yaml @@ -13,9 +13,9 @@ info: name: >- Open API for FSP Interoperability (FSPIOP) (Implementation Friendly Version) - url: 'https://github.com/mojaloop/mojaloop-specification/blob/develop/LICENSE.md' + url: https://github.com/mojaloop/mojaloop-specification/blob/develop/LICENSE.md servers: - - url: 'protocol://hostname:/switch/' + - url: protocol://hostname:/switch/ variables: protocol: enum: @@ -90,7 +90,7 @@ paths: responses: '200': description: Ok - '/participants/{Type}/{ID}': + /participants/{Type}/{ID}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -258,7 +258,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}/error': + /participants/{Type}/{ID}/error: put: description: >- If the server is unable to find, create or delete the associated FSP of @@ -308,7 +308,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}/{SubId}': + /participants/{Type}/{ID}/{SubId}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -477,7 +477,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}/{SubId}/error': + /participants/{Type}/{ID}/{SubId}/error: put: description: >- If the server is unable to find, create or delete the associated FSP of @@ -578,7 +578,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{ID}': + /participants/{ID}: put: description: >- The callback `PUT /participants/{ID}` is used to inform the client of @@ -625,7 +625,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{ID}/error': + /participants/{ID}/error: put: description: >- If there is an error during FSP information creation in the server, the @@ -674,7 +674,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}': + /parties/{Type}/{ID}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -756,7 +756,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}/error': + /parties/{Type}/{ID}/error: put: description: >- If the server is unable to find Party information of the provided @@ -806,7 +806,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}/{SubId}': + /parties/{Type}/{ID}/{SubId}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -889,7 +889,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}/{SubId}/error': + /parties/{Type}/{ID}/{SubId}/error: put: description: >- If the server is unable to find Party information of the provided @@ -988,7 +988,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactionRequests/{ID}': + /transactionRequests/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1070,7 +1070,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactionRequests/{ID}/error': + /transactionRequests/{ID}/error: put: description: >- If the server is unable to find or create a transaction request, or @@ -1168,7 +1168,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/quotes/{ID}': + /quotes/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1248,7 +1248,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/quotes/{ID}/error': + /quotes/{ID}/error: put: description: >- If the server is unable to find or create a quote, or some other @@ -1298,7 +1298,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/authorizations/{ID}': + /authorizations/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1411,7 +1411,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/authorizations/{ID}/error': + /authorizations/{ID}/error: put: description: >- If the server is unable to find the transaction request, or another @@ -1508,7 +1508,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transfers/{ID}': + /transfers/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1589,7 +1589,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transfers/{ID}/error': + /transfers/{ID}/error: put: description: >- If the server is unable to find or create a transfer, or another @@ -1639,7 +1639,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactions/{ID}': + /transactions/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1720,7 +1720,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactions/{ID}/error': + /transactions/{ID}/error: put: description: >- If the server is unable to find or create a transaction, or another @@ -1816,7 +1816,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkQuotes/{ID}': + /bulkQuotes/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1897,7 +1897,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkQuotes/{ID}/error': + /bulkQuotes/{ID}/error: put: description: >- If the server is unable to find or create a bulk quote, or another @@ -1994,7 +1994,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkTransfers/{ID}': + /bulkTransfers/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -2076,7 +2076,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkTransfers/{ID}/error': + /bulkTransfers/{ID}/error: put: description: >- If the server is unable to find or create a bulk transfer, or another @@ -2132,7 +2132,7 @@ components: Amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -2183,7 +2183,7 @@ components: OtpValue: title: OtpValue type: string - pattern: '^\d{3,10}$' + pattern: ^\d{3,10}$ description: >- The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more @@ -2199,7 +2199,7 @@ components: oneOf: - $ref: '#/components/schemas/OtpValue' - $ref: '#/components/schemas/QRCODE' - pattern: '^\d{3,10}$|^\S{1,64}$' + pattern: ^\d{3,10}$|^\S{1,64}$ description: >- Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. @@ -2218,7 +2218,7 @@ components: BalanceOfPayments: title: BalanceOfPayments type: string - pattern: '^[1-9]\d{2}$' + pattern: ^[1-9]\d{2}$ description: >- (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String @@ -2226,7 +2226,7 @@ components: allowed. A leading zero is not allowed. BinaryString: type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + 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 @@ -2235,7 +2235,7 @@ components: allowed number of characters. BinaryString32: type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ description: >- The API data type BinaryString32 is a fixed size version of the API data type BinaryString, where the raw underlying data is always of 32 bytes. @@ -2269,7 +2269,7 @@ components: Code: title: Code type: string - pattern: '^[0-9a-zA-Z]{4,32}$' + pattern: ^[0-9a-zA-Z]{4,32}$ description: Any code/token returned by the Payee FSP (TokenCode Type). CorrelationId: title: CorrelationId @@ -2492,7 +2492,7 @@ components: ErrorCode: title: ErrorCode type: string - pattern: '^[1-9]\d{3}$' + 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 @@ -2537,19 +2537,19 @@ components: IlpCondition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Condition that must be attached to the transfer by the Payer. IlpFulfilment: title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Fulfilment that must be attached to the transfer by the Payee. IlpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: Information for recipient (transport layer information). @@ -2601,7 +2601,7 @@ components: properties: complexName: $ref: '#/components/schemas/PartyComplexName' - description: 'First, middle and last name for the Party.' + description: First, middle and last name for the Party. dateOfBirth: type: string description: Date of birth for the Party. @@ -2613,7 +2613,7 @@ components: properties: partyIdInfo: $ref: '#/components/schemas/PartyIdInfo' - description: 'Party Id type, id, sub ID or type, and FSP Id.' + description: Party Id type, id, sub ID or type, and FSP Id. merchantClassificationCode: type: string description: >- @@ -2622,7 +2622,7 @@ components: example: 4321 name: type: string - description: 'Display name of the Party, could be a real name or a nick name.' + description: Display name of the Party, could be a real name or a nick name. example: Henrik Karlsson personalInfo: $ref: '#/components/schemas/PartyPersonalInfo' @@ -2655,11 +2655,11 @@ components: properties: scenario: type: string - description: 'Deposit, withdrawal, refund, …' + description: Deposit, withdrawal, refund, … example: DEPOSIT subScenario: type: string - description: 'Possible sub-scenario, defined locally within the scheme.' + description: Possible sub-scenario, defined locally within the scheme. example: Locally defined sub-scenario. initiator: type: string @@ -2667,7 +2667,7 @@ components: example: PAYEE initiatorType: type: string - description: 'Consumer, agent, business, …' + description: Consumer, agent, business, … example: CONSUMER refundInfo: $ref: '#/components/schemas/Refund' @@ -2730,7 +2730,7 @@ components: description: Information about the Payee in the proposed financial transaction. amountType: type: string - description: 'SEND for sendAmount, RECEIVE for receiveAmount.' + description: SEND for sendAmount, RECEIVE for receiveAmount. example: RECEIVE amount: properties: @@ -2761,7 +2761,7 @@ components: example: Note sent to Payee. extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - quoteId - transactionId @@ -2772,7 +2772,7 @@ components: Integer: title: Integer type: string - pattern: '^[1-9]\d*$' + 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 @@ -2805,7 +2805,7 @@ components: MerchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + 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, @@ -2822,7 +2822,7 @@ components: Name: title: Name type: string - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + 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. @@ -2986,7 +2986,7 @@ components: TokenCode: title: TokenCode type: string - pattern: '^[0-9a-zA-Z]{4,32}$' + pattern: ^[0-9a-zA-Z]{4,32}$ description: >- The API data type TokenCode is a JSON String between 4 and 32 characters, consisting of digits or upper- or lowercase characters from @@ -3040,10 +3040,10 @@ components: description: Type of the transaction. note: type: string - description: 'Memo associated to the transaction, intended to the Payee.' + description: Memo associated to the transaction, intended to the Payee. extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - transactionId - quoteId @@ -3145,7 +3145,7 @@ components: TransactionSubScenario: title: TransactionSubScenario type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). @@ -3171,7 +3171,7 @@ components: UndefinedEnum: title: UndefinedEnum type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- The API data type UndefinedEnum is a JSON String consisting of 1 to 32 uppercase characters including an underscore character (_). @@ -3275,7 +3275,7 @@ components: properties: partyId: $ref: '#/components/schemas/PartyIdInfo' - description: 'Party Id type, id, sub ID or type, and FSP Id.' + description: Party Id type, id, sub ID or type, and FSP Id. errorInformation: $ref: '#/components/schemas/ErrorInformation' description: >- @@ -3287,7 +3287,7 @@ components: ParticipantsIDPutResponse: title: ParticipantsIDPutResponse type: object - description: 'The object sent in the PUT /participants/{ID} callback.' + description: The object sent in the PUT /participants/{ID} callback. properties: partyList: type: array @@ -3309,7 +3309,7 @@ components: PartiesTypeIDPutResponse: title: PartiesTypeIDPutResponse type: object - description: 'The object sent in the PUT /parties/{Type}/{ID} callback.' + description: The object sent in the PUT /parties/{Type}/{ID} callback. properties: party: $ref: '#/components/schemas/Party' @@ -3363,7 +3363,7 @@ components: description: Type of transaction. note: type: string - description: 'Reason for the transaction request, intended to the Payer.' + description: Reason for the transaction request, intended to the Payer. example: Free-text memo. geoCode: $ref: '#/components/schemas/GeoCode' @@ -3372,7 +3372,7 @@ components: detect fraud. authenticationType: type: string - description: 'OTP or QR Code, otherwise empty.' + description: OTP or QR Code, otherwise empty. example: OTP expiration: type: string @@ -3383,7 +3383,7 @@ components: example: '2016-05-24T08:38:08.699-04:00' extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - transactionRequestId - payee @@ -3393,7 +3393,7 @@ components: TransactionRequestsIDPutResponse: title: TransactionRequestsIDPutResponse type: object - description: 'The object sent in the PUT /transactionRequests/{ID} callback.' + description: The object sent in the PUT /transactionRequests/{ID} callback. properties: transactionId: type: string @@ -3407,7 +3407,7 @@ components: example: RECEIVED extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - transactionRequestState QuotesPostRequest: @@ -3473,7 +3473,7 @@ components: example: 1234 name: type: string - description: 'Display name of the Party, could be a real name or a nick name.' + description: Display name of the Party, could be a real name or a nick name. example: Lars Bergqvist personalInfo: properties: @@ -3497,7 +3497,7 @@ components: example: '1977-07-17' amountType: type: string - description: 'SEND for send amount, RECEIVE for receive amount.' + description: SEND for send amount, RECEIVE for receive amount. example: SEND amount: properties: @@ -3541,7 +3541,7 @@ components: example: '2016-05-24T08:38:08.699-04:00' extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - quoteId - transactionId @@ -3553,7 +3553,7 @@ components: QuotesIDPutResponse: title: QuotesIDPutResponse type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' + description: The object sent in the PUT /quotes/{ID} callback. properties: transferAmount: properties: @@ -3615,7 +3615,7 @@ components: example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - transferAmount - expiration @@ -3624,11 +3624,11 @@ components: AuthorizationsIDPutResponse: title: AuthorizationsIDPutResponse type: object - description: 'The object sent in the PUT /authorizations/{ID} callback.' + description: The object sent in the PUT /authorizations/{ID} callback. properties: authenticationInfo: type: string - description: 'OTP or QR Code if entered, otherwise empty.' + description: OTP or QR Code if entered, otherwise empty. example: OTP responseType: type: string @@ -3683,7 +3683,7 @@ components: example: '2016-05-24T08:38:08.699-04:00' extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - transferId - payeeFsp @@ -3695,7 +3695,7 @@ components: TransfersIDPutResponse: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + description: The object sent in the PUT /transfers/{ID} callback. properties: fulfilment: type: string @@ -3713,13 +3713,13 @@ components: example: RESERVED extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - transferState TransactionsIDPutResponse: title: TransactionsIDPutResponse type: object - description: 'The object sent in the PUT /transactions/{ID} callback.' + description: The object sent in the PUT /transactions/{ID} callback. properties: completedTimestamp: type: string @@ -3737,7 +3737,7 @@ components: example: Test-Code extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - transactionState BulkQuotesPostRequest: @@ -3756,7 +3756,7 @@ components: properties: partyIdInfo: $ref: '#/components/schemas/PartyIdInfo' - description: 'Party Id type, id, sub ID or type, and FSP Id.' + description: Party Id type, id, sub ID or type, and FSP Id. merchantClassificationCode: type: string description: >- @@ -3765,7 +3765,7 @@ components: example: 1234 name: type: string - description: 'Display name of the Party, could be a real name or a nick name.' + description: Display name of the Party, could be a real name or a nick name. example: Henrik Karlsson personalInfo: $ref: '#/components/schemas/PartyPersonalInfo' @@ -3797,7 +3797,7 @@ components: properties: partyIdInfo: $ref: '#/components/schemas/PartyIdInfo' - description: 'Party Id type, id, sub ID or type, and FSP Id.' + description: Party Id type, id, sub ID or type, and FSP Id. merchantClassificationCode: type: string description: >- @@ -3817,7 +3817,7 @@ components: as first, middle, last name and date of birth. amountType: type: string - description: 'SEND for sendAmount, RECEIVE for receiveAmount.' + description: SEND for sendAmount, RECEIVE for receiveAmount. example: RECEIVE amount: properties: @@ -3848,7 +3848,7 @@ components: example: Note sent to Payee. extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - bulkQuoteId - payer @@ -3922,13 +3922,13 @@ components: should not be set if errorInformation is set. extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - quoteId BulkQuotesIDPutResponse: title: BulkQuotesIDPutResponse type: object - description: 'The object sent in the PUT /bulkQuotes/{ID} callback.' + description: The object sent in the PUT /bulkQuotes/{ID} callback. properties: individualQuoteResults: type: array @@ -3946,7 +3946,7 @@ components: example: '2016-05-24T08:38:08.699-04:00' extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - expiration IndividualTransfer: @@ -3974,7 +3974,7 @@ components: example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - transferId - transferAmount @@ -4018,7 +4018,7 @@ components: example: '2016-05-24T08:38:08.699-04:00' extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - bulkTransferId - bulkQuoteId @@ -4050,13 +4050,13 @@ components: both. extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - transferId BulkTransfersIDPutResponse: title: BulkTransfersIDPutResponse type: object - description: 'The object sent in the PUT /bulkTransfers/{ID} callback.' + description: The object sent in the PUT /bulkTransfers/{ID} callback. properties: completedTimestamp: type: string @@ -4074,7 +4074,7 @@ components: example: RECEIVED extensionList: $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. required: - bulkTransferState parameters: @@ -4084,7 +4084,7 @@ components: required: true schema: type: string - description: 'The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.' + description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. ID: name: ID in: path diff --git a/docs/fspiop-rest-v1.1-openapi3-snippets.yaml b/docs/fspiop-rest-v1.1-openapi3-snippets.yaml index 089e1135..863c6c94 100644 --- a/docs/fspiop-rest-v1.1-openapi3-snippets.yaml +++ b/docs/fspiop-rest-v1.1-openapi3-snippets.yaml @@ -11,12 +11,12 @@ info: the HTTP header. license: name: CC BY-ND 4.0 - url: 'https://github.com/mojaloop/mojaloop-specification/blob/master/LICENSE.md' + url: https://github.com/mojaloop/mojaloop-specification/blob/master/LICENSE.md contact: name: Sam Kummary - url: 'https://github.com/mojaloop/mojaloop-specification/issues' + url: https://github.com/mojaloop/mojaloop-specification/issues servers: - - url: 'protocol://hostname:/switch/' + - url: protocol://hostname:/switch/ variables: protocol: enum: @@ -48,7 +48,7 @@ paths: responses: '200': description: Ok - '/participants/{Type}/{ID}': + /participants/{Type}/{ID}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -217,7 +217,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}/error': + /participants/{Type}/{ID}/error: put: description: >- If the server is unable to find, create or delete the associated FSP of @@ -267,7 +267,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}/{SubId}': + /participants/{Type}/{ID}/{SubId}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -437,7 +437,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}/{SubId}/error': + /participants/{Type}/{ID}/{SubId}/error: put: description: >- If the server is unable to find, create or delete the associated FSP of @@ -538,7 +538,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{ID}': + /participants/{ID}: put: description: >- The callback `PUT /participants/{ID}` is used to inform the client of @@ -585,7 +585,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{ID}/error': + /participants/{ID}/error: put: description: >- If there is an error during FSP information creation in the server, the @@ -634,7 +634,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}': + /parties/{Type}/{ID}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -716,7 +716,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}/error': + /parties/{Type}/{ID}/error: put: description: >- If the server is unable to find Party information of the provided @@ -766,7 +766,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}/{SubId}': + /parties/{Type}/{ID}/{SubId}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -849,7 +849,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}/{SubId}/error': + /parties/{Type}/{ID}/{SubId}/error: put: description: >- If the server is unable to find Party information of the provided @@ -948,7 +948,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactionRequests/{ID}': + /transactionRequests/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1030,7 +1030,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactionRequests/{ID}/error': + /transactionRequests/{ID}/error: put: description: >- If the server is unable to find or create a transaction request, or @@ -1128,7 +1128,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/quotes/{ID}': + /quotes/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1208,7 +1208,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/quotes/{ID}/error': + /quotes/{ID}/error: put: description: >- If the server is unable to find or create a quote, or some other @@ -1258,7 +1258,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/authorizations/{ID}': + /authorizations/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1371,7 +1371,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/authorizations/{ID}/error': + /authorizations/{ID}/error: put: description: >- If the server is unable to find the transaction request, or another @@ -1468,7 +1468,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transfers/{ID}': + /transfers/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1589,7 +1589,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transfers/{ID}/error': + /transfers/{ID}/error: put: description: >- If the server is unable to find or create a transfer, or another @@ -1639,7 +1639,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactions/{ID}': + /transactions/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1720,7 +1720,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactions/{ID}/error': + /transactions/{ID}/error: put: description: >- If the server is unable to find or create a transaction, or another @@ -1816,7 +1816,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkQuotes/{ID}': + /bulkQuotes/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1897,7 +1897,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkQuotes/{ID}/error': + /bulkQuotes/{ID}/error: put: description: >- If the server is unable to find or create a bulk quote, or another @@ -1994,7 +1994,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkTransfers/{ID}': + /bulkTransfers/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -2076,7 +2076,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkTransfers/{ID}/error': + /bulkTransfers/{ID}/error: put: description: >- If the server is unable to find or create a bulk transfer, or another @@ -2131,7 +2131,7 @@ components: schemas: BinaryString: type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + 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 @@ -2140,7 +2140,7 @@ components: allowed number of characters. BinaryString32: type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ description: >- The API data type BinaryString32 is a fixed size version of the API data type BinaryString, where the raw underlying data is always of 32 bytes. @@ -2160,7 +2160,7 @@ components: Integer: title: Integer type: string - pattern: '^[1-9]\d*$' + 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 @@ -2168,7 +2168,7 @@ components: Name: title: Name type: string - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + 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. @@ -2242,7 +2242,7 @@ components: TokenCode: title: TokenCode type: string - pattern: '^[0-9a-zA-Z]{4,32}$' + pattern: ^[0-9a-zA-Z]{4,32}$ description: >- The API data type TokenCode is a JSON String between 4 and 32 characters, consisting of digits or upper- or lowercase characters from @@ -2402,7 +2402,7 @@ components: MerchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + 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, @@ -2663,7 +2663,7 @@ components: Amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -2720,7 +2720,7 @@ components: TransactionSubScenario: title: TransactionSubScenario type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). @@ -2779,7 +2779,7 @@ components: BalanceOfPayments: title: BalanceOfPayments type: string - pattern: '^[1-9]\d{2}$' + pattern: ^[1-9]\d{2}$ description: >- (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String @@ -2849,14 +2849,14 @@ components: UndefinedEnum: title: UndefinedEnum type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- The API data type UndefinedEnum is a JSON String consisting of 1 to 32 uppercase characters including an underscore character (_). ErrorCode: title: ErrorCode type: string - pattern: '^[1-9]\d{3}$' + 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 @@ -2964,7 +2964,7 @@ components: ParticipantsIDPutResponse: title: ParticipantsIDPutResponse type: object - description: 'The object sent in the PUT /participants/{ID} callback.' + description: The object sent in the PUT /participants/{ID} callback. properties: partyList: type: array @@ -2982,7 +2982,7 @@ components: PartiesTypeIDPutResponse: title: PartiesTypeIDPutResponse type: object - description: 'The object sent in the PUT /parties/{Type}/{ID} callback.' + description: The object sent in the PUT /parties/{Type}/{ID} callback. properties: party: $ref: '#/components/schemas/Party' @@ -3097,7 +3097,7 @@ components: TransactionRequestsIDPutResponse: title: TransactionRequestsIDPutResponse type: object - description: 'The object sent in the PUT /transactionRequests/{ID} callback.' + description: The object sent in the PUT /transactionRequests/{ID} callback. properties: transactionId: $ref: '#/components/schemas/CorrelationId' @@ -3164,7 +3164,7 @@ components: IlpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: Information for recipient (transport layer information). @@ -3173,13 +3173,13 @@ components: IlpCondition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + 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.' + description: The object sent in the PUT /quotes/{ID} callback. properties: transferAmount: $ref: '#/components/schemas/Money' @@ -3207,7 +3207,7 @@ components: OtpValue: title: OtpValue type: string - pattern: '^\d{3,10}$' + pattern: ^\d{3,10}$ description: >- The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more @@ -3221,7 +3221,7 @@ components: U2FPIN: title: U2FPIN type: string - pattern: '^\S{1,64}$' + pattern: ^\S{1,64}$ minLength: 1 maxLength: 64 description: > @@ -3253,7 +3253,7 @@ components: - $ref: '#/components/schemas/OtpValue' - $ref: '#/components/schemas/QRCODE' - $ref: '#/components/schemas/U2FPinValue' - pattern: '^\d{3,10}$|^\S{1,64}$' + pattern: ^\d{3,10}$|^\S{1,64}$ description: >- Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. @@ -3285,7 +3285,7 @@ components: AuthorizationsIDPutResponse: title: AuthorizationsIDPutResponse type: object - description: 'The object sent in the PUT /authorizations/{ID} callback.' + description: The object sent in the PUT /authorizations/{ID} callback. properties: authenticationInfo: $ref: '#/components/schemas/AuthenticationInfo' @@ -3325,7 +3325,7 @@ components: IlpFulfilment: title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Fulfilment that must be attached to the transfer by the Payee. example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 @@ -3352,7 +3352,7 @@ components: TransfersIDPutResponse: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + description: The object sent in the PUT /transfers/{ID} callback. properties: fulfilment: $ref: '#/components/schemas/IlpFulfilment' @@ -3367,7 +3367,7 @@ components: TransfersIDPatchResponse: title: TransfersIDPatchResponse type: object - description: 'PATCH /transfers/{ID} object' + description: PATCH /transfers/{ID} object properties: completedTimestamp: $ref: '#/components/schemas/DateTime' @@ -3396,13 +3396,13 @@ components: Code: title: Code type: string - pattern: '^[0-9a-zA-Z]{4,32}$' + pattern: ^[0-9a-zA-Z]{4,32}$ description: Any code/token returned by the Payee FSP (TokenCode Type). example: Test-Code TransactionsIDPutResponse: title: TransactionsIDPutResponse type: object - description: 'The object sent in the PUT /transactions/{ID} callback.' + description: The object sent in the PUT /transactions/{ID} callback. properties: completedTimestamp: $ref: '#/components/schemas/DateTime' @@ -3500,7 +3500,7 @@ components: BulkQuotesIDPutResponse: title: BulkQuotesIDPutResponse type: object - description: 'The object sent in the PUT /bulkQuotes/{ID} callback.' + description: The object sent in the PUT /bulkQuotes/{ID} callback. properties: individualQuoteResults: type: array @@ -3611,7 +3611,7 @@ components: BulkTransfersIDPutResponse: title: BulkTransfersIDPutResponse type: object - description: 'The object sent in the PUT /bulkTransfers/{ID} callback.' + description: The object sent in the PUT /bulkTransfers/{ID} callback. properties: completedTimestamp: $ref: '#/components/schemas/DateTime' @@ -3634,7 +3634,7 @@ components: required: true schema: type: string - description: 'The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.' + description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. ID: name: ID in: path diff --git a/docs/sdk-scheme-adapter-inbound-v2_0_0-openapi3-snippets.yaml b/docs/sdk-scheme-adapter-inbound-v2_0_0-openapi3-snippets.yaml index 81c3ff2d..d9e4d128 100644 --- a/docs/sdk-scheme-adapter-inbound-v2_0_0-openapi3-snippets.yaml +++ b/docs/sdk-scheme-adapter-inbound-v2_0_0-openapi3-snippets.yaml @@ -9,11 +9,11 @@ info: **Note on terminology:** The term "Switch" is equal to the term "Hub", and the term "FSP" is equal to the term "DFSP". license: - name: 'Apache License Version 2.0, January 2004' - url: 'http://www.apache.org/licenses/' + name: Apache License Version 2.0, January 2004 + url: http://www.apache.org/licenses/ version: 1.1.0 paths: - '/participants/{idType}/{idValue}': + /participants/{idType}/{idValue}: get: summary: >- Asks for the identifier (fspId) of the scheme participant (FSP) that can @@ -98,7 +98,7 @@ paths: type: object required: *ref_0 properties: *ref_1 - '/participants/{idType}/{idValue}/{idSubValue}': + /participants/{idType}/{idValue}/{idSubValue}: get: summary: >- Asks for the identifier (fspId) of the scheme participant (FSP) that can @@ -164,7 +164,7 @@ paths: '500': description: An error occurred processing the request content: *ref_6 - '/parties/{idType}/{idValue}': + /parties/{idType}/{idValue}: get: summary: >- Requests information relating to a transfer party identified by the @@ -254,7 +254,7 @@ paths: the `{idType}`, normally a `{personalIdType}` displayName: type: string - description: 'Display name of the sender, if known.' + description: Display name of the sender, if known. firstName: type: string description: Party first name. @@ -304,7 +304,7 @@ paths: '500': description: An error occurred processing the request content: *ref_6 - '/parties/{idType}/{idValue}/{idSubValue}': + /parties/{idType}/{idValue}/{idSubValue}: get: summary: >- Requests information relating to a transfer party identified by the @@ -422,7 +422,7 @@ paths: required: *ref_8 properties: *ref_9 amountType: - description: 'SEND for send amount, RECEIVE for receive amount.' + description: SEND for send amount, RECEIVE for receive amount. type: string enum: &ref_16 - SEND @@ -437,7 +437,7 @@ paths: 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])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string currency: maxLength: 3 @@ -613,7 +613,7 @@ paths: 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])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string feesCurrency: maxLength: 3 @@ -711,7 +711,7 @@ paths: 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])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string transferAmountCurrency: description: The currency of the `transferAmount`. @@ -724,7 +724,7 @@ paths: 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])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string payeeReceiveAmountCurrency: description: The currency of the `payeeReceiveAmount`. @@ -734,7 +734,7 @@ paths: enum: *ref_10 payeeFspFeeAmount: description: Payee FSP’s part of the transaction fee. - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string payeeFspFeeAmountCurrency: description: The currency of the `payeeFspFeeAmount`. @@ -744,7 +744,7 @@ paths: enum: *ref_10 payeeFspCommissionAmount: description: Transaction commission from the Payee FSP. - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string payeeFspCommissionAmountCurrency: description: Currency of the `payeeFspCommissionAmount`. @@ -826,14 +826,14 @@ paths: amountType: type: string enum: *ref_16 - description: 'SEND for send amount, RECEIVE for receive amount.' + description: SEND for send amount, RECEIVE for receive amount. currency: maxLength: 3 minLength: 3 type: string enum: *ref_10 amount: - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string transactionType: type: string @@ -890,7 +890,7 @@ paths: - currency properties: &ref_34 amount: - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string currency: maxLength: 3 @@ -943,7 +943,7 @@ paths: Payee. title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 transferState: @@ -973,7 +973,7 @@ paths: '500': description: An error occurred processing the request content: *ref_6 - '/transfers/{transferId}': + /transfers/{transferId}: parameters: - name: transferId in: path @@ -1023,14 +1023,14 @@ paths: amountType: type: string enum: *ref_16 - description: 'SEND for send amount, RECEIVE for receive amount.' + description: SEND for send amount, RECEIVE for receive amount. currency: maxLength: 3 minLength: 3 type: string enum: *ref_10 amount: - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string transferState: type: string @@ -1075,7 +1075,7 @@ paths: schema: title: TransfersIDPatchResponse type: object - description: 'PUT /transfers/{transferId} object' + description: PUT /transfers/{transferId} object properties: &ref_46 transferId: pattern: >- @@ -1162,7 +1162,7 @@ paths: errorCode: title: ErrorCode type: string - pattern: '^[1-9]\d{3}$' + pattern: ^[1-9]\d{3}$ description: >- The API data type ErrorCode is a JSON String of four characters, consisting of digits only. @@ -1245,7 +1245,7 @@ paths: type: string enum: *ref_20 extensionList: - description: 'Optional extension, specific to deployment.' + description: Optional extension, specific to deployment. type: array items: *ref_11 minItems: 0 @@ -1259,7 +1259,7 @@ paths: '500': description: An error occurred processing the request content: *ref_6 - '/bulkTransactions/{bulkTransactionId}': + /bulkTransactions/{bulkTransactionId}: parameters: - name: bulkTransactionId in: path @@ -1615,7 +1615,6 @@ paths: type: object required: &ref_76 - homeTransactionId - - transactionId - to - amountType - currency @@ -1786,7 +1785,7 @@ paths: merchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + pattern: ^[\d]{1,4}$ description: >- A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a @@ -1886,7 +1885,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -1923,7 +1922,7 @@ paths: quoteResponse: title: QuotesIDPutResponse type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' + description: The object sent in the PUT /quotes/{ID} callback. properties: &ref_71 transferAmount: title: Money @@ -2034,7 +2033,7 @@ paths: ilpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: >- @@ -2045,7 +2044,7 @@ paths: condition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Condition that must be attached to the transfer by @@ -2067,12 +2066,12 @@ paths: fulfil: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + description: The object sent in the PUT /transfers/{ID} callback. properties: &ref_74 fulfilment: title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Fulfilment that must be attached to the transfer @@ -2172,7 +2171,7 @@ components: amountType: type: string enum: *ref_16 - description: 'SEND for send amount, RECEIVE for receive amount.' + description: SEND for send amount, RECEIVE for receive amount. currency: maxLength: 3 minLength: 3 @@ -2328,7 +2327,7 @@ components: The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. money: - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ type: string participantsResponse: type: object @@ -2420,7 +2419,7 @@ components: fulfilNotification: title: TransfersIDPatchResponse type: object - description: 'PUT /transfers/{transferId} object' + description: PUT /transfers/{transferId} object properties: *ref_46 extensionListComplex: type: object @@ -2444,14 +2443,14 @@ components: IlpFulfilment: title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Fulfilment that must be attached to the transfer by the Payee. example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 ErrorCode: title: ErrorCode type: string - pattern: '^[1-9]\d{3}$' + 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 @@ -2542,7 +2541,7 @@ components: Amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -2660,7 +2659,7 @@ components: MerchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + 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, @@ -2779,7 +2778,7 @@ components: IlpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: Information for recipient (transport layer information). @@ -2788,13 +2787,13 @@ components: IlpCondition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + 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.' + description: The object sent in the PUT /quotes/{ID} callback. properties: *ref_71 required: *ref_72 TransferState: @@ -2816,7 +2815,7 @@ components: TransfersIDPutResponse: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + description: The object sent in the PUT /transfers/{ID} callback. properties: *ref_74 required: *ref_75 bulkTransactionIndividualTransferResult: diff --git a/docs/sdk-scheme-adapter-outbound-openapi3-snippets.yaml b/docs/sdk-scheme-adapter-outbound-openapi3-snippets.yaml deleted file mode 100644 index a6f73ec9..00000000 --- a/docs/sdk-scheme-adapter-outbound-openapi3-snippets.yaml +++ /dev/null @@ -1,4657 +0,0 @@ -openapi: 3.0.1 -info: - title: Mojaloop SDK Outbound Scheme Adapter API - description: > - Specification for the Mojaloop SDK Scheme Adapter Outbound Transfers API - - - This API can be used by DFSP backends to simplify the process of sending - funds to other parties within a Mojaloop scheme. - - - Please see other documentation on - https://github.com/mojaloop/sdk-scheme-adapter for more information. - - - **Note on terminology:** The term "Switch" is equal to the term "Hub", and - the term "FSP" is equal to the term "DFSP". - license: - name: Apache License Version 2.0, January 2004 - url: https://github.com/mojaloop/documentation/blob/master/LICENSE.md - version: 1.0.0 -paths: - /: - get: - summary: Health check endpoint - description: >- - This endpoint allows a user of the SDK scheme adapter to check the - outbound transfers service is listening. - tags: - - Health - responses: - '200': - description: >- - Returns empty body if the scheme adapter outbound transfers service - is running. - /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. - - 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. - - - 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: - - Transfers - requestBody: - description: Transfer request body - content: - application/json: - schema: - type: object - required: &ref_65 - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: &ref_66 - 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_48 - - 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: - 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 - 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: - 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_29 - 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_62 - 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_63 - - 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_30 - - 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_67 - - 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_39 - errorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: &ref_56 - 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_57 - - 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 - '400': - description: Malformed or missing required body, headers or parameters - content: &ref_127 - 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 - '500': - description: An error occurred processing the transfer - content: &ref_16 - application/json: - schema: - allOf: *ref_14 - '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 - 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 - requestBody: - content: - application/json: - schema: - oneOf: - - type: object - required: &ref_31 - - acceptParty - properties: &ref_32 - acceptParty: - type: boolean - enum: - - true - - type: object - required: &ref_35 - - acceptQuote - properties: &ref_36 - 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. - responses: - '200': - description: Transfer completed successfully - content: *ref_15 - '500': - description: An error occurred processing the transfer - content: *ref_16 - '504': - description: Timeout occurred processing the transfer - content: *ref_17 - 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: - - 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. - responses: - '200': - description: Transfer information successfully retrieved - content: - application/json: - schema: - type: object - required: &ref_68 - - transferId - - currentState - - fulfil - properties: &ref_69 - 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 - '500': - description: An error occurred processing the transfer - content: - application/json: - schema: - type: object - properties: *ref_22 - /bulkTransfers: - post: - summary: Sends money from one account to multiple accounts - description: > - The HTTP request `POST /bulkTransfers` is used to request the movement - of funds from payer DFSP to payees' DFSP. - tags: - - BulkTransfers - requestBody: - description: Bulk transfer request body - content: - application/json: - schema: - type: object - required: &ref_82 - - bulkHomeTransactionID - - options - - from - - individualTransfers - properties: &ref_83 - 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_27 - - autoAcceptParty - - autoAcceptQuote - - bulkExpiration - properties: &ref_28 - 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_70 - - enabled - properties: &ref_71 - 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_74 - - enabled - properties: &ref_75 - enabled: - type: boolean - enum: - - true - - false - perTransferFeeLimits: - type: array - minItems: 0 - items: - type: object - required: &ref_72 - - currency - - amount - properties: &ref_73 - 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_76 - 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_77 - - 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_79 - complexName: - title: PartyComplexName - type: object - description: Data model for the complex type PartyComplexName. - properties: &ref_78 - 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 - maxItems: 1000 - items: - title: IndividualTransfer - type: object - description: Data model for the complex type 'individualTransfer'. - properties: &ref_80 - homeTransactionId: - 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: *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_81 - - 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 - required: true - responses: - '202': - description: Bulk transfer accepted successfully - '400': - description: Malformed or missing required body, headers or parameters - content: &ref_128 - application/json: - schema: - allOf: &ref_89 - - type: object - properties: *ref_22 - - type: object - required: - - bulkTansferState - properties: - bulkTransferState: - type: object - required: &ref_87 - - bulkHomeTransactionID - - bulkTransactionId - - currentState - - individualTransferResults - properties: &ref_88 - 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: &ref_84 - - ERROR_OCCURRED - - WAITING_FOR_PARTY_ACCEPTANCE - - WAITING_FOR_QUOTE_ACCEPTANCE - - COMPLETED - options: - type: object - required: *ref_27 - properties: *ref_28 - individualTransferResults: - description: >- - List of individual transfer result in a bulk - transfer response. - type: array - minItems: 1 - maxItems: 1000 - items: - type: object - required: &ref_85 - - homeTransactionId - - transactionId - - to - - amountType - - currency - - amount - properties: &ref_86 - 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: - 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 - to: - 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 - 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. - 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_29 - required: *ref_30 - fulfil: - title: TransfersIDPutResponse - type: object - description: >- - The object sent in the PUT /transfers/{ID} - callback. - properties: *ref_20 - required: *ref_21 - 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 - 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 - '500': - description: Internal Server Error - content: &ref_129 - application/json: - schema: - type: object - properties: *ref_22 - /bulkTransfers/{bulkTransactionId}: - put: - summary: Amends the bulk transfer request - description: >- - The HTTP request `PUT /bulkTransfers/{bulkTransactionId}` is used to - amend information regarding a bulk transfer, 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. - tags: - - BulkTransfers - parameters: - - name: bulkTransactionId - in: path - required: true - schema: &ref_144 - 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. - requestBody: - description: Bulk transfer 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_37 - - bulkHomeTransactionID - - individualTransfers - properties: &ref_38 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. - individualTransfers: - description: >- - List of individual transfers in a bulk transfer with - accept party information. - type: array - minItems: 1 - maxItems: 1000 - items: - allOf: - - type: object - description: >- - Data model for the 'individualTransfer' while - accepting party or quote. - properties: &ref_33 - homeTransactionId: - 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 - required: &ref_34 - - homeTransactionId - - transactionId - - type: object - required: *ref_31 - properties: *ref_32 - - description: >- - The object sent back as confirmation of quotes when - autoAcceptQuotes is false. - type: object - required: &ref_40 - - bulkHomeTransactionID - - individualTransfers - properties: &ref_41 - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile - transactions between the Switch and DFSP backend - systems. - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - maxItems: 1000 - items: - allOf: - - type: object - description: >- - Data model for the 'individualTransfer' while - accepting party or quote. - properties: *ref_33 - required: *ref_34 - - type: object - required: *ref_35 - properties: *ref_36 - required: true - responses: - '202': - description: Bulk transfer information successfully amended - '400': - description: Malformed or missing required body, headers or parameters - content: &ref_130 - application/json: - schema: - oneOf: - - allOf: &ref_91 - - type: object - properties: *ref_22 - - type: object - required: - - bulkTansferState - properties: - bulkTransferState: - allOf: - - description: >- - The object sent back as confirmation of payee - parties when autoAcceptParty 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 party - discovery process - properties: &ref_90 - 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_39 - - allOf: &ref_92 - - 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_40 - properties: *ref_41 - - type: object - description: >- - This object represents a Mojaloop API error - received at any time during the quote process - properties: &ref_42 - 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_39 - '500': - description: An error occurred processing the bulk transfer - content: - application/json: - schema: - type: object - properties: *ref_22 - /bulkQuotes: - 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. - tags: - - BulkQuotes - requestBody: - description: Bulk quote request body - content: - application/json: - schema: - type: object - required: &ref_93 - - homeTransactionId - - from - - individualQuotes - properties: &ref_94 - 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_46 - 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: - 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_47 - - quoteId - - to - - amountType - - currency - - transactionType - 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: true - responses: - '200': - description: Bulk quote completed successfully - content: &ref_131 - application/json: - schema: - type: object - required: &ref_43 - - from - - individualQuoteResults - properties: &ref_44 - 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 - 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 - individualQuoteResults: - type: array - maxItems: 1000 - items: - type: object - properties: &ref_95 - 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: - 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. - lastError: - description: >- - This object represents a Mojaloop API error received - at any time during the quote process - type: object - properties: *ref_42 - description: >- - List of individualQuoteResults in a bulk transfer - response. - '400': - description: Malformed or missing required body, headers or parameters - content: &ref_132 - application/json: - schema: - allOf: &ref_45 - - type: object - properties: *ref_22 - - type: object - required: - - bulkTansferState - properties: - bulkQuoteState: - type: object - required: *ref_43 - properties: *ref_44 - '500': - description: An error occurred processing the bulk quote - content: &ref_133 - application/json: - schema: - allOf: *ref_45 - '504': - description: Timeout occurred processing the bulk quote - content: &ref_134 - application/json: - schema: - allOf: *ref_45 - /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_145 - 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_97 - - bulkQuoteId - - currentState - - individualQuotes - properties: &ref_98 - 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_96 - - 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_46 - required: *ref_47 - '500': - description: An error occurred processing the bulk quote - content: - application/json: - schema: - type: object - properties: *ref_22 - /requestToPay: - post: - summary: Receiver requesting funds from Sender - description: > - The HTTP request `POST /requestToPay` is used to support Pull Funds - pattern where in a receiver can request for funds from the Sender. - - The underlying API has two stages: - - 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - 2. Transaction Request. This request enables a Payee to request Payer to send electronic funds to the Payee. - tags: - - RequestToPay - requestBody: - description: RequestToPay request body - content: - application/json: - schema: - type: object - required: &ref_99 - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType - properties: &ref_100 - 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: - type: string - enum: &ref_49 - - TRANSFER - description: Type of transaction. - initiator: - title: TransactionInitiator - type: string - enum: &ref_50 - - 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_48 - 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 - required: true - responses: - '200': - description: Request to Pay completed successfully - content: &ref_135 - application/json: - schema: - type: object - required: &ref_103 - - transactionRequestId - - from - - to - - amountType - - currency - - amount - - transactionType - - requestToPayState - properties: &ref_104 - 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: - type: string - enum: *ref_49 - description: Type of transaction. - initiator: - title: TransactionInitiator - type: string - enum: *ref_50 - 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_48 - 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_101 - - 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_102 - - 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 - /requestToPayTransfer: - post: - summary: >- - Used to trigger funds from customer fsp account to merchant fsp account. - This is a follow-up request to requestToPay. - description: > - The HTTP request `POST /requestToPayTransfer` 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. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - 2. Authorization. This facilitates getting OTP from payee DFSP. - 3. Transfer. The enactment of the previously agreed "contract" - - This method has several modes of operation. - - - 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 otp, 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 variable `AUTO_ACCEPT_OTP` is set to `"false"` - this method will terminate and return the otp when it has been received - from the payee DFSP. - If the payer 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... - tags: - - RequestToPayTransfer - requestBody: - description: Request To Pay Transfer request body - content: - application/json: - schema: - type: object - required: &ref_105 - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType - properties: &ref_106 - 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: - type: string - enum: *ref_49 - description: Type of transaction. - initiator: - title: TransactionInitiator - type: string - enum: *ref_50 - 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_48 - 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. - required: true - responses: - '200': - description: Transfer completed successfully - content: &ref_136 - application/json: - schema: - type: object - required: &ref_107 - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: &ref_108 - 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: - 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_29 - required: *ref_30 - 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 - '400': - description: Malformed or missing required body, headers or parameters - content: &ref_137 - application/json: - schema: - allOf: *ref_14 - '500': - description: An error occurred processing the transfer - content: *ref_16 - '504': - description: Timeout occurred processing the transfer - content: *ref_17 - /requestToPayTransfer/{requestToPayTransactionId}: - put: - summary: >- - Continues a transfer that has paused at the otp stage in order to accept - or reject 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 "acceptOTP" or "acceptQuote" - property set to `true` as required to continue the transfer. - - - See the description of the `POST /requestToPayTransfer` HTTP method for - more information on modes of transfer. - tags: - - RequestToPayTransferID - requestBody: - content: - application/json: - schema: - oneOf: - - type: object - required: *ref_35 - properties: *ref_36 - - type: object - required: &ref_109 - - acceptOTP - properties: &ref_110 - acceptOTP: - type: boolean - enum: - - true - - false - parameters: - - name: requestToPayTransactionId - in: path - required: true - schema: &ref_146 - 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. - responses: - '200': - description: Transfer completed successfully - content: *ref_15 - '500': - description: An error occurred processing the transfer - content: *ref_16 - '504': - description: Timeout occurred processing the transfer - content: *ref_17 - /accounts: - 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 - tags: - - Accounts - requestBody: - description: Identities list request body - content: - application/json: - schema: - type: array - items: &ref_51 - 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 - required: true - responses: - '200': - description: Accounts creation completed - content: &ref_138 - application/json: - schema: - type: object - required: &ref_52 - - accounts - properties: &ref_53 - 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_51 - response: - type: array - items: &ref_111 - type: object - required: - - idType - - idValue - 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. - error: - type: object - properties: *ref_22 - currentState: - type: string - enum: &ref_112 - - 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_54 - application/json: - schema: - allOf: &ref_55 - - type: object - properties: *ref_22 - - type: object - required: - - executionState - properties: - executionState: - type: object - required: *ref_52 - properties: *ref_53 - '500': - description: An error occurred creating accounts - content: *ref_54 - '504': - description: Timeout occurred creating accounts - content: &ref_139 - application/json: - schema: - allOf: *ref_55 - /parties/{Type}/{ID}: - parameters: - - name: Type - in: path - required: true - schema: &ref_58 - type: string - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - - name: ID - in: path - required: true - schema: &ref_59 - 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_60 - application/json: - schema: - title: partiesByIdResponse - type: object - description: GET /parties/{Type}/{ID} response object - properties: &ref_113 - 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_64 - - WAITING_FOR_ACTION - - COMPLETED - - ERROR_OCCURRED - required: &ref_114 - - party - - currentState - '404': - description: PartiesByIdError404 - content: &ref_61 - application/json: - schema: - type: object - properties: - errorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: *ref_56 - required: *ref_57 - /parties/{Type}/{ID}/{SubId}: - parameters: - - name: Type - in: path - required: true - schema: *ref_58 - description: >- - The type of the party identifier. For example, `MSISDN`, - `PERSONAL_ID`. - - name: ID - in: path - required: true - schema: *ref_59 - description: The identifier value. - - name: SubId - in: path - required: true - schema: &ref_147 - 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_60 - '404': - description: PartiesByIdError404 - content: *ref_61 - /quotes: - post: - summary: Quotes endpoint - description: is used to request quotes from other DFSP - tags: - - quotes - operationId: QuotesPost - requestBody: - description: Quotes request payload - content: - application/json: - schema: - title: QuotesPostRequest - type: object - description: The object sent in the POST /quotes request. - properties: &ref_115 - 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: - type: string - enum: *ref_49 - 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: *ref_62 - required: *ref_63 - 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_116 - - quoteId - - transactionId - - payee - - payer - - amountType - - amount - - transactionType - required: true - responses: - '200': - description: sync response from POST /quotes - content: &ref_140 - application/json: - schema: - title: QuotesPostResponse - type: object - properties: &ref_117 - 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_62 - required: *ref_63 - 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_64 - required: &ref_118 - - quotes - - currentState - '500': - description: An error occurred processing the quotes request - content: &ref_141 - application/json: - schema: - allOf: &ref_119 - - type: object - properties: *ref_22 - - type: object - /simpleTransfers: - post: - summary: Simple Transfers endpoint - description: is used to request a transfer - tags: - - transfers - operationId: SimpleTransfersPost - requestBody: - description: Simple Transfer request payload - content: - application/json: - schema: - title: SimpleTransfersPostRequest - type: object - properties: &ref_122 - 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_120 - 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_121 - - transferId - - payeeFsp - - payerFsp - - amount - - ilpPacket - - condition - - expiration - required: &ref_123 - - fspId - - transfersPostRequest - required: true - responses: - '200': - description: sync response from POST /simpleTransfers - content: &ref_142 - application/json: - schema: - title: SimpleTransfersPostResponse - type: object - properties: &ref_124 - 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_64 - required: &ref_125 - - transfer - - currentState - '500': - description: An error occurred processing the simple transfers request - content: &ref_143 - application/json: - schema: - allOf: &ref_126 - - type: object - properties: *ref_22 - - type: object -components: - schemas: - TransactionInitiatorType: - title: TransactionInitiatorType - type: string - enum: *ref_48 - 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 - 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. - 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. - - - 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. - 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 - minItems: 0 - maxItems: 16 - transferParty: - 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: - 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. - transferRequest: - type: object - required: *ref_65 - properties: *ref_66 - 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 - type: object - description: Data model for the complex type Money. - properties: *ref_6 - required: *ref_7 - 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: *ref_62 - required: *ref_63 - 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: *ref_10 - required: *ref_11 - QuotesIDPutResponse: - title: QuotesIDPutResponse - type: object - description: The object sent in the PUT /quotes/{ID} callback. - properties: *ref_29 - required: *ref_30 - 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_67 - 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_56 - required: *ref_57 - mojaloopError: - type: object - properties: *ref_39 - 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: - type: object - properties: *ref_22 - errorTransferResponse: - allOf: *ref_14 - transferStatusResponse: - type: object - required: *ref_68 - properties: *ref_69 - transferContinuationAcceptParty: - type: object - required: *ref_31 - properties: *ref_32 - transferContinuationAcceptQuote: - type: object - required: *ref_35 - properties: *ref_36 - autoAcceptPartyOption: - type: object - required: *ref_70 - properties: *ref_71 - bulkPerTransferFeeLimit: - type: object - required: *ref_72 - properties: *ref_73 - autoAcceptQuote: - type: object - required: *ref_74 - properties: *ref_75 - bulkTransferOptions: - type: object - required: *ref_27 - properties: *ref_28 - 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_76 - required: *ref_77 - 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: *ref_78 - PartyPersonalInfo: - title: PartyPersonalInfo - type: object - description: Data model for the complex type PartyPersonalInfo. - properties: *ref_79 - Party: - title: Party - type: object - description: Data model for the complex type Party. - properties: *ref_24 - required: *ref_25 - individualTransfer: - title: IndividualTransfer - type: object - description: Data model for the complex type 'individualTransfer'. - properties: *ref_80 - required: *ref_81 - bulkTransferRequest: - type: object - required: *ref_82 - properties: *ref_83 - bulkTransferStatus: - type: string - enum: *ref_84 - individualTransferResult: - type: object - required: *ref_85 - properties: *ref_86 - bulkTransferResponse: - type: object - required: *ref_87 - properties: *ref_88 - bulkTransferErrorResponse: - allOf: *ref_89 - individualTransferAccept: - type: object - description: Data model for the 'individualTransfer' while accepting party or quote. - properties: *ref_33 - required: *ref_34 - bulkTransferContinuationAcceptParty: - description: >- - The object sent back as confirmation of payee parties when - autoAcceptParty is false. - type: object - required: *ref_37 - properties: *ref_38 - bulkTransferContinuationAcceptQuote: - description: >- - The object sent back as confirmation of quotes when autoAcceptQuotes is - false. - type: object - required: *ref_40 - properties: *ref_41 - partyError: - type: object - description: >- - This object represents a Mojaloop API error received at any time during - the party discovery process - properties: *ref_90 - bulkAcceptPartyErrorResponse: - allOf: *ref_91 - quoteError: - type: object - description: >- - This object represents a Mojaloop API error received at any time during - the quote process - properties: *ref_42 - bulkAcceptQuoteErrorResponse: - allOf: *ref_92 - individualQuote: - title: IndividualQuote - type: object - description: Data model for the complex type 'individualQuote'. - properties: *ref_46 - required: *ref_47 - bulkQuoteRequest: - type: object - required: *ref_93 - properties: *ref_94 - individualQuoteResult: - type: object - properties: *ref_95 - bulkQuoteResponse: - type: object - required: *ref_43 - properties: *ref_44 - bulkQuoteErrorResponse: - allOf: *ref_45 - bulkQuoteStatus: - type: string - enum: *ref_96 - bulkQuoteStatusResponse: - type: object - required: *ref_97 - properties: *ref_98 - TransactionType: - type: string - enum: *ref_49 - description: Type of transaction. - TransactionInitiator: - title: TransactionInitiator - type: string - enum: *ref_50 - 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 - requestToPayRequest: - type: object - required: *ref_99 - properties: *ref_100 - AuthenticationType: - title: AuthenticationType - type: string - enum: *ref_101 - 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 - TransactionRequestState: - title: TransactionRequestState - type: string - enum: *ref_102 - 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 - requestToPayResponse: - type: object - required: *ref_103 - properties: *ref_104 - requestToPayTransferRequest: - type: object - required: *ref_105 - properties: *ref_106 - requestToPayTransferResponse: - type: object - required: *ref_107 - properties: *ref_108 - transferContinuationAcceptOTP: - type: object - required: *ref_109 - properties: *ref_110 - accountsRequest: - type: array - items: *ref_51 - accountCreationStatus: - type: array - items: *ref_111 - accountsCreationState: - type: string - enum: *ref_112 - accountsResponse: - type: object - required: *ref_52 - properties: *ref_53 - errorAccountsResponse: - allOf: *ref_55 - async2SyncCurrentState: - type: string - enum: *ref_64 - partiesByIdResponse: - title: partiesByIdResponse - type: object - description: GET /parties/{Type}/{ID} response object - properties: *ref_113 - required: *ref_114 - quotesPostRequest: - title: QuotesPostRequest - type: object - description: The object sent in the POST /quotes request. - properties: *ref_115 - required: *ref_116 - quotesPostResponse: - title: QuotesPostResponse - type: object - properties: *ref_117 - required: *ref_118 - errorQuotesResponse: - allOf: *ref_119 - TransfersPostRequest: - title: TransfersPostRequest - type: object - description: The object sent in the POST /transfers request. - properties: *ref_120 - required: *ref_121 - simpleTransfersPostRequest: - title: SimpleTransfersPostRequest - type: object - properties: *ref_122 - required: *ref_123 - simpleTransfersPostResponse: - title: SimpleTransfersPostResponse - type: object - properties: *ref_124 - required: *ref_125 - errorSimpleTransfersResponse: - allOf: *ref_126 - responses: - transferSuccess: - description: Transfer completed successfully - content: *ref_15 - transferBadRequest: - description: Malformed or missing required body, headers or parameters - content: *ref_127 - transferServerError: - description: An error occurred processing the transfer - content: *ref_16 - transferTimeout: - description: Timeout occurred processing the transfer - content: *ref_17 - bulkTransferAccepted: - description: Bulk transfer accepted successfully - bulkTransferBadRequest: - description: Malformed or missing required body, headers or parameters - content: *ref_128 - errorResponse: - description: Internal Server Error - content: *ref_129 - bulkTransferPutBadRequest: - description: Malformed or missing required body, headers or parameters - content: *ref_130 - bulkQuoteSuccess: - description: Bulk quote completed successfully - content: *ref_131 - bulkQuoteBadRequest: - description: Malformed or missing required body, headers or parameters - content: *ref_132 - bulkQuoteServerError: - description: An error occurred processing the bulk quote - content: *ref_133 - bulkQuoteTimeout: - description: Timeout occurred processing the bulk quote - content: *ref_134 - requestToPaySuccess: - description: Request to Pay completed successfully - content: *ref_135 - requestToPayTransferSuccess: - description: Transfer completed successfully - content: *ref_136 - requestToPayTransferBadRequest: - description: Malformed or missing required body, headers or parameters - content: *ref_137 - accountsCreationCompleted: - description: Accounts creation completed - content: *ref_138 - accountsCreationError: - description: An error occurred creating accounts - content: *ref_54 - accountsCreationTimeout: - description: Timeout occurred creating accounts - content: *ref_139 - partiesByIdSuccess: - description: PartiesByIdSuccess - content: *ref_60 - partiesByIdError404: - description: PartiesByIdError404 - content: *ref_61 - quotesPostSuccess: - description: sync response from POST /quotes - content: *ref_140 - quotesServerError: - description: An error occurred processing the quotes request - content: *ref_141 - simpleTransfersPostSuccess: - description: sync response from POST /simpleTransfers - content: *ref_142 - simpleTransfersServerError: - description: An error occurred processing the simple transfers request - content: *ref_143 - parameters: - transferId: - 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. - bulkTransactionId: - name: bulkTransactionId - in: path - required: true - schema: *ref_144 - 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_145 - 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_146 - 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_58 - description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. - ID: - name: ID - in: path - required: true - schema: *ref_59 - description: The identifier value. - SubId: - name: SubId - in: path - required: true - schema: *ref_147 - description: >- - A sub-identifier of the party identifier, or a sub-type of the party - identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. 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 bb1c2edc..d8b93804 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 @@ -16,8 +16,8 @@ info: **Note on terminology:** The term "Switch" is equal to the term "Hub", and the term "FSP" is equal to the term "DFSP". license: - name: 'Apache License Version 2.0, January 2004' - url: 'https://github.com/mojaloop/documentation/blob/master/LICENSE.md' + name: Apache License Version 2.0, January 2004 + url: https://github.com/mojaloop/documentation/blob/master/LICENSE.md version: 1.0.0 paths: /: @@ -206,7 +206,7 @@ paths: displayName: title: Name type: string - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + 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 @@ -265,7 +265,7 @@ paths: merchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + 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 @@ -500,7 +500,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -614,7 +614,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -676,7 +676,7 @@ paths: body: title: QuotesIDPutResponse type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' + description: The object sent in the PUT /quotes/{ID} callback. properties: &ref_56 transferAmount: title: Money @@ -787,7 +787,7 @@ paths: ilpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: >- @@ -798,7 +798,7 @@ paths: condition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Condition that must be attached to the transfer by @@ -846,12 +846,12 @@ paths: body: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + description: The object sent in the PUT /transfers/{ID} callback. properties: &ref_20 fulfilment: title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Fulfilment that must be attached to the transfer @@ -940,7 +940,7 @@ paths: errorCode: title: ErrorCode type: string - pattern: '^[1-9]\d{3}$' + pattern: ^[1-9]\d{3}$ description: >- The API data type ErrorCode is a JSON String of four characters, consisting of digits only. @@ -979,7 +979,7 @@ paths: previous party resolution has been performed. type: boolean '400': - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: &ref_143 application/json: schema: @@ -1012,7 +1012,7 @@ paths: application/json: schema: allOf: *ref_14 - '/transfers/{transferId}': + /transfers/{transferId}: put: summary: >- Continues a transfer that has paused at the quote stage in order to @@ -1141,7 +1141,7 @@ paths: body: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + description: The object sent in the PUT /transfers/{ID} callback. properties: *ref_20 required: *ref_21 headers: @@ -1414,7 +1414,7 @@ paths: merchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + 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 @@ -1532,7 +1532,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -1591,7 +1591,7 @@ paths: '202': description: Bulk transfer accepted successfully '400': - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: &ref_41 application/json: schema: @@ -1730,7 +1730,7 @@ paths: transfer by the Payee. title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 extensionList: @@ -1759,7 +1759,7 @@ paths: schema: type: object properties: *ref_22 - '/bulkTransactions/{bulkTransactionId}': + /bulkTransactions/{bulkTransactionId}: put: summary: Amends the bulk transaction request description: >- @@ -1889,7 +1889,7 @@ paths: '202': description: Bulk transaction information successfully amended '400': - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: &ref_144 application/json: schema: @@ -2090,7 +2090,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -2109,7 +2109,7 @@ paths: ilpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: >- @@ -2120,7 +2120,7 @@ paths: condition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Condition that must be attached to the transfer by the @@ -2167,12 +2167,12 @@ paths: required: *ref_39 properties: *ref_40 '400': - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: *ref_41 '500': description: Internal Server Error content: *ref_42 - '/bulkTransfers/{bulkTransferId}': + /bulkTransfers/{bulkTransferId}: get: summary: Retrieves information for a specific bulk transfer description: >- @@ -2249,7 +2249,7 @@ paths: the Payee. title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 extensionList: @@ -2369,7 +2369,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -2427,6 +2427,7 @@ paths: - bulkQuoteId - individualQuoteResults - currentState + - expiration properties: &ref_48 bulkQuoteId: title: CorrelationId @@ -2534,7 +2535,7 @@ paths: ilpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: >- @@ -2545,7 +2546,7 @@ paths: condition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Condition that must be attached to the transfer by @@ -2573,7 +2574,7 @@ paths: List of individualQuoteResults in a bulk transfer response. '400': - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: &ref_147 application/json: schema: @@ -2582,7 +2583,7 @@ paths: properties: *ref_22 - type: object required: - - bulkTansferState + - bulkQuoteState properties: bulkQuoteState: type: object @@ -2600,7 +2601,7 @@ paths: application/json: schema: allOf: *ref_49 - '/bulkQuotes/{bulkQuoteId}': + /bulkQuotes/{bulkQuoteId}: get: summary: Retrieves information for a specific bulk quote description: >- @@ -2752,7 +2753,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -2807,7 +2808,7 @@ paths: subScenario: title: TransactionSubScenario type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). @@ -2881,7 +2882,7 @@ paths: balanceOfPayments: title: BalanceOfPayments type: string - pattern: '^[1-9]\d{2}$' + pattern: ^[1-9]\d{2}$ description: >- (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) @@ -2992,7 +2993,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -3177,7 +3178,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -3303,7 +3304,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -3347,7 +3348,7 @@ paths: quoteResponse: title: QuotesIDPutResponse type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' + description: The object sent in the PUT /quotes/{ID} callback. properties: *ref_56 required: *ref_57 quoteResponseSource: @@ -3360,7 +3361,7 @@ paths: fulfil: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + description: The object sent in the PUT /transfers/{ID} callback. properties: *ref_20 required: *ref_21 lastError: @@ -3370,7 +3371,7 @@ paths: type: object properties: *ref_26 '400': - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: &ref_152 application/json: schema: @@ -3381,7 +3382,7 @@ paths: '504': description: Timeout occurred processing the transfer content: *ref_17 - '/requestToPayTransfer/{requestToPayTransactionId}': + /requestToPayTransfer/{requestToPayTransactionId}: put: summary: >- Continues a transfer that has paused at the otp stage in order to accept @@ -3720,7 +3721,7 @@ paths: application/json: schema: allOf: *ref_62 - '/parties/{Type}/{ID}': + /parties/{Type}/{ID}: parameters: - name: Type in: path @@ -3754,7 +3755,7 @@ paths: schema: title: partiesByIdResponse type: object - description: 'GET /parties/{Type}/{ID} response object' + description: GET /parties/{Type}/{ID} response object properties: &ref_127 party: properties: @@ -3791,7 +3792,7 @@ paths: description: Data model for the complex type ErrorInformation. properties: *ref_63 required: *ref_64 - '/parties/{Type}/{ID}/{SubId}': + /parties/{Type}/{ID}/{SubId}: parameters: - name: Type in: path @@ -4013,7 +4014,7 @@ paths: quotes: title: QuotesIDPutResponse type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' + description: The object sent in the PUT /quotes/{ID} callback. properties: body: type: object @@ -4061,7 +4062,7 @@ paths: ilpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: >- @@ -4072,7 +4073,7 @@ paths: condition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Condition that must be attached to the transfer by @@ -4173,7 +4174,7 @@ paths: ilpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: Information for recipient (transport layer information). @@ -4182,7 +4183,7 @@ paths: condition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Condition that must be attached to the transfer by the @@ -4239,7 +4240,7 @@ paths: body: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + description: The object sent in the PUT /transfers/{ID} callback. properties: *ref_20 required: *ref_21 headers: @@ -4343,7 +4344,7 @@ components: Name: title: Name type: string - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + 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. @@ -4399,7 +4400,7 @@ components: MerchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + 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, @@ -4464,7 +4465,7 @@ components: Amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -4555,7 +4556,7 @@ components: IlpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: Information for recipient (transport layer information). @@ -4564,7 +4565,7 @@ components: IlpCondition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Condition that must be attached to the transfer by the Payer. ExtensionList: @@ -4578,13 +4579,13 @@ components: QuotesIDPutResponse: title: QuotesIDPutResponse type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' + 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}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Fulfilment that must be attached to the transfer by the Payee. example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 @@ -4607,13 +4608,13 @@ components: TransfersIDPutResponse: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + 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}$' + 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 @@ -4769,21 +4770,6 @@ components: properties: *ref_46 bulkTransactionAcceptQuoteErrorResponse: allOf: *ref_95 - 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. individualTransfer: title: IndividualTransfer type: object @@ -4862,7 +4848,7 @@ components: TransactionSubScenario: title: TransactionSubScenario type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). @@ -4899,7 +4885,7 @@ components: BalanceOfPayments: title: BalanceOfPayments type: string - pattern: '^[1-9]\d{2}$' + pattern: ^[1-9]\d{2}$ description: >- (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String @@ -4974,7 +4960,7 @@ components: partiesByIdResponse: title: partiesByIdResponse type: object - description: 'GET /parties/{Type}/{ID} response object' + description: GET /parties/{Type}/{ID} response object properties: *ref_127 required: *ref_128 QuotesPostRequest: @@ -5018,7 +5004,7 @@ components: description: Transfer completed successfully content: *ref_15 transferBadRequest: - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: *ref_143 transferServerError: description: An error occurred processing the transfer @@ -5029,13 +5015,13 @@ components: bulkTransactionAccepted: description: Bulk transfer accepted successfully bulkTransferBadRequest: - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: *ref_41 errorResponse: description: Internal Server Error content: *ref_42 bulkTransactionPutBadRequest: - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: *ref_144 bulkTransferSuccess: description: Bulk transfer completed successfully @@ -5044,7 +5030,7 @@ components: description: Bulk quote completed successfully content: *ref_146 bulkQuoteBadRequest: - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: *ref_147 bulkQuoteServerError: description: An error occurred processing the bulk quote @@ -5059,7 +5045,7 @@ components: description: Transfer completed successfully content: *ref_151 requestToPayTransferBadRequest: - description: 'Malformed or missing required body, headers or parameters' + description: Malformed or missing required body, headers or parameters content: *ref_152 accountsCreationCompleted: description: Accounts creation completed @@ -5134,7 +5120,7 @@ components: in: path required: true schema: *ref_65 - description: 'The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.' + description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. ID: name: ID in: path diff --git a/docs/thirdparty-openapi3-snippets.yaml b/docs/thirdparty-openapi3-snippets.yaml index ea6943d7..e86dc03d 100644 --- a/docs/thirdparty-openapi3-snippets.yaml +++ b/docs/thirdparty-openapi3-snippets.yaml @@ -31,7 +31,7 @@ paths: oneOf: - title: ParticipantsIDPutResponse type: object - description: 'The object sent in the PUT /participants/{ID} callback.' + description: The object sent in the PUT /participants/{ID} callback. properties: &ref_62 partyList: type: array @@ -253,7 +253,7 @@ paths: errorCode: title: ErrorCode type: string - pattern: '^[1-9]\d{3}$' + pattern: ^[1-9]\d{3}$ description: >- The API data type ErrorCode is a JSON String of four characters, consisting of digits only. @@ -497,7 +497,7 @@ paths: merchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + pattern: ^[\d]{1,4}$ description: >- A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set @@ -566,7 +566,7 @@ paths: - party - title: QuotesIDPutResponse type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' + description: The object sent in the PUT /quotes/{ID} callback. properties: &ref_84 transferAmount: title: Money @@ -587,7 +587,7 @@ paths: amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -672,7 +672,7 @@ paths: ilpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: Information for recipient (transport layer information). @@ -681,7 +681,7 @@ paths: condition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Condition that must be attached to the transfer by the @@ -808,7 +808,7 @@ paths: - ISSUED - The consent has been issued by the DFSP - title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: >- Fulfilment that must be attached to the transfer by the @@ -816,7 +816,7 @@ paths: example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - title: Integer type: string - pattern: '^[1-9]\d*$' + 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 @@ -1082,7 +1082,7 @@ paths: subScenario: title: TransactionSubScenario type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). @@ -1163,7 +1163,7 @@ paths: balanceOfPayments: title: BalanceOfPayments type: string - pattern: '^[1-9]\d{2}$' + pattern: ^[1-9]\d{2}$ description: >- (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) @@ -1228,7 +1228,7 @@ paths: responses: '200': description: Ok - '/accounts/{ID}': + /accounts/{ID}: parameters: - name: ID in: path @@ -1651,7 +1651,7 @@ paths: accountNickname: title: Name type: string - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + 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 @@ -1697,7 +1697,7 @@ paths: 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_~\-])$' + pattern: ^([0-9A-Za-z_~\-\.]+[0-9A-Za-z_~\-])$ minLength: 1 maxLength: 1023 currency: @@ -1769,7 +1769,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/accounts/{ID}/error': + /accounts/{ID}/error: parameters: - name: ID in: path @@ -2224,7 +2224,7 @@ paths: 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_~\-])$' + pattern: ^([0-9A-Za-z_~\-\.]+[0-9A-Za-z_~\-])$ minLength: 1 maxLength: 1023 actions: @@ -2278,7 +2278,7 @@ paths: callbackUri: title: Uri type: string - pattern: '^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?' + pattern: ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? minLength: 1 maxLength: 512 description: > @@ -2334,7 +2334,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/consentRequests/{ID}': + /consentRequests/{ID}: parameters: - name: ID in: path @@ -2752,7 +2752,7 @@ paths: properties: &ref_114 authToken: type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + 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 @@ -2805,7 +2805,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/consentRequests/{ID}/error': + /consentRequests/{ID}/error: parameters: - name: ID in: path @@ -3200,7 +3200,7 @@ paths: properties: &ref_56 publicKey: type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ description: >- The API data type BinaryString is a JSON String. The string is a base64url encoding @@ -3212,7 +3212,7 @@ paths: characters. signature: type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ description: >- The API data type BinaryString is a JSON String. The string is a base64url encoding @@ -3446,7 +3446,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/consents/{ID}': + /consents/{ID}: parameters: - name: ID in: path @@ -4061,7 +4061,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/consents/{ID}/error': + /consents/{ID}/error: parameters: - name: ID in: path @@ -4384,7 +4384,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/participants/{ID}': + /participants/{ID}: parameters: - name: ID in: path @@ -4504,7 +4504,7 @@ paths: schema: title: ParticipantsIDPutResponse type: object - description: 'The object sent in the PUT /participants/{ID} callback.' + description: The object sent in the PUT /participants/{ID} callback. properties: *ref_62 required: *ref_63 responses: @@ -4542,7 +4542,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/participants/{ID}/error': + /participants/{ID}/error: parameters: - name: ID in: path @@ -4704,7 +4704,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/participants/{Type}/{ID}': + /participants/{Type}/{ID}: parameters: - name: Type in: path @@ -5106,7 +5106,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/participants/{Type}/{ID}/error': + /participants/{Type}/{ID}/error: parameters: - name: Type in: path @@ -5275,14 +5275,14 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/services/{ServiceType}': + /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`' + description: The type of the service identifier. For example, `THIRD_PARTY_DFSP` - name: Content-Type in: header schema: *ref_35 @@ -5520,13 +5520,13 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/services/{ServiceType}/error': + /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`' + description: The type of the service identifier. For example, `THIRD_PARTY_DFSP` - name: Content-Type in: header schema: *ref_35 @@ -5876,7 +5876,7 @@ paths: 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.' + description: SEND for sendAmount, RECEIVE for receiveAmount. amount: allOf: - title: Money @@ -5956,7 +5956,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/thirdpartyRequests/transactions/{ID}': + /thirdpartyRequests/transactions/{ID}: parameters: - name: ID in: path @@ -6317,7 +6317,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/thirdpartyRequests/transactions/{ID}/error': + /thirdpartyRequests/transactions/{ID}/error: parameters: - name: ID in: path @@ -6788,7 +6788,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/thirdpartyRequests/authorizations/{ID}': + /thirdpartyRequests/authorizations/{ID}: parameters: - name: ID in: path @@ -7152,7 +7152,7 @@ paths: private key genericSignedPayload: type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + 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 @@ -7212,7 +7212,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/thirdpartyRequests/authorizations/{ID}/error': + /thirdpartyRequests/authorizations/{ID}/error: parameters: - name: ID in: path @@ -7660,7 +7660,7 @@ paths: private key genericSignedPayload: type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + 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 @@ -7717,7 +7717,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/thirdpartyRequests/verifications/{ID}': + /thirdpartyRequests/verifications/{ID}: parameters: - name: ID in: path @@ -7971,7 +7971,7 @@ paths: description: Service Unavailable content: *ref_32 headers: *ref_33 - '/thirdpartyRequests/verifications/{ID}/error': + /thirdpartyRequests/verifications/{ID}/error: parameters: - name: ID in: path @@ -8306,7 +8306,7 @@ components: ErrorCode: title: ErrorCode type: string - pattern: '^[1-9]\d{3}$' + 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 @@ -8348,13 +8348,13 @@ components: ParticipantsIDPutResponse: title: ParticipantsIDPutResponse type: object - description: 'The object sent in the PUT /participants/{ID} callback.' + description: The object sent in the PUT /participants/{ID} callback. properties: *ref_62 required: *ref_63 MerchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + 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, @@ -8436,7 +8436,7 @@ components: Amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + 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 @@ -8495,7 +8495,7 @@ components: IlpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: Information for recipient (transport layer information). @@ -8504,13 +8504,13 @@ components: IlpCondition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + 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.' + description: The object sent in the PUT /quotes/{ID} callback. properties: *ref_84 required: *ref_85 TransactionRequestState: @@ -8571,14 +8571,14 @@ components: IlpFulfilment: title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Fulfilment that must be attached to the transfer by the Payee. example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 Integer: title: Integer type: string - pattern: '^[1-9]\d*$' + 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 @@ -8681,7 +8681,7 @@ components: TransactionSubScenario: title: TransactionSubScenario type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). @@ -8729,7 +8729,7 @@ components: BalanceOfPayments: title: BalanceOfPayments type: string - pattern: '^[1-9]\d{2}$' + pattern: ^[1-9]\d{2}$ description: >- (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String @@ -8758,7 +8758,7 @@ components: Name: title: Name type: string - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + 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. @@ -8798,7 +8798,7 @@ components: 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_~\-])$' + pattern: ^([0-9A-Za-z_~\-\.]+[0-9A-Za-z_~\-])$ minLength: 1 maxLength: 1023 Account: @@ -8885,7 +8885,7 @@ components: Uri: title: Uri type: string - pattern: '^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?' + pattern: ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))? minLength: 1 maxLength: 512 description: > @@ -8953,7 +8953,7 @@ components: additionalProperties: false BinaryString: type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + 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 @@ -9470,13 +9470,13 @@ components: in: path required: true schema: *ref_64 - description: 'The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.' + description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. ServiceType: name: ServiceType in: path required: true schema: *ref_65 - description: 'The type of the service identifier. For example, `THIRD_PARTY_DFSP`' + description: The type of the service identifier. For example, `THIRD_PARTY_DFSP` responses: '200': description: OK diff --git a/package-lock.json b/package-lock.json index 7eeeb4fc..7a341b3d 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,7 +10,7 @@ "license": "Apache-2.0", "dependencies": { "@apidevtools/json-schema-ref-parser": "^9.0.9", - "commander": "^9.4.0", + "commander": "^9.4.1", "jest-ts-auto-mock": "^2.1.0", "js-yaml": "^4.1.0", "json-refs": "^3.0.15", @@ -23,11 +23,11 @@ "@commitlint/cli": "^17.1.2", "@commitlint/config-conventional": "^17.1.0", "@redocly/openapi-cli": "^1.0.0-beta.94", - "@types/jest": "^29.0.3", - "@typescript-eslint/eslint-plugin": "^5.38.0", - "@typescript-eslint/parser": "^5.38.0", + "@types/jest": "^29.1.1", + "@typescript-eslint/eslint-plugin": "^5.38.1", + "@typescript-eslint/parser": "^5.38.1", "diff": "^5.1.0", - "eslint": "^8.23.1", + "eslint": "^8.24.0", "eslint-config-prettier": "^8.5.0", "eslint-config-standard": "^17.0.0", "eslint-import-resolver-typescript": "^3.5.1", @@ -38,18 +38,18 @@ "eslint-plugin-promise": "^6.0.1", "eslint-plugin-standard": "^5.0.0", "husky": "4.3.8", - "jest": "^29.0.3", + "jest": "^29.1.2", "jest-junit": "^14.0.1", "lint-staged": "^13.0.3", "npm-audit-resolver": "^3.0.0-7", - "npm-check-updates": "^16.2.1", + "npm-check-updates": "^16.3.4", "prettier": "^2.7.1", "standard-version": "^9.5.0", "swagger-cli": "^4.0.4", - "ts-jest": "^29.0.1", + "ts-jest": "^29.0.3", "ts-node": "^10.9.1", "tslib": "^2.4.0", - "typescript": "^4.8.3" + "typescript": "^4.8.4" }, "engines": { "node": "=16.x" @@ -1288,9 +1288,9 @@ "dev": true }, "node_modules/@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "dev": true, "dependencies": { "@humanwhocodes/object-schema": "^1.2.1", @@ -1439,16 +1439,16 @@ } }, "node_modules/@jest/console": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.0.3.tgz", - "integrity": "sha512-cGg0r+klVHSYnfE977S9wmpuQ9L+iYuYgL+5bPXiUlUynLLYunRxswEmhBzvrSKGof5AKiHuTTmUKAqRcDY9dg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz", + "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.0.3", - "jest-util": "^29.0.3", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", "slash": "^3.0.0" }, "engines": { @@ -1456,16 +1456,16 @@ } }, "node_modules/@jest/core": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.0.3.tgz", - "integrity": "sha512-1d0hLbOrM1qQE3eP3DtakeMbKTcXiXP3afWxqz103xPyddS2NhnNghS7MaXx1dcDt4/6p4nlhmeILo2ofgi8cQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz", + "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==", "dev": true, "dependencies": { - "@jest/console": "^29.0.3", - "@jest/reporters": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/console": "^29.1.2", + "@jest/reporters": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -1473,20 +1473,20 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.0.0", - "jest-config": "^29.0.3", - "jest-haste-map": "^29.0.3", - "jest-message-util": "^29.0.3", + "jest-config": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.3", - "jest-resolve-dependencies": "^29.0.3", - "jest-runner": "^29.0.3", - "jest-runtime": "^29.0.3", - "jest-snapshot": "^29.0.3", - "jest-util": "^29.0.3", - "jest-validate": "^29.0.3", - "jest-watcher": "^29.0.3", + "jest-resolve": "^29.1.2", + "jest-resolve-dependencies": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "jest-watcher": "^29.1.2", "micromatch": "^4.0.4", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "strip-ansi": "^6.0.0" }, @@ -1503,37 +1503,37 @@ } }, "node_modules/@jest/environment": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.3.tgz", - "integrity": "sha512-iKl272NKxYNQNqXMQandAIwjhQaGw5uJfGXduu8dS9llHi8jV2ChWrtOAVPnMbaaoDhnI3wgUGNDvZgHeEJQCA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", + "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", "dev": true, "dependencies": { - "@jest/fake-timers": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-mock": "^29.0.3" + "jest-mock": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.0.3.tgz", - "integrity": "sha512-6W7K+fsI23FQ01H/BWccPyDZFrnU9QlzDcKOjrNVU5L8yUORFAJJIpmyxWPW70+X624KUNqzZwPThPMX28aXEQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==", "dev": true, "dependencies": { - "expect": "^29.0.3", - "jest-snapshot": "^29.0.3" + "expect": "^29.1.2", + "jest-snapshot": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/expect-utils": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.3.tgz", - "integrity": "sha512-i1xUkau7K/63MpdwiRqaxgZOjxYs4f0WMTGJnYwUKubsNRZSeQbLorS7+I4uXVF9KQ5r61BUPAUMZ7Lf66l64Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", "dev": true, "dependencies": { "jest-get-type": "^29.0.0" @@ -1543,48 +1543,48 @@ } }, "node_modules/@jest/fake-timers": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.3.tgz", - "integrity": "sha512-tmbUIo03x0TdtcZCESQ0oQSakPCpo7+s6+9mU19dd71MptkP4zCwoeZqna23//pgbhtT1Wq02VmA9Z9cNtvtCQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", + "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.0.3", - "jest-mock": "^29.0.3", - "jest-util": "^29.0.3" + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/globals": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.3.tgz", - "integrity": "sha512-YqGHT65rFY2siPIHHFjuCGUsbzRjdqkwbat+Of6DmYRg5shIXXrLdZoVE/+TJ9O1dsKsFmYhU58JvIbZRU1Z9w==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz", + "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==", "dev": true, "dependencies": { - "@jest/environment": "^29.0.3", - "@jest/expect": "^29.0.3", - "@jest/types": "^29.0.3", - "jest-mock": "^29.0.3" + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/types": "^29.1.2", + "jest-mock": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/@jest/reporters": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.0.3.tgz", - "integrity": "sha512-3+QU3d4aiyOWfmk1obDerie4XNCaD5Xo1IlKNde2yGEi02WQD+ZQD0i5Hgqm1e73sMV7kw6pMlCnprtEwEVwxw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz", + "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==", "dev": true, "dependencies": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/console": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", @@ -1597,9 +1597,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.0.3", - "jest-util": "^29.0.3", - "jest-worker": "^29.0.3", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -1645,13 +1645,13 @@ } }, "node_modules/@jest/test-result": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.0.3.tgz", - "integrity": "sha512-vViVnQjCgTmbhDKEonKJPtcFe9G/CJO4/Np4XwYJah+lF2oI7KKeRp8t1dFvv44wN2NdbDb/qC6pi++Vpp0Dlg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz", + "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==", "dev": true, "dependencies": { - "@jest/console": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/console": "^29.1.2", + "@jest/types": "^29.1.2", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" }, @@ -1660,14 +1660,14 @@ } }, "node_modules/@jest/test-sequencer": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.0.3.tgz", - "integrity": "sha512-Hf4+xYSWZdxTNnhDykr8JBs0yBN/nxOXyUQWfotBUqqy0LF9vzcFB0jm/EDNZCx587znLWTIgxcokW7WeZMobQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz", + "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==", "dev": true, "dependencies": { - "@jest/test-result": "^29.0.3", + "@jest/test-result": "^29.1.2", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.3", + "jest-haste-map": "^29.1.2", "slash": "^3.0.0" }, "engines": { @@ -1675,22 +1675,22 @@ } }, "node_modules/@jest/transform": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.0.3.tgz", - "integrity": "sha512-C5ihFTRYaGDbi/xbRQRdbo5ddGtI4VSpmL6AIcZxdhwLbXMa7PcXxxqyI91vGOFHnn5aVM3WYnYKCHEqmLVGzg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz", + "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.3", + "jest-haste-map": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-util": "^29.0.3", + "jest-util": "^29.1.2", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -1701,9 +1701,9 @@ } }, "node_modules/@jest/types": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.3.tgz", - "integrity": "sha512-coBJmOQvurXjN1Hh5PzF7cmsod0zLIOXpP8KD161mqNlroMhLcwpODiEzi7ZsRl5Z/AIuxpeNm8DCl43F4kz8A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -2264,9 +2264,9 @@ } }, "node_modules/@types/jest": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.0.3.tgz", - "integrity": "sha512-F6ukyCTwbfsEX5F2YmVYmM5TcTHy1q9P5rWlRbrk56KyMh3v9xRGUO3aa8+SkvMi0SHXtASJv1283enXimC0Og==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", "dev": true, "dependencies": { "expect": "^29.0.0", @@ -2329,9 +2329,9 @@ "dev": true }, "node_modules/@types/prettier": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz", - "integrity": "sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", "dev": true }, "node_modules/@types/responselike": { @@ -2365,14 +2365,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz", - "integrity": "sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", + "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.38.0", - "@typescript-eslint/type-utils": "5.38.0", - "@typescript-eslint/utils": "5.38.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/type-utils": "5.38.1", + "@typescript-eslint/utils": "5.38.1", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -2397,14 +2397,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.0.tgz", - "integrity": "sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", + "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.38.0", - "@typescript-eslint/types": "5.38.0", - "@typescript-eslint/typescript-estree": "5.38.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", "debug": "^4.3.4" }, "engines": { @@ -2424,13 +2424,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.0.tgz", - "integrity": "sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", + "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.0", - "@typescript-eslint/visitor-keys": "5.38.0" + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2441,13 +2441,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.0.tgz", - "integrity": "sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", + "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.38.0", - "@typescript-eslint/utils": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/utils": "5.38.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2468,9 +2468,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.0.tgz", - "integrity": "sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", + "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2481,13 +2481,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.0.tgz", - "integrity": "sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", + "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.0", - "@typescript-eslint/visitor-keys": "5.38.0", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2508,15 +2508,15 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.0.tgz", - "integrity": "sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", + "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.38.0", - "@typescript-eslint/types": "5.38.0", - "@typescript-eslint/typescript-estree": "5.38.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" }, @@ -2532,12 +2532,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.0.tgz", - "integrity": "sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", + "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/types": "5.38.1", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -2901,12 +2901,12 @@ } }, "node_modules/babel-jest": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.0.3.tgz", - "integrity": "sha512-ApPyHSOhS/sVzwUOQIWJmdvDhBsMG01HX9z7ogtkp1TToHGGUWFlnXJUIzCgKPSfiYLn3ibipCYzsKSURHEwLg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz", + "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==", "dev": true, "dependencies": { - "@jest/transform": "^29.0.3", + "@jest/transform": "^29.1.2", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.0.2", @@ -3694,9 +3694,9 @@ } }, "node_modules/commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==", "engines": { "node": "^12.20.0 || >=14" } @@ -4850,13 +4850,13 @@ } }, "node_modules/eslint": { - "version": "8.23.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz", - "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "dependencies": { "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/config-array": "^0.10.5", "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", @@ -5601,16 +5601,16 @@ } }, "node_modules/expect": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.3.tgz", - "integrity": "sha512-t8l5DTws3212VbmPL+tBFXhjRHLmctHB0oQbL8eUc6S7NzZtYUhycrFO9mkxA0ZUC6FAWdNi7JchJSkODtcu1Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", "dev": true, "dependencies": { - "@jest/expect-utils": "^29.0.3", + "@jest/expect-utils": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-util": "^29.0.3" + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -5686,9 +5686,9 @@ } }, "node_modules/fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "dependencies": { "bser": "2.1.1" @@ -7288,15 +7288,15 @@ } }, "node_modules/jest": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.0.3.tgz", - "integrity": "sha512-ElgUtJBLgXM1E8L6K1RW1T96R897YY/3lRYqq9uVcPWtP2AAl/nQ16IYDh/FzQOOQ12VEuLdcPU83mbhG2C3PQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==", "dev": true, "dependencies": { - "@jest/core": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/core": "^29.1.2", + "@jest/types": "^29.1.2", "import-local": "^3.0.2", - "jest-cli": "^29.0.3" + "jest-cli": "^29.1.2" }, "bin": { "jest": "bin/jest.js" @@ -7327,28 +7327,28 @@ } }, "node_modules/jest-circus": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.0.3.tgz", - "integrity": "sha512-QeGzagC6Hw5pP+df1+aoF8+FBSgkPmraC1UdkeunWh0jmrp7wC0Hr6umdUAOELBQmxtKAOMNC3KAdjmCds92Zg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz", + "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==", "dev": true, "dependencies": { - "@jest/environment": "^29.0.3", - "@jest/expect": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.0.3", - "jest-matcher-utils": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-runtime": "^29.0.3", - "jest-snapshot": "^29.0.3", - "jest-util": "^29.0.3", + "jest-each": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", "p-limit": "^3.1.0", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -7357,21 +7357,21 @@ } }, "node_modules/jest-cli": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.0.3.tgz", - "integrity": "sha512-aUy9Gd/Kut1z80eBzG10jAn6BgS3BoBbXyv+uXEqBJ8wnnuZ5RpNfARoskSrTIy1GY4a8f32YGuCMwibtkl9CQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz", + "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==", "dev": true, "dependencies": { - "@jest/core": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/core": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.0.3", - "jest-util": "^29.0.3", - "jest-validate": "^29.0.3", + "jest-config": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "prompts": "^2.0.1", "yargs": "^17.3.1" }, @@ -7391,31 +7391,31 @@ } }, "node_modules/jest-config": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.0.3.tgz", - "integrity": "sha512-U5qkc82HHVYe3fNu2CRXLN4g761Na26rWKf7CjM8LlZB3In1jadEkZdMwsE37rd9RSPV0NfYaCjHdk/gu3v+Ew==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz", + "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.0.3", - "@jest/types": "^29.0.3", - "babel-jest": "^29.0.3", + "@jest/test-sequencer": "^29.1.2", + "@jest/types": "^29.1.2", + "babel-jest": "^29.1.2", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.0.3", - "jest-environment-node": "^29.0.3", + "jest-circus": "^29.1.2", + "jest-environment-node": "^29.1.2", "jest-get-type": "^29.0.0", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.3", - "jest-runner": "^29.0.3", - "jest-util": "^29.0.3", - "jest-validate": "^29.0.3", + "jest-resolve": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" }, @@ -7436,15 +7436,15 @@ } }, "node_modules/jest-diff": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.3.tgz", - "integrity": "sha512-+X/AIF5G/vX9fWK+Db9bi9BQas7M9oBME7egU7psbn4jlszLFCu0dW63UgeE6cs/GANq4fLaT+8sGHQQ0eCUfg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", "dev": true, "dependencies": { "chalk": "^4.0.0", "diff-sequences": "^29.0.0", "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.3" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7463,33 +7463,33 @@ } }, "node_modules/jest-each": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.0.3.tgz", - "integrity": "sha512-wILhZfESURHHBNvPMJ0lZlYZrvOQJxAo3wNHi+ycr90V7M+uGR9Gh4+4a/BmaZF0XTyZsk4OiYEf3GJN7Ltqzg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz", + "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "chalk": "^4.0.0", "jest-get-type": "^29.0.0", - "jest-util": "^29.0.3", - "pretty-format": "^29.0.3" + "jest-util": "^29.1.2", + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-environment-node": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.3.tgz", - "integrity": "sha512-cdZqRCnmIlTXC+9vtvmfiY/40Cj6s2T0czXuq1whvQdmpzAnj4sbqVYuZ4zFHk766xTTJ+Ij3uUqkk8KCfXoyg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", + "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", "dev": true, "dependencies": { - "@jest/environment": "^29.0.3", - "@jest/fake-timers": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-mock": "^29.0.3", - "jest-util": "^29.0.3" + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7505,20 +7505,20 @@ } }, "node_modules/jest-haste-map": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.0.3.tgz", - "integrity": "sha512-uMqR99+GuBHo0RjRhOE4iA6LmsxEwRdgiIAQgMU/wdT2XebsLDz5obIwLZm/Psj+GwSEQhw9AfAVKGYbh2G55A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz", + "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", "fb-watchman": "^2.0.0", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.0.0", - "jest-util": "^29.0.3", - "jest-worker": "^29.0.3", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", "micromatch": "^4.0.4", "walker": "^1.0.8" }, @@ -7545,46 +7545,46 @@ } }, "node_modules/jest-leak-detector": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.0.3.tgz", - "integrity": "sha512-YfW/G63dAuiuQ3QmQlh8hnqLDe25WFY3eQhuc/Ev1AGmkw5zREblTh7TCSKLoheyggu6G9gxO2hY8p9o6xbaRQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz", + "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==", "dev": true, "dependencies": { "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.3" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-matcher-utils": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.3.tgz", - "integrity": "sha512-RsR1+cZ6p1hDV4GSCQTg+9qjeotQCgkaleIKLK7dm+U4V/H2bWedU3RAtLm8+mANzZ7eDV33dMar4pejd7047w==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", "dev": true, "dependencies": { "chalk": "^4.0.0", - "jest-diff": "^29.0.3", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.3" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-message-util": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.3.tgz", - "integrity": "sha512-7T8JiUTtDfppojosORAflABfLsLKMLkBHSWkjNQrjIltGoDzNGn7wEPOSfjqYAGTYME65esQzMJxGDjuLBKdOg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", "dev": true, "dependencies": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" }, @@ -7593,13 +7593,14 @@ } }, "node_modules/jest-mock": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.3.tgz", - "integrity": "sha512-ort9pYowltbcrCVR43wdlqfAiFJXBx8l4uJDsD8U72LgBcetvEp+Qxj1W9ZYgMRoeAo+ov5cnAGF2B6+Oth+ww==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", + "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", - "@types/node": "*" + "@jest/types": "^29.1.2", + "@types/node": "*", + "jest-util": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7632,17 +7633,17 @@ } }, "node_modules/jest-resolve": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.0.3.tgz", - "integrity": "sha512-toVkia85Y/BPAjJasTC9zIPY6MmVXQPtrCk8SmiheC4MwVFE/CMFlOtMN6jrwPMC6TtNh8+sTMllasFeu1wMPg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz", + "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==", "dev": true, "dependencies": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.3", + "jest-haste-map": "^29.1.2", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.0.3", - "jest-validate": "^29.0.3", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" @@ -7652,43 +7653,43 @@ } }, "node_modules/jest-resolve-dependencies": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.0.3.tgz", - "integrity": "sha512-KzuBnXqNvbuCdoJpv8EanbIGObk7vUBNt/PwQPPx2aMhlv/jaXpUJsqWYRpP/0a50faMBY7WFFP8S3/CCzwfDw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz", + "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==", "dev": true, "dependencies": { "jest-regex-util": "^29.0.0", - "jest-snapshot": "^29.0.3" + "jest-snapshot": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" } }, "node_modules/jest-runner": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.0.3.tgz", - "integrity": "sha512-Usu6VlTOZlCZoNuh3b2Tv/yzDpKqtiNAetG9t3kJuHfUyVMNW7ipCCJOUojzKkjPoaN7Bl1f7Buu6PE0sGpQxw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz", + "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==", "dev": true, "dependencies": { - "@jest/console": "^29.0.3", - "@jest/environment": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/console": "^29.1.2", + "@jest/environment": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", "jest-docblock": "^29.0.0", - "jest-environment-node": "^29.0.3", - "jest-haste-map": "^29.0.3", - "jest-leak-detector": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-resolve": "^29.0.3", - "jest-runtime": "^29.0.3", - "jest-util": "^29.0.3", - "jest-watcher": "^29.0.3", - "jest-worker": "^29.0.3", + "jest-environment-node": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-leak-detector": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-resolve": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-util": "^29.1.2", + "jest-watcher": "^29.1.2", + "jest-worker": "^29.1.2", "p-limit": "^3.1.0", "source-map-support": "0.5.13" }, @@ -7697,31 +7698,31 @@ } }, "node_modules/jest-runtime": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.0.3.tgz", - "integrity": "sha512-12gZXRQ7ozEeEHKTY45a+YLqzNDR/x4c//X6AqwKwKJPpWM8FY4vwn4VQJOcLRS3Nd1fWwgP7LU4SoynhuUMHQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz", + "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==", "dev": true, "dependencies": { - "@jest/environment": "^29.0.3", - "@jest/fake-timers": "^29.0.3", - "@jest/globals": "^29.0.3", + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/globals": "^29.1.2", "@jest/source-map": "^29.0.0", - "@jest/test-result": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-mock": "^29.0.3", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.3", - "jest-snapshot": "^29.0.3", - "jest-util": "^29.0.3", + "jest-resolve": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", "slash": "^3.0.0", "strip-bom": "^4.0.0" }, @@ -7730,9 +7731,9 @@ } }, "node_modules/jest-snapshot": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.0.3.tgz", - "integrity": "sha512-52q6JChm04U3deq+mkQ7R/7uy7YyfVIrebMi6ZkBoDJ85yEjm/sJwdr1P0LOIEHmpyLlXrxy3QP0Zf5J2kj0ew==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz", + "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==", "dev": true, "dependencies": { "@babel/core": "^7.11.6", @@ -7741,23 +7742,23 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/expect-utils": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.0.3", + "expect": "^29.1.2", "graceful-fs": "^4.2.9", - "jest-diff": "^29.0.3", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-haste-map": "^29.0.3", - "jest-matcher-utils": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-util": "^29.0.3", + "jest-haste-map": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", "natural-compare": "^1.4.0", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "semver": "^7.3.5" }, "engines": { @@ -7773,12 +7774,12 @@ } }, "node_modules/jest-util": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.3.tgz", - "integrity": "sha512-Q0xaG3YRG8QiTC4R6fHjHQPaPpz9pJBEi0AeOE4mQh/FuWOijFjGXMMOfQEaU9i3z76cNR7FobZZUQnL6IyfdQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -7790,17 +7791,17 @@ } }, "node_modules/jest-validate": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.0.3.tgz", - "integrity": "sha512-OebiqqT6lK8cbMPtrSoS3aZP4juID762lZvpf1u+smZnwTEBCBInan0GAIIhv36MxGaJvmq5uJm7dl5gVt+Zrw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz", + "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==", "dev": true, "dependencies": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.0.0", "leven": "^3.1.0", - "pretty-format": "^29.0.3" + "pretty-format": "^29.1.2" }, "engines": { "node": "^14.15.0 || ^16.10.0 || >=18.0.0" @@ -7819,18 +7820,18 @@ } }, "node_modules/jest-watcher": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.0.3.tgz", - "integrity": "sha512-tQX9lU91A+9tyUQKUMp0Ns8xAcdhC9fo73eqA3LFxP2bSgiF49TNcc+vf3qgGYYK9qRjFpXW9+4RgF/mbxyOOw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz", + "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==", "dev": true, "dependencies": { - "@jest/test-result": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^29.0.3", + "jest-util": "^29.1.2", "string-length": "^4.0.1" }, "engines": { @@ -7838,12 +7839,13 @@ } }, "node_modules/jest-worker": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.3.tgz", - "integrity": "sha512-Tl/YWUugQOjoTYwjKdfJWkSOfhufJHO5LhXTSZC3TRoQKO+fuXnZAdoXXBlpLXKGODBL3OvdUasfDD4PcMe6ng==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", + "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", "dev": true, "dependencies": { "@types/node": "*", + "jest-util": "^29.1.2", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -9245,9 +9247,9 @@ } }, "node_modules/npm-check-updates": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.2.1.tgz", - "integrity": "sha512-WPKs8BZeSQMFfK9ABk4ZtdcWYG1J9LjtQ8nOBZ2aZc0kejlJtBchZHkyezuQbWcJQDW06zyforgjG5/ts+zh4w==", + "version": "16.3.4", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.3.4.tgz", + "integrity": "sha512-PDkd+KRhgzsB01c9dCo8O/Aad98ODb7aRxPamg+QOUXEdi/CcbItynxdCvHx9r1AXoMm0w1zixHeUZf8ktBwqQ==", "dev": true, "dependencies": { "chalk": "^5.0.1", @@ -10129,9 +10131,9 @@ } }, "node_modules/pretty-format": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.3.tgz", - "integrity": "sha512-cHudsvQr1K5vNVLbvYF/nv3Qy/F/BcEKxGuIeMiVMRHxPOO1RxXooP8g/ZrwAp7Dx+KdMZoOc7NxLHhMrP2f9Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", "dev": true, "dependencies": { "@jest/schemas": "^29.0.0", @@ -11944,9 +11946,9 @@ } }, "node_modules/ts-jest": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.1.tgz", - "integrity": "sha512-htQOHshgvhn93QLxrmxpiQPk69+M1g7govO1g6kf6GsjCv4uvRV0znVmDrrvjUrVCnTYeY4FBxTYYYD4airyJA==", + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", "dev": true, "dependencies": { "bs-logger": "0.x", @@ -12170,9 +12172,9 @@ } }, "node_modules/typescript": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", - "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==", + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==", "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -13828,9 +13830,9 @@ "dev": true }, "@humanwhocodes/config-array": { - "version": "0.10.4", - "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.4.tgz", - "integrity": "sha512-mXAIHxZT3Vcpg83opl1wGlVZ9xydbfZO3r5YfRSH6Gpp2J/PfdBP0wbDa2sO6/qRbcalpoevVyW6A/fI6LfeMw==", + "version": "0.10.7", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.10.7.tgz", + "integrity": "sha512-MDl6D6sBsaV452/QSdX+4CXIjZhIcI0PELsxUjk4U828yd58vk3bTIvk/6w5FY+4hIy9sLW0sfrV7K7Kc++j/w==", "dev": true, "requires": { "@humanwhocodes/object-schema": "^1.2.1", @@ -13940,30 +13942,30 @@ "dev": true }, "@jest/console": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.0.3.tgz", - "integrity": "sha512-cGg0r+klVHSYnfE977S9wmpuQ9L+iYuYgL+5bPXiUlUynLLYunRxswEmhBzvrSKGof5AKiHuTTmUKAqRcDY9dg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.1.2.tgz", + "integrity": "sha512-ujEBCcYs82BTmRxqfHMQggSlkUZP63AE5YEaTPj7eFyJOzukkTorstOUC7L6nE3w5SYadGVAnTsQ/ZjTGL0qYQ==", "dev": true, "requires": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", - "jest-message-util": "^29.0.3", - "jest-util": "^29.0.3", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", "slash": "^3.0.0" } }, "@jest/core": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.0.3.tgz", - "integrity": "sha512-1d0hLbOrM1qQE3eP3DtakeMbKTcXiXP3afWxqz103xPyddS2NhnNghS7MaXx1dcDt4/6p4nlhmeILo2ofgi8cQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.1.2.tgz", + "integrity": "sha512-sCO2Va1gikvQU2ynDN8V4+6wB7iVrD2CvT0zaRst4rglf56yLly0NQ9nuRRAWFeimRf+tCdFsb1Vk1N9LrrMPA==", "dev": true, "requires": { - "@jest/console": "^29.0.3", - "@jest/reporters": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/console": "^29.1.2", + "@jest/reporters": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", @@ -13971,92 +13973,92 @@ "exit": "^0.1.2", "graceful-fs": "^4.2.9", "jest-changed-files": "^29.0.0", - "jest-config": "^29.0.3", - "jest-haste-map": "^29.0.3", - "jest-message-util": "^29.0.3", + "jest-config": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.3", - "jest-resolve-dependencies": "^29.0.3", - "jest-runner": "^29.0.3", - "jest-runtime": "^29.0.3", - "jest-snapshot": "^29.0.3", - "jest-util": "^29.0.3", - "jest-validate": "^29.0.3", - "jest-watcher": "^29.0.3", + "jest-resolve": "^29.1.2", + "jest-resolve-dependencies": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", + "jest-watcher": "^29.1.2", "micromatch": "^4.0.4", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "strip-ansi": "^6.0.0" } }, "@jest/environment": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.0.3.tgz", - "integrity": "sha512-iKl272NKxYNQNqXMQandAIwjhQaGw5uJfGXduu8dS9llHi8jV2ChWrtOAVPnMbaaoDhnI3wgUGNDvZgHeEJQCA==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.1.2.tgz", + "integrity": "sha512-rG7xZ2UeOfvOVzoLIJ0ZmvPl4tBEQ2n73CZJSlzUjPw4or1oSWC0s0Rk0ZX+pIBJ04aVr6hLWFn1DFtrnf8MhQ==", "dev": true, "requires": { - "@jest/fake-timers": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-mock": "^29.0.3" + "jest-mock": "^29.1.2" } }, "@jest/expect": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.0.3.tgz", - "integrity": "sha512-6W7K+fsI23FQ01H/BWccPyDZFrnU9QlzDcKOjrNVU5L8yUORFAJJIpmyxWPW70+X624KUNqzZwPThPMX28aXEQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-FXw/UmaZsyfRyvZw3M6POgSNqwmuOXJuzdNiMWW9LCYo0GRoRDhg+R5iq5higmRTHQY7hx32+j7WHwinRmoILQ==", "dev": true, "requires": { - "expect": "^29.0.3", - "jest-snapshot": "^29.0.3" + "expect": "^29.1.2", + "jest-snapshot": "^29.1.2" } }, "@jest/expect-utils": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.0.3.tgz", - "integrity": "sha512-i1xUkau7K/63MpdwiRqaxgZOjxYs4f0WMTGJnYwUKubsNRZSeQbLorS7+I4uXVF9KQ5r61BUPAUMZ7Lf66l64Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.1.2.tgz", + "integrity": "sha512-4a48bhKfGj/KAH39u0ppzNTABXQ8QPccWAFUFobWBaEMSMp+sB31Z2fK/l47c4a/Mu1po2ffmfAIPxXbVTXdtg==", "dev": true, "requires": { "jest-get-type": "^29.0.0" } }, "@jest/fake-timers": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.0.3.tgz", - "integrity": "sha512-tmbUIo03x0TdtcZCESQ0oQSakPCpo7+s6+9mU19dd71MptkP4zCwoeZqna23//pgbhtT1Wq02VmA9Z9cNtvtCQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.1.2.tgz", + "integrity": "sha512-GppaEqS+QQYegedxVMpCe2xCXxxeYwQ7RsNx55zc8f+1q1qevkZGKequfTASI7ejmg9WwI+SJCrHe9X11bLL9Q==", "dev": true, "requires": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@sinonjs/fake-timers": "^9.1.2", "@types/node": "*", - "jest-message-util": "^29.0.3", - "jest-mock": "^29.0.3", - "jest-util": "^29.0.3" + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" } }, "@jest/globals": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.0.3.tgz", - "integrity": "sha512-YqGHT65rFY2siPIHHFjuCGUsbzRjdqkwbat+Of6DmYRg5shIXXrLdZoVE/+TJ9O1dsKsFmYhU58JvIbZRU1Z9w==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.1.2.tgz", + "integrity": "sha512-uMgfERpJYoQmykAd0ffyMq8wignN4SvLUG6orJQRe9WAlTRc9cdpCaE/29qurXixYJVZWUqIBXhSk8v5xN1V9g==", "dev": true, "requires": { - "@jest/environment": "^29.0.3", - "@jest/expect": "^29.0.3", - "@jest/types": "^29.0.3", - "jest-mock": "^29.0.3" + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/types": "^29.1.2", + "jest-mock": "^29.1.2" } }, "@jest/reporters": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.0.3.tgz", - "integrity": "sha512-3+QU3d4aiyOWfmk1obDerie4XNCaD5Xo1IlKNde2yGEi02WQD+ZQD0i5Hgqm1e73sMV7kw6pMlCnprtEwEVwxw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.1.2.tgz", + "integrity": "sha512-X4fiwwyxy9mnfpxL0g9DD0KcTmEIqP0jUdnc2cfa9riHy+I6Gwwp5vOZiwyg0vZxfSDxrOlK9S4+340W4d+DAA==", "dev": true, "requires": { "@bcoe/v8-coverage": "^0.2.3", - "@jest/console": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/console": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@jridgewell/trace-mapping": "^0.3.15", "@types/node": "*", "chalk": "^4.0.0", @@ -14069,9 +14071,9 @@ "istanbul-lib-report": "^3.0.0", "istanbul-lib-source-maps": "^4.0.0", "istanbul-reports": "^3.1.3", - "jest-message-util": "^29.0.3", - "jest-util": "^29.0.3", - "jest-worker": "^29.0.3", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", "slash": "^3.0.0", "string-length": "^4.0.1", "strip-ansi": "^6.0.0", @@ -14100,46 +14102,46 @@ } }, "@jest/test-result": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.0.3.tgz", - "integrity": "sha512-vViVnQjCgTmbhDKEonKJPtcFe9G/CJO4/Np4XwYJah+lF2oI7KKeRp8t1dFvv44wN2NdbDb/qC6pi++Vpp0Dlg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.1.2.tgz", + "integrity": "sha512-jjYYjjumCJjH9hHCoMhA8PCl1OxNeGgAoZ7yuGYILRJX9NjgzTN0pCT5qAoYR4jfOP8htIByvAlz9vfNSSBoVg==", "dev": true, "requires": { - "@jest/console": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/console": "^29.1.2", + "@jest/types": "^29.1.2", "@types/istanbul-lib-coverage": "^2.0.0", "collect-v8-coverage": "^1.0.0" } }, "@jest/test-sequencer": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.0.3.tgz", - "integrity": "sha512-Hf4+xYSWZdxTNnhDykr8JBs0yBN/nxOXyUQWfotBUqqy0LF9vzcFB0jm/EDNZCx587znLWTIgxcokW7WeZMobQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.1.2.tgz", + "integrity": "sha512-fU6dsUqqm8sA+cd85BmeF7Gu9DsXVWFdGn9taxM6xN1cKdcP/ivSgXh5QucFRFz1oZxKv3/9DYYbq0ULly3P/Q==", "dev": true, "requires": { - "@jest/test-result": "^29.0.3", + "@jest/test-result": "^29.1.2", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.3", + "jest-haste-map": "^29.1.2", "slash": "^3.0.0" } }, "@jest/transform": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.0.3.tgz", - "integrity": "sha512-C5ihFTRYaGDbi/xbRQRdbo5ddGtI4VSpmL6AIcZxdhwLbXMa7PcXxxqyI91vGOFHnn5aVM3WYnYKCHEqmLVGzg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.1.2.tgz", + "integrity": "sha512-2uaUuVHTitmkx1tHF+eBjb4p7UuzBG7SXIaA/hNIkaMP6K+gXYGxP38ZcrofzqN0HeZ7A90oqsOa97WU7WZkSw==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@jridgewell/trace-mapping": "^0.3.15", "babel-plugin-istanbul": "^6.1.1", "chalk": "^4.0.0", "convert-source-map": "^1.4.0", "fast-json-stable-stringify": "^2.1.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.3", + "jest-haste-map": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-util": "^29.0.3", + "jest-util": "^29.1.2", "micromatch": "^4.0.4", "pirates": "^4.0.4", "slash": "^3.0.0", @@ -14147,9 +14149,9 @@ } }, "@jest/types": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.0.3.tgz", - "integrity": "sha512-coBJmOQvurXjN1Hh5PzF7cmsod0zLIOXpP8KD161mqNlroMhLcwpODiEzi7ZsRl5Z/AIuxpeNm8DCl43F4kz8A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.1.2.tgz", + "integrity": "sha512-DcXGtoTykQB5jiwCmVr8H4vdg2OJhQex3qPkG+ISyDO7xQXbt/4R6dowcRyPemRnkH7JoHvZuxPBdlq+9JxFCg==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -14621,9 +14623,9 @@ } }, "@types/jest": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.0.3.tgz", - "integrity": "sha512-F6ukyCTwbfsEX5F2YmVYmM5TcTHy1q9P5rWlRbrk56KyMh3v9xRGUO3aa8+SkvMi0SHXtASJv1283enXimC0Og==", + "version": "29.1.1", + "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.1.1.tgz", + "integrity": "sha512-U9Ey07dGWl6fUFaIaUQUKWG5NoKi/zizeVQCGV8s4nSU0jPgqphVZvS64+8BtWYvrc3ZGw6wo943NSYPxkrp/g==", "dev": true, "requires": { "expect": "^29.0.0", @@ -14686,9 +14688,9 @@ "dev": true }, "@types/prettier": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.0.tgz", - "integrity": "sha512-RI1L7N4JnW5gQw2spvL7Sllfuf1SaHdrZpCHiBlCXjIlufi1SMNnbu2teze3/QE67Fg2tBlH7W+mi4hVNk4p0A==", + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.1.tgz", + "integrity": "sha512-ri0UmynRRvZiiUJdiz38MmIblKK+oH30MztdBVR95dv/Ubw6neWSb8u1XpRb72L4qsZOhz+L+z9JD40SJmfWow==", "dev": true }, "@types/responselike": { @@ -14722,14 +14724,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.0.tgz", - "integrity": "sha512-GgHi/GNuUbTOeoJiEANi0oI6fF3gBQc3bGFYj40nnAPCbhrtEDf2rjBmefFadweBmO1Du1YovHeDP2h5JLhtTQ==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.38.1.tgz", + "integrity": "sha512-ky7EFzPhqz3XlhS7vPOoMDaQnQMn+9o5ICR9CPr/6bw8HrFkzhMSxuA3gRfiJVvs7geYrSeawGJjZoZQKCOglQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.38.0", - "@typescript-eslint/type-utils": "5.38.0", - "@typescript-eslint/utils": "5.38.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/type-utils": "5.38.1", + "@typescript-eslint/utils": "5.38.1", "debug": "^4.3.4", "ignore": "^5.2.0", "regexpp": "^3.2.0", @@ -14738,53 +14740,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.0.tgz", - "integrity": "sha512-/F63giJGLDr0ms1Cr8utDAxP2SPiglaD6V+pCOcG35P2jCqdfR7uuEhz1GIC3oy4hkUF8xA1XSXmd9hOh/a5EA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.38.1.tgz", + "integrity": "sha512-LDqxZBVFFQnQRz9rUZJhLmox+Ep5kdUmLatLQnCRR6523YV+XhRjfYzStQ4MheFA8kMAfUlclHSbu+RKdRwQKw==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.38.0", - "@typescript-eslint/types": "5.38.0", - "@typescript-eslint/typescript-estree": "5.38.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.0.tgz", - "integrity": "sha512-ByhHIuNyKD9giwkkLqzezZ9y5bALW8VNY6xXcP+VxoH4JBDKjU5WNnsiD4HJdglHECdV+lyaxhvQjTUbRboiTA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.38.1.tgz", + "integrity": "sha512-BfRDq5RidVU3RbqApKmS7RFMtkyWMM50qWnDAkKgQiezRtLKsoyRKIvz1Ok5ilRWeD9IuHvaidaLxvGx/2eqTQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.0", - "@typescript-eslint/visitor-keys": "5.38.0" + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1" } }, "@typescript-eslint/type-utils": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.0.tgz", - "integrity": "sha512-iZq5USgybUcj/lfnbuelJ0j3K9dbs1I3RICAJY9NZZpDgBYXmuUlYQGzftpQA9wC8cKgtS6DASTvF3HrXwwozA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.38.1.tgz", + "integrity": "sha512-UU3j43TM66gYtzo15ivK2ZFoDFKKP0k03MItzLdq0zV92CeGCXRfXlfQX5ILdd4/DSpHkSjIgLLLh1NtkOJOAw==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.38.0", - "@typescript-eslint/utils": "5.38.0", + "@typescript-eslint/typescript-estree": "5.38.1", + "@typescript-eslint/utils": "5.38.1", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.0.tgz", - "integrity": "sha512-HHu4yMjJ7i3Cb+8NUuRCdOGu2VMkfmKyIJsOr9PfkBVYLYrtMCK/Ap50Rpov+iKpxDTfnqvDbuPLgBE5FwUNfA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.38.1.tgz", + "integrity": "sha512-QTW1iHq1Tffp9lNfbfPm4WJabbvpyaehQ0SrvVK2yfV79SytD9XDVxqiPvdrv2LK7DGSFo91TB2FgWanbJAZXg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.0.tgz", - "integrity": "sha512-6P0RuphkR+UuV7Avv7MU3hFoWaGcrgOdi8eTe1NwhMp2/GjUJoODBTRWzlHpZh6lFOaPmSvgxGlROa0Sg5Zbyg==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.38.1.tgz", + "integrity": "sha512-99b5e/Enoe8fKMLdSuwrfH/C0EIbpUWmeEKHmQlGZb8msY33qn1KlkFww0z26o5Omx7EVjzVDCWEfrfCDHfE7g==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.0", - "@typescript-eslint/visitor-keys": "5.38.0", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/visitor-keys": "5.38.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -14793,26 +14795,26 @@ } }, "@typescript-eslint/utils": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.0.tgz", - "integrity": "sha512-6sdeYaBgk9Fh7N2unEXGz+D+som2QCQGPAf1SxrkEr+Z32gMreQ0rparXTNGRRfYUWk/JzbGdcM8NSSd6oqnTA==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.38.1.tgz", + "integrity": "sha512-oIuUiVxPBsndrN81oP8tXnFa/+EcZ03qLqPDfSZ5xIJVm7A9V0rlkQwwBOAGtrdN70ZKDlKv+l1BeT4eSFxwXA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", - "@typescript-eslint/scope-manager": "5.38.0", - "@typescript-eslint/types": "5.38.0", - "@typescript-eslint/typescript-estree": "5.38.0", + "@typescript-eslint/scope-manager": "5.38.1", + "@typescript-eslint/types": "5.38.1", + "@typescript-eslint/typescript-estree": "5.38.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0" } }, "@typescript-eslint/visitor-keys": { - "version": "5.38.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.0.tgz", - "integrity": "sha512-MxnrdIyArnTi+XyFLR+kt/uNAcdOnmT+879os7qDRI+EYySR4crXJq9BXPfRzzLGq0wgxkwidrCJ9WCAoacm1w==", + "version": "5.38.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.38.1.tgz", + "integrity": "sha512-bSHr1rRxXt54+j2n4k54p4fj8AHJ49VDWtjpImOpzQj4qjAiOpPni+V1Tyajh19Api1i844F757cur8wH3YvOA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.38.0", + "@typescript-eslint/types": "5.38.1", "eslint-visitor-keys": "^3.3.0" } }, @@ -15090,12 +15092,12 @@ } }, "babel-jest": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.0.3.tgz", - "integrity": "sha512-ApPyHSOhS/sVzwUOQIWJmdvDhBsMG01HX9z7ogtkp1TToHGGUWFlnXJUIzCgKPSfiYLn3ibipCYzsKSURHEwLg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.1.2.tgz", + "integrity": "sha512-IuG+F3HTHryJb7gacC7SQ59A9kO56BctUsT67uJHp1mMCHUOMXpDwOHWGifWqdWVknN2WNkCVQELPjXx0aLJ9Q==", "dev": true, "requires": { - "@jest/transform": "^29.0.3", + "@jest/transform": "^29.1.2", "@types/babel__core": "^7.1.14", "babel-plugin-istanbul": "^6.1.1", "babel-preset-jest": "^29.0.2", @@ -15678,9 +15680,9 @@ } }, "commander": { - "version": "9.4.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" + "version": "9.4.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.1.tgz", + "integrity": "sha512-5EEkTNyHNGFPD2H+c/dXXfQZYa/scCKasxWcXJaWnNJ99pnQN9Vnmqow+p+PlFPE63Q6mThaZws1T+HxfpgtPw==" }, "compare-func": { "version": "2.0.0", @@ -16566,13 +16568,13 @@ "dev": true }, "eslint": { - "version": "8.23.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.23.1.tgz", - "integrity": "sha512-w7C1IXCc6fNqjpuYd0yPlcTKKmHlHHktRkzmBPZ+7cvNBQuiNjx0xaMTjAJGCafJhQkrFJooREv0CtrVzmHwqg==", + "version": "8.24.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.24.0.tgz", + "integrity": "sha512-dWFaPhGhTAiPcCgm3f6LI2MBWbogMnTJzFBbhXVRQDJPkr9pGZvVjlVfXd+vyDcWPA2Ic9L2AXPIQM0+vk/cSQ==", "dev": true, "requires": { "@eslint/eslintrc": "^1.3.2", - "@humanwhocodes/config-array": "^0.10.4", + "@humanwhocodes/config-array": "^0.10.5", "@humanwhocodes/gitignore-to-minimatch": "^1.0.2", "@humanwhocodes/module-importer": "^1.0.1", "ajv": "^6.10.0", @@ -17090,16 +17092,16 @@ "dev": true }, "expect": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/expect/-/expect-29.0.3.tgz", - "integrity": "sha512-t8l5DTws3212VbmPL+tBFXhjRHLmctHB0oQbL8eUc6S7NzZtYUhycrFO9mkxA0ZUC6FAWdNi7JchJSkODtcu1Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/expect/-/expect-29.1.2.tgz", + "integrity": "sha512-AuAGn1uxva5YBbBlXb+2JPxJRuemZsmlGcapPXWNSBNsQtAULfjioREGBWuI0EOvYUKjDnrCy8PW5Zlr1md5mw==", "dev": true, "requires": { - "@jest/expect-utils": "^29.0.3", + "@jest/expect-utils": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-matcher-utils": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-util": "^29.0.3" + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2" } }, "expected-node-version": { @@ -17166,9 +17168,9 @@ } }, "fb-watchman": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.1.tgz", - "integrity": "sha512-DkPJKQeY6kKwmuMretBhr7G6Vodr7bFwDYTXIkfG1gjvNpaxBTQV3PbXg6bR1c1UP4jPOX0jHUbbHANL9vRjVg==", + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz", + "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==", "dev": true, "requires": { "bser": "2.1.1" @@ -18337,15 +18339,15 @@ } }, "jest": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest/-/jest-29.0.3.tgz", - "integrity": "sha512-ElgUtJBLgXM1E8L6K1RW1T96R897YY/3lRYqq9uVcPWtP2AAl/nQ16IYDh/FzQOOQ12VEuLdcPU83mbhG2C3PQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest/-/jest-29.1.2.tgz", + "integrity": "sha512-5wEIPpCezgORnqf+rCaYD1SK+mNN7NsstWzIsuvsnrhR/hSxXWd82oI7DkrbJ+XTD28/eG8SmxdGvukrGGK6Tw==", "dev": true, "requires": { - "@jest/core": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/core": "^29.1.2", + "@jest/types": "^29.1.2", "import-local": "^3.0.2", - "jest-cli": "^29.0.3" + "jest-cli": "^29.1.2" } }, "jest-changed-files": { @@ -18359,92 +18361,92 @@ } }, "jest-circus": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.0.3.tgz", - "integrity": "sha512-QeGzagC6Hw5pP+df1+aoF8+FBSgkPmraC1UdkeunWh0jmrp7wC0Hr6umdUAOELBQmxtKAOMNC3KAdjmCds92Zg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.1.2.tgz", + "integrity": "sha512-ajQOdxY6mT9GtnfJRZBRYS7toNIJayiiyjDyoZcnvPRUPwJ58JX0ci0PKAKUo2C1RyzlHw0jabjLGKksO42JGA==", "dev": true, "requires": { - "@jest/environment": "^29.0.3", - "@jest/expect": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/environment": "^29.1.2", + "@jest/expect": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "co": "^4.6.0", "dedent": "^0.7.0", "is-generator-fn": "^2.0.0", - "jest-each": "^29.0.3", - "jest-matcher-utils": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-runtime": "^29.0.3", - "jest-snapshot": "^29.0.3", - "jest-util": "^29.0.3", + "jest-each": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", "p-limit": "^3.1.0", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-cli": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.0.3.tgz", - "integrity": "sha512-aUy9Gd/Kut1z80eBzG10jAn6BgS3BoBbXyv+uXEqBJ8wnnuZ5RpNfARoskSrTIy1GY4a8f32YGuCMwibtkl9CQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.1.2.tgz", + "integrity": "sha512-vsvBfQ7oS2o4MJdAH+4u9z76Vw5Q8WBQF5MchDbkylNknZdrPTX1Ix7YRJyTlOWqRaS7ue/cEAn+E4V1MWyMzw==", "dev": true, "requires": { - "@jest/core": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/core": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "chalk": "^4.0.0", "exit": "^0.1.2", "graceful-fs": "^4.2.9", "import-local": "^3.0.2", - "jest-config": "^29.0.3", - "jest-util": "^29.0.3", - "jest-validate": "^29.0.3", + "jest-config": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "prompts": "^2.0.1", "yargs": "^17.3.1" } }, "jest-config": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.0.3.tgz", - "integrity": "sha512-U5qkc82HHVYe3fNu2CRXLN4g761Na26rWKf7CjM8LlZB3In1jadEkZdMwsE37rd9RSPV0NfYaCjHdk/gu3v+Ew==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.1.2.tgz", + "integrity": "sha512-EC3Zi86HJUOz+2YWQcJYQXlf0zuBhJoeyxLM6vb6qJsVmpP7KcCP1JnyF0iaqTaXdBP8Rlwsvs7hnKWQWWLwwA==", "dev": true, "requires": { "@babel/core": "^7.11.6", - "@jest/test-sequencer": "^29.0.3", - "@jest/types": "^29.0.3", - "babel-jest": "^29.0.3", + "@jest/test-sequencer": "^29.1.2", + "@jest/types": "^29.1.2", + "babel-jest": "^29.1.2", "chalk": "^4.0.0", "ci-info": "^3.2.0", "deepmerge": "^4.2.2", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-circus": "^29.0.3", - "jest-environment-node": "^29.0.3", + "jest-circus": "^29.1.2", + "jest-environment-node": "^29.1.2", "jest-get-type": "^29.0.0", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.3", - "jest-runner": "^29.0.3", - "jest-util": "^29.0.3", - "jest-validate": "^29.0.3", + "jest-resolve": "^29.1.2", + "jest-runner": "^29.1.2", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "micromatch": "^4.0.4", "parse-json": "^5.2.0", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "strip-json-comments": "^3.1.1" } }, "jest-diff": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.0.3.tgz", - "integrity": "sha512-+X/AIF5G/vX9fWK+Db9bi9BQas7M9oBME7egU7psbn4jlszLFCu0dW63UgeE6cs/GANq4fLaT+8sGHQQ0eCUfg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.1.2.tgz", + "integrity": "sha512-4GQts0aUopVvecIT4IwD/7xsBaMhKTYoM4/njE/aVw9wpw+pIUVp8Vab/KnSzSilr84GnLBkaP3JLDnQYCKqVQ==", "dev": true, "requires": { "chalk": "^4.0.0", "diff-sequences": "^29.0.0", "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.3" + "pretty-format": "^29.1.2" } }, "jest-docblock": { @@ -18457,30 +18459,30 @@ } }, "jest-each": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.0.3.tgz", - "integrity": "sha512-wILhZfESURHHBNvPMJ0lZlYZrvOQJxAo3wNHi+ycr90V7M+uGR9Gh4+4a/BmaZF0XTyZsk4OiYEf3GJN7Ltqzg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.1.2.tgz", + "integrity": "sha512-AmTQp9b2etNeEwMyr4jc0Ql/LIX/dhbgP21gHAizya2X6rUspHn2gysMXaj6iwWuOJ2sYRgP8c1P4cXswgvS1A==", "dev": true, "requires": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "chalk": "^4.0.0", "jest-get-type": "^29.0.0", - "jest-util": "^29.0.3", - "pretty-format": "^29.0.3" + "jest-util": "^29.1.2", + "pretty-format": "^29.1.2" } }, "jest-environment-node": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.0.3.tgz", - "integrity": "sha512-cdZqRCnmIlTXC+9vtvmfiY/40Cj6s2T0czXuq1whvQdmpzAnj4sbqVYuZ4zFHk766xTTJ+Ij3uUqkk8KCfXoyg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.1.2.tgz", + "integrity": "sha512-C59yVbdpY8682u6k/lh8SUMDJPbOyCHOTgLVVi1USWFxtNV+J8fyIwzkg+RJIVI30EKhKiAGNxYaFr3z6eyNhQ==", "dev": true, "requires": { - "@jest/environment": "^29.0.3", - "@jest/fake-timers": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", - "jest-mock": "^29.0.3", - "jest-util": "^29.0.3" + "jest-mock": "^29.1.2", + "jest-util": "^29.1.2" } }, "jest-get-type": { @@ -18490,12 +18492,12 @@ "dev": true }, "jest-haste-map": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.0.3.tgz", - "integrity": "sha512-uMqR99+GuBHo0RjRhOE4iA6LmsxEwRdgiIAQgMU/wdT2XebsLDz5obIwLZm/Psj+GwSEQhw9AfAVKGYbh2G55A==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.1.2.tgz", + "integrity": "sha512-xSjbY8/BF11Jh3hGSPfYTa/qBFrm3TPM7WU8pU93m2gqzORVLkHFWvuZmFsTEBPRKndfewXhMOuzJNHyJIZGsw==", "dev": true, "requires": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@types/graceful-fs": "^4.1.3", "@types/node": "*", "anymatch": "^3.0.3", @@ -18503,8 +18505,8 @@ "fsevents": "^2.3.2", "graceful-fs": "^4.2.9", "jest-regex-util": "^29.0.0", - "jest-util": "^29.0.3", - "jest-worker": "^29.0.3", + "jest-util": "^29.1.2", + "jest-worker": "^29.1.2", "micromatch": "^4.0.4", "walker": "^1.0.8" } @@ -18522,52 +18524,53 @@ } }, "jest-leak-detector": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.0.3.tgz", - "integrity": "sha512-YfW/G63dAuiuQ3QmQlh8hnqLDe25WFY3eQhuc/Ev1AGmkw5zREblTh7TCSKLoheyggu6G9gxO2hY8p9o6xbaRQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.1.2.tgz", + "integrity": "sha512-TG5gAZJpgmZtjb6oWxBLf2N6CfQ73iwCe6cofu/Uqv9iiAm6g502CAnGtxQaTfpHECBdVEMRBhomSXeLnoKjiQ==", "dev": true, "requires": { "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.3" + "pretty-format": "^29.1.2" } }, "jest-matcher-utils": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.0.3.tgz", - "integrity": "sha512-RsR1+cZ6p1hDV4GSCQTg+9qjeotQCgkaleIKLK7dm+U4V/H2bWedU3RAtLm8+mANzZ7eDV33dMar4pejd7047w==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.1.2.tgz", + "integrity": "sha512-MV5XrD3qYSW2zZSHRRceFzqJ39B2z11Qv0KPyZYxnzDHFeYZGJlgGi0SW+IXSJfOewgJp/Km/7lpcFT+cgZypw==", "dev": true, "requires": { "chalk": "^4.0.0", - "jest-diff": "^29.0.3", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "pretty-format": "^29.0.3" + "pretty-format": "^29.1.2" } }, "jest-message-util": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.0.3.tgz", - "integrity": "sha512-7T8JiUTtDfppojosORAflABfLsLKMLkBHSWkjNQrjIltGoDzNGn7wEPOSfjqYAGTYME65esQzMJxGDjuLBKdOg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.1.2.tgz", + "integrity": "sha512-9oJ2Os+Qh6IlxLpmvshVbGUiSkZVc2FK+uGOm6tghafnB2RyjKAxMZhtxThRMxfX1J1SOMhTn9oK3/MutRWQJQ==", "dev": true, "requires": { "@babel/code-frame": "^7.12.13", - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@types/stack-utils": "^2.0.0", "chalk": "^4.0.0", "graceful-fs": "^4.2.9", "micromatch": "^4.0.4", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "slash": "^3.0.0", "stack-utils": "^2.0.3" } }, "jest-mock": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.0.3.tgz", - "integrity": "sha512-ort9pYowltbcrCVR43wdlqfAiFJXBx8l4uJDsD8U72LgBcetvEp+Qxj1W9ZYgMRoeAo+ov5cnAGF2B6+Oth+ww==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.1.2.tgz", + "integrity": "sha512-PFDAdjjWbjPUtQPkQufvniXIS3N9Tv7tbibePEjIIprzjgo0qQlyUiVMrT4vL8FaSJo1QXifQUOuPH3HQC/aMA==", "dev": true, "requires": { - "@jest/types": "^29.0.3", - "@types/node": "*" + "@jest/types": "^29.1.2", + "@types/node": "*", + "jest-util": "^29.1.2" } }, "jest-pnp-resolver": { @@ -18584,95 +18587,95 @@ "dev": true }, "jest-resolve": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.0.3.tgz", - "integrity": "sha512-toVkia85Y/BPAjJasTC9zIPY6MmVXQPtrCk8SmiheC4MwVFE/CMFlOtMN6jrwPMC6TtNh8+sTMllasFeu1wMPg==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.1.2.tgz", + "integrity": "sha512-7fcOr+k7UYSVRJYhSmJHIid3AnDBcLQX3VmT9OSbPWsWz1MfT7bcoerMhADKGvKCoMpOHUQaDHtQoNp/P9JMGg==", "dev": true, "requires": { "chalk": "^4.0.0", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.3", + "jest-haste-map": "^29.1.2", "jest-pnp-resolver": "^1.2.2", - "jest-util": "^29.0.3", - "jest-validate": "^29.0.3", + "jest-util": "^29.1.2", + "jest-validate": "^29.1.2", "resolve": "^1.20.0", "resolve.exports": "^1.1.0", "slash": "^3.0.0" } }, "jest-resolve-dependencies": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.0.3.tgz", - "integrity": "sha512-KzuBnXqNvbuCdoJpv8EanbIGObk7vUBNt/PwQPPx2aMhlv/jaXpUJsqWYRpP/0a50faMBY7WFFP8S3/CCzwfDw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.1.2.tgz", + "integrity": "sha512-44yYi+yHqNmH3OoWZvPgmeeiwKxhKV/0CfrzaKLSkZG9gT973PX8i+m8j6pDrTYhhHoiKfF3YUFg/6AeuHw4HQ==", "dev": true, "requires": { "jest-regex-util": "^29.0.0", - "jest-snapshot": "^29.0.3" + "jest-snapshot": "^29.1.2" } }, "jest-runner": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.0.3.tgz", - "integrity": "sha512-Usu6VlTOZlCZoNuh3b2Tv/yzDpKqtiNAetG9t3kJuHfUyVMNW7ipCCJOUojzKkjPoaN7Bl1f7Buu6PE0sGpQxw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.1.2.tgz", + "integrity": "sha512-yy3LEWw8KuBCmg7sCGDIqKwJlULBuNIQa2eFSVgVASWdXbMYZ9H/X0tnXt70XFoGf92W2sOQDOIFAA6f2BG04Q==", "dev": true, "requires": { - "@jest/console": "^29.0.3", - "@jest/environment": "^29.0.3", - "@jest/test-result": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/console": "^29.1.2", + "@jest/environment": "^29.1.2", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "emittery": "^0.10.2", "graceful-fs": "^4.2.9", "jest-docblock": "^29.0.0", - "jest-environment-node": "^29.0.3", - "jest-haste-map": "^29.0.3", - "jest-leak-detector": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-resolve": "^29.0.3", - "jest-runtime": "^29.0.3", - "jest-util": "^29.0.3", - "jest-watcher": "^29.0.3", - "jest-worker": "^29.0.3", + "jest-environment-node": "^29.1.2", + "jest-haste-map": "^29.1.2", + "jest-leak-detector": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-resolve": "^29.1.2", + "jest-runtime": "^29.1.2", + "jest-util": "^29.1.2", + "jest-watcher": "^29.1.2", + "jest-worker": "^29.1.2", "p-limit": "^3.1.0", "source-map-support": "0.5.13" } }, "jest-runtime": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.0.3.tgz", - "integrity": "sha512-12gZXRQ7ozEeEHKTY45a+YLqzNDR/x4c//X6AqwKwKJPpWM8FY4vwn4VQJOcLRS3Nd1fWwgP7LU4SoynhuUMHQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.1.2.tgz", + "integrity": "sha512-jr8VJLIf+cYc+8hbrpt412n5jX3tiXmpPSYTGnwcvNemY+EOuLNiYnHJ3Kp25rkaAcTWOEI4ZdOIQcwYcXIAZw==", "dev": true, "requires": { - "@jest/environment": "^29.0.3", - "@jest/fake-timers": "^29.0.3", - "@jest/globals": "^29.0.3", + "@jest/environment": "^29.1.2", + "@jest/fake-timers": "^29.1.2", + "@jest/globals": "^29.1.2", "@jest/source-map": "^29.0.0", - "@jest/test-result": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/test-result": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "cjs-module-lexer": "^1.0.0", "collect-v8-coverage": "^1.0.0", "glob": "^7.1.3", "graceful-fs": "^4.2.9", - "jest-haste-map": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-mock": "^29.0.3", + "jest-haste-map": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-mock": "^29.1.2", "jest-regex-util": "^29.0.0", - "jest-resolve": "^29.0.3", - "jest-snapshot": "^29.0.3", - "jest-util": "^29.0.3", + "jest-resolve": "^29.1.2", + "jest-snapshot": "^29.1.2", + "jest-util": "^29.1.2", "slash": "^3.0.0", "strip-bom": "^4.0.0" } }, "jest-snapshot": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.0.3.tgz", - "integrity": "sha512-52q6JChm04U3deq+mkQ7R/7uy7YyfVIrebMi6ZkBoDJ85yEjm/sJwdr1P0LOIEHmpyLlXrxy3QP0Zf5J2kj0ew==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.1.2.tgz", + "integrity": "sha512-rYFomGpVMdBlfwTYxkUp3sjD6usptvZcONFYNqVlaz4EpHPnDvlWjvmOQ9OCSNKqYZqLM2aS3wq01tWujLg7gg==", "dev": true, "requires": { "@babel/core": "^7.11.6", @@ -18681,23 +18684,23 @@ "@babel/plugin-syntax-typescript": "^7.7.2", "@babel/traverse": "^7.7.2", "@babel/types": "^7.3.3", - "@jest/expect-utils": "^29.0.3", - "@jest/transform": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/expect-utils": "^29.1.2", + "@jest/transform": "^29.1.2", + "@jest/types": "^29.1.2", "@types/babel__traverse": "^7.0.6", "@types/prettier": "^2.1.5", "babel-preset-current-node-syntax": "^1.0.0", "chalk": "^4.0.0", - "expect": "^29.0.3", + "expect": "^29.1.2", "graceful-fs": "^4.2.9", - "jest-diff": "^29.0.3", + "jest-diff": "^29.1.2", "jest-get-type": "^29.0.0", - "jest-haste-map": "^29.0.3", - "jest-matcher-utils": "^29.0.3", - "jest-message-util": "^29.0.3", - "jest-util": "^29.0.3", + "jest-haste-map": "^29.1.2", + "jest-matcher-utils": "^29.1.2", + "jest-message-util": "^29.1.2", + "jest-util": "^29.1.2", "natural-compare": "^1.4.0", - "pretty-format": "^29.0.3", + "pretty-format": "^29.1.2", "semver": "^7.3.5" } }, @@ -18708,12 +18711,12 @@ "requires": {} }, "jest-util": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.0.3.tgz", - "integrity": "sha512-Q0xaG3YRG8QiTC4R6fHjHQPaPpz9pJBEi0AeOE4mQh/FuWOijFjGXMMOfQEaU9i3z76cNR7FobZZUQnL6IyfdQ==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.1.2.tgz", + "integrity": "sha512-vPCk9F353i0Ymx3WQq3+a4lZ07NXu9Ca8wya6o4Fe4/aO1e1awMMprZ3woPFpKwghEOW+UXgd15vVotuNN9ONQ==", "dev": true, "requires": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "@types/node": "*", "chalk": "^4.0.0", "ci-info": "^3.2.0", @@ -18722,17 +18725,17 @@ } }, "jest-validate": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.0.3.tgz", - "integrity": "sha512-OebiqqT6lK8cbMPtrSoS3aZP4juID762lZvpf1u+smZnwTEBCBInan0GAIIhv36MxGaJvmq5uJm7dl5gVt+Zrw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.1.2.tgz", + "integrity": "sha512-k71pOslNlV8fVyI+mEySy2pq9KdXdgZtm7NHrBX8LghJayc3wWZH0Yr0mtYNGaCU4F1OLPXRkwZR0dBm/ClshA==", "dev": true, "requires": { - "@jest/types": "^29.0.3", + "@jest/types": "^29.1.2", "camelcase": "^6.2.0", "chalk": "^4.0.0", "jest-get-type": "^29.0.0", "leven": "^3.1.0", - "pretty-format": "^29.0.3" + "pretty-format": "^29.1.2" }, "dependencies": { "camelcase": { @@ -18744,28 +18747,29 @@ } }, "jest-watcher": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.0.3.tgz", - "integrity": "sha512-tQX9lU91A+9tyUQKUMp0Ns8xAcdhC9fo73eqA3LFxP2bSgiF49TNcc+vf3qgGYYK9qRjFpXW9+4RgF/mbxyOOw==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.1.2.tgz", + "integrity": "sha512-6JUIUKVdAvcxC6bM8/dMgqY2N4lbT+jZVsxh0hCJRbwkIEnbr/aPjMQ28fNDI5lB51Klh00MWZZeVf27KBUj5w==", "dev": true, "requires": { - "@jest/test-result": "^29.0.3", - "@jest/types": "^29.0.3", + "@jest/test-result": "^29.1.2", + "@jest/types": "^29.1.2", "@types/node": "*", "ansi-escapes": "^4.2.1", "chalk": "^4.0.0", "emittery": "^0.10.2", - "jest-util": "^29.0.3", + "jest-util": "^29.1.2", "string-length": "^4.0.1" } }, "jest-worker": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.0.3.tgz", - "integrity": "sha512-Tl/YWUugQOjoTYwjKdfJWkSOfhufJHO5LhXTSZC3TRoQKO+fuXnZAdoXXBlpLXKGODBL3OvdUasfDD4PcMe6ng==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.1.2.tgz", + "integrity": "sha512-AdTZJxKjTSPHbXT/AIOjQVmoFx0LHFcVabWu0sxI7PAy7rFf8c0upyvgBKgguVXdM4vY74JdwkyD4hSmpTW8jA==", "dev": true, "requires": { "@types/node": "*", + "jest-util": "^29.1.2", "merge-stream": "^2.0.0", "supports-color": "^8.0.0" }, @@ -19821,9 +19825,9 @@ } }, "npm-check-updates": { - "version": "16.2.1", - "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.2.1.tgz", - "integrity": "sha512-WPKs8BZeSQMFfK9ABk4ZtdcWYG1J9LjtQ8nOBZ2aZc0kejlJtBchZHkyezuQbWcJQDW06zyforgjG5/ts+zh4w==", + "version": "16.3.4", + "resolved": "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-16.3.4.tgz", + "integrity": "sha512-PDkd+KRhgzsB01c9dCo8O/Aad98ODb7aRxPamg+QOUXEdi/CcbItynxdCvHx9r1AXoMm0w1zixHeUZf8ktBwqQ==", "dev": true, "requires": { "chalk": "^5.0.1", @@ -20478,9 +20482,9 @@ } }, "pretty-format": { - "version": "29.0.3", - "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.0.3.tgz", - "integrity": "sha512-cHudsvQr1K5vNVLbvYF/nv3Qy/F/BcEKxGuIeMiVMRHxPOO1RxXooP8g/ZrwAp7Dx+KdMZoOc7NxLHhMrP2f9Q==", + "version": "29.1.2", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.1.2.tgz", + "integrity": "sha512-CGJ6VVGXVRP2o2Dorl4mAwwvDWT25luIsYhkyVQW32E4nL+TgW939J7LlKT/npq5Cpq6j3s+sy+13yk7xYpBmg==", "dev": true, "requires": { "@jest/schemas": "^29.0.0", @@ -21841,9 +21845,9 @@ } }, "ts-jest": { - "version": "29.0.1", - "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.1.tgz", - "integrity": "sha512-htQOHshgvhn93QLxrmxpiQPk69+M1g7govO1g6kf6GsjCv4uvRV0znVmDrrvjUrVCnTYeY4FBxTYYYD4airyJA==", + "version": "29.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.0.3.tgz", + "integrity": "sha512-Ibygvmuyq1qp/z3yTh9QTwVVAbFdDy/+4BtIQR2sp6baF2SJU/8CKK/hhnGIDY2L90Az2jIqTwZPnN2p+BweiQ==", "dev": true, "requires": { "bs-logger": "0.x", @@ -21988,9 +21992,9 @@ } }, "typescript": { - "version": "4.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.3.tgz", - "integrity": "sha512-goMHfm00nWPa8UvR/CPSvykqf6dVV8x/dp0c5mFTMTIu0u0FlGWRioyy7Nn0PGAdHxpJZnuO/ut+PpQ8UiHAig==" + "version": "4.8.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.8.4.tgz", + "integrity": "sha512-QCh+85mCy+h0IGff8r5XWzOVSbBO+KfeYrMQh7NJ58QujwcE22u+NUSmUxqF+un70P9GXKxa2HCNiTTMJknyjQ==" }, "uglify-js": { "version": "3.15.5", diff --git a/package.json b/package.json index 4558f15e..ac2fd82e 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,7 @@ "license": "Apache-2.0", "dependencies": { "@apidevtools/json-schema-ref-parser": "^9.0.9", - "commander": "^9.4.0", + "commander": "^9.4.1", "jest-ts-auto-mock": "^2.1.0", "js-yaml": "^4.1.0", "json-refs": "^3.0.15", @@ -85,11 +85,11 @@ "@commitlint/cli": "^17.1.2", "@commitlint/config-conventional": "^17.1.0", "@redocly/openapi-cli": "^1.0.0-beta.94", - "@types/jest": "^29.0.3", - "@typescript-eslint/eslint-plugin": "^5.38.0", - "@typescript-eslint/parser": "^5.38.0", + "@types/jest": "^29.1.1", + "@typescript-eslint/eslint-plugin": "^5.38.1", + "@typescript-eslint/parser": "^5.38.1", "diff": "^5.1.0", - "eslint": "^8.23.1", + "eslint": "^8.24.0", "eslint-config-prettier": "^8.5.0", "eslint-config-standard": "^17.0.0", "eslint-import-resolver-typescript": "^3.5.1", @@ -100,18 +100,18 @@ "eslint-plugin-promise": "^6.0.1", "eslint-plugin-standard": "^5.0.0", "husky": "4.3.8", - "jest": "^29.0.3", + "jest": "^29.1.2", "jest-junit": "^14.0.1", "lint-staged": "^13.0.3", "npm-audit-resolver": "^3.0.0-7", - "npm-check-updates": "^16.2.1", + "npm-check-updates": "^16.3.4", "prettier": "^2.7.1", "standard-version": "^9.5.0", "swagger-cli": "^4.0.4", - "ts-jest": "^29.0.1", + "ts-jest": "^29.0.3", "ts-node": "^10.9.1", "tslib": "^2.4.0", - "typescript": "^4.8.3" + "typescript": "^4.8.4" }, "publishConfig": { "registry": "https://registry.npmjs.org/" diff --git a/sdk-scheme-adapter/v2_0_0/components/schemas/bulkQuoteErrorResponse.yaml b/sdk-scheme-adapter/v2_0_0/components/schemas/bulkQuoteErrorResponse.yaml index 692b357b..ea9e22ae 100644 --- a/sdk-scheme-adapter/v2_0_0/components/schemas/bulkQuoteErrorResponse.yaml +++ b/sdk-scheme-adapter/v2_0_0/components/schemas/bulkQuoteErrorResponse.yaml @@ -2,7 +2,7 @@ allOf: - $ref: ./errorResponse.yaml - type: object required: - - bulkTansferState + - bulkQuoteState properties: bulkQuoteState: $ref: ./bulkQuoteResponse.yaml diff --git a/sdk-scheme-adapter/v2_0_0/components/schemas/bulkQuoteResponse.yaml b/sdk-scheme-adapter/v2_0_0/components/schemas/bulkQuoteResponse.yaml index 45298fb2..6c6e4409 100644 --- a/sdk-scheme-adapter/v2_0_0/components/schemas/bulkQuoteResponse.yaml +++ b/sdk-scheme-adapter/v2_0_0/components/schemas/bulkQuoteResponse.yaml @@ -3,6 +3,7 @@ required: - bulkQuoteId - individualQuoteResults - currentState + - expiration properties: bulkQuoteId: $ref: ./CorrelationId.yaml diff --git a/sdk-scheme-adapter/v2_0_0/components/schemas/bulkTransactionIndividualTransferResult.yaml b/sdk-scheme-adapter/v2_0_0/components/schemas/bulkTransactionIndividualTransferResult.yaml index f826e638..cac35f6c 100644 --- a/sdk-scheme-adapter/v2_0_0/components/schemas/bulkTransactionIndividualTransferResult.yaml +++ b/sdk-scheme-adapter/v2_0_0/components/schemas/bulkTransactionIndividualTransferResult.yaml @@ -1,7 +1,6 @@ type: object required: - homeTransactionId - - transactionId - to - amountType - currency 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 ca0a383c..d1ab8871 100644 --- a/sdk-scheme-adapter/v2_0_0/components/schemas/individualTransfer.yaml +++ b/sdk-scheme-adapter/v2_0_0/components/schemas/individualTransfer.yaml @@ -15,9 +15,9 @@ properties: transactionType: $ref: ./transferTransactionType.yaml ilpPacket: - $ref: ./ilpPacket.yaml + $ref: ./IlpPacket.yaml condition: - $ref: ./ilpCondition.yaml + $ref: ./IlpCondition.yaml note: $ref: ./Note.yaml extensions: diff --git a/src/fspiop/v1_0/openapi.ts b/src/fspiop/v1_0/openapi.ts index 4780a96a..093cad69 100644 --- a/src/fspiop/v1_0/openapi.ts +++ b/src/fspiop/v1_0/openapi.ts @@ -5,3189 +5,4695 @@ export interface paths { "/interface": { + /** Essential path to include schema components that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions. */ post: operations["Interface"]; }; "/participants/{Type}/{ID}": { - post: operations["ParticipantsByIDAndType"]; + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ get: operations["ParticipantsByTypeAndID"]; + /** 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. */ put: operations["ParticipantsByTypeAndID3"]; + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). */ + post: operations["ParticipantsByIDAndType"]; + /** + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + * + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + */ delete: operations["ParticipantsByTypeAndID2"]; parameters: { path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ Type: components["parameters"]["Type"]; + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/participants/{Type}/{ID}/error": { + /** 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. */ put: operations["ParticipantsErrorByTypeAndID"]; }; "/participants/{Type}/{ID}/{SubId}": { - post: operations["ParticipantsSubIdByTypeAndIDPost"]; + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ get: operations["ParticipantsSubIdByTypeAndID"]; + /** 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. */ put: operations["ParticipantsSubIdByTypeAndID3"]; + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). */ + post: operations["ParticipantsSubIdByTypeAndIDPost"]; + /** + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + * + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + */ delete: operations["ParticipantsSubIdByTypeAndID2"]; 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"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/participants/{Type}/{ID}/{SubId}/error": { + /** 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. */ put: operations["ParticipantsSubIdErrorByTypeAndID"]; }; "/participants": { + /** The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. */ post: operations["Participants1"]; }; "/participants/{ID}": { + /** The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. */ put: operations["putParticipantsByID"]; }; "/participants/{ID}/error": { + /** If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. */ put: operations["ParticipantsByIDAndError"]; }; "/parties/{Type}/{ID}": { + /** The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). */ get: operations["PartiesByTypeAndID"]; + /** The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. */ put: operations["PartiesByTypeAndID2"]; parameters: { path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ Type: components["parameters"]["Type"]; + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/parties/{Type}/{ID}/error": { + /** If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used. */ put: operations["PartiesErrorByTypeAndID"]; }; "/parties/{Type}/{ID}/{SubId}": { + /** The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). */ get: operations["PartiesSubIdByTypeAndID"]; + /** The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. */ put: operations["PartiesSubIdByTypeAndIDPut"]; 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"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/parties/{Type}/{ID}/{SubId}/error": { + /** If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubId}/error`) is used. */ put: operations["PartiesSubIdErrorByTypeAndID"]; }; "/transactionRequests": { + /** The HTTP request `POST /transactionRequests` is used to request the creation of a transaction request for the provided financial transaction in the server. */ post: operations["TransactionRequests"]; }; "/transactionRequests/{ID}": { + /** The HTTP request `GET /transactionRequests/{ID}` is used to get information regarding a transaction request created or requested earlier. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request. */ get: operations["TransactionRequestsByID"]; + /** The callback `PUT /transactionRequests/{ID}` is used to inform the client of a requested or created transaction request. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. */ put: operations["TransactionRequestsByIDPut"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/transactionRequests/{ID}/error": { + /** If the server is unable to find or create a transaction request, or another processing error occurs, the error callback `PUT /transactionRequests/{ID}/error` is used. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. */ put: operations["TransactionRequestsErrorByID"]; }; "/quotes": { + /** The HTTP request `POST /quotes` is used to request the creation of a quote for the provided financial transaction in the server. */ post: operations["Quotes"]; }; "/quotes/{ID}": { + /** The HTTP request `GET /quotes/{ID}` is used to get information regarding a quote created or requested earlier. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote. */ get: operations["QuotesByID"]; + /** The callback `PUT /quotes/{ID}` is used to inform the client of a requested or created quote. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. */ put: operations["QuotesByID1"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/quotes/{ID}/error": { + /** If the server is unable to find or create a quote, or some other processing error occurs, the error callback `PUT /quotes/{ID}/error` is used. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. */ put: operations["QuotesByIDAndError"]; }; "/authorizations/{ID}": { + /** + * The HTTP request `GET /authorizations/{ID}` is used to request the Payer to enter the applicable credentials in the Payee FSP system. The `{ID}` in the URI should contain the `transactionRequestID`, received from the `POST /transactionRequests` service earlier in the process. This request requires a query string to be included in the URI, with the following key-value pairs*:* + * + * - `authenticationType={Type}`, where `{Type}` value is a valid authentication type from the enumeration `AuthenticationType`. + * + * - `retriesLeft=={NrOfRetries}`, where `{NrOfRetries}` is the number of retries left before the financial transaction is rejected. `{NrOfRetries}` must be expressed in the form of the data type `Integer`. `retriesLeft=1` means that this is the last retry before the financial transaction is rejected. + * + * - `amount={Amount}`, where `{Amount}` is the transaction amount that will be withdrawn from the Payer’s account. `{Amount}` must be expressed in the form of the data type `Amount`. + * + * - `currency={Currency}`, where `{Currency}` is the transaction currency for the amount that will be withdrawn from the Payer’s account. The `{Currency}` value must be expressed in the form of the enumeration `CurrencyCode`. + * + * The following is an example URI containing all the required key-value pairs in the query string*:* + * + * `GET /authorization/3d492671-b7af-4f3f-88de-76169b1bdf88?authenticationType=OTP&retriesLeft=2&amount=102¤cy=USD` + */ get: operations["AuthorizationsByIDGet"]; + /** The callback `PUT /authorizations/{ID}` is used to inform the client of the result of a previously-requested authorization. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}` request. */ put: operations["AuthorizationsByIDPut"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/authorizations/{ID}/error": { + /** If the server is unable to find the transaction request, or another processing error occurs, the error callback `PUT /authorizations/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}`. */ put: operations["AuthorizationsByIDAndError"]; }; "/transfers": { + /** The HTTP request `POST /transfers` is used to request the creation of a transfer for the next ledger, and a financial transaction for the Payee FSP. */ post: operations["transfers"]; }; "/transfers/{ID}": { + /** The HTTP request `GET /transfers/{ID}` is used to get information regarding a transfer created or requested earlier. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer. */ get: operations["TransfersByIDGet"]; + /** The callback `PUT /transfers/{ID}` is used to inform the client of a requested or created transfer. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}` request. */ put: operations["TransfersByIDPut"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/transfers/{ID}/error": { + /** If the server is unable to find or create a transfer, or another processing error occurs, the error callback `PUT /transfers/{ID}/error` is used. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}`. */ put: operations["TransfersByIDAndError"]; }; "/transactions/{ID}": { + /** The HTTP request `GET /transactions/{ID}` is used to get transaction information regarding a financial transaction created earlier. The `{ID}` in the URI should contain the `transactionId` that was used for the creation of the quote, as the transaction is created as part of another process (the transfer process). */ get: operations["TransactionsByID"]; + /** The callback `PUT /transactions/{ID}` is used to inform the client of a requested transaction. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. */ put: operations["TransactionsByID1"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/transactions/{ID}/error": { + /** If the server is unable to find or create a transaction, or another processing error occurs, the error callback `PUT /transactions/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. */ put: operations["TransactionsErrorByID"]; }; "/bulkQuotes": { + /** The HTTP request `POST /bulkQuotes` is used to request the creation of a bulk quote for the provided financial transactions in the server. */ post: operations["BulkQuotes"]; }; "/bulkQuotes/{ID}": { + /** The HTTP request `GET /bulkQuotes/{ID}` is used to get information regarding a bulk quote created or requested earlier. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. */ get: operations["BulkQuotesByID"]; + /** The callback `PUT /bulkQuotes/{ID}` is used to inform the client of a requested or created bulk quote. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. */ put: operations["BulkQuotesByID1"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/bulkQuotes/{ID}/error": { + /** If the server is unable to find or create a bulk quote, or another processing error occurs, the error callback `PUT /bulkQuotes/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. */ put: operations["BulkQuotesErrorByID"]; }; "/bulkTransfers": { + /** The HTTP request `POST /bulkTransfers` is used to request the creation of a bulk transfer in the server. */ post: operations["BulkTransfers"]; }; "/bulkTransfers/{ID}": { + /** The HTTP request `GET /bulkTransfers/{ID}` is used to get information regarding a bulk transfer created or requested earlier. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. */ get: operations["BulkTransferByID"]; + /** The callback `PUT /bulkTransfers/{ID}` is used to inform the client of a requested or created bulk transfer. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. */ put: operations["BulkTransfersByIDPut"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/bulkTransfers/{ID}/error": { + /** If the server is unable to find or create a bulk transfer, or another processing error occurs, the error callback `PUT /bulkTransfers/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. */ put: operations["BulkTransfersErrorByID"]; }; } -export interface operations { - /** - * Essential path to include schema components that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions. - */ - Interface: { - requestBody: { - "application/json": - | components["schemas"]["Amount"] - | components["schemas"]["AmountType"] - | components["schemas"]["AuthenticationInfo"] - | components["schemas"]["AuthenticationType"] - | components["schemas"]["AuthenticationValue"] - | components["schemas"]["AuthorizationResponse"] - | components["schemas"]["BalanceOfPayments"] - | components["schemas"]["BinaryString"] - | components["schemas"]["BinaryString32"] - | components["schemas"]["BulkTransferState"] - | components["schemas"]["Code"] - | components["schemas"]["CorrelationId"] - | components["schemas"]["Currency"] - | components["schemas"]["Date"] - | components["schemas"]["DateOfBirth"] - | components["schemas"]["DateTime"] - | components["schemas"]["ErrorCode"] - | components["schemas"]["ErrorDescription"] - | components["schemas"]["ExtensionKey"] - | components["schemas"]["ExtensionValue"] - | components["schemas"]["FirstName"] - | components["schemas"]["FspId"] - | components["schemas"]["IlpCondition"] - | components["schemas"]["IlpFulfilment"] - | components["schemas"]["IlpPacket"] - | components["schemas"]["IndividualQuote"] - | components["schemas"]["Integer"] - | components["schemas"]["LastName"] - | components["schemas"]["Latitude"] - | components["schemas"]["Longitude"] - | components["schemas"]["MerchantClassificationCode"] - | components["schemas"]["MiddleName"] - | components["schemas"]["Name"] - | components["schemas"]["Note"] - | components["schemas"]["OtpValue"] - | components["schemas"]["PartyIdentifier"] - | components["schemas"]["PartyIdType"] - | components["schemas"]["PartyName"] - | components["schemas"]["PartySubIdOrType"] - | components["schemas"]["PersonalIdentifierType"] - | components["schemas"]["RefundReason"] - | components["schemas"]["QRCODE"] - | components["schemas"]["TokenCode"] - | components["schemas"]["Transaction"] - | components["schemas"]["TransactionInitiator"] - | components["schemas"]["TransactionInitiatorType"] - | components["schemas"]["TransactionRequestState"] - | components["schemas"]["TransactionScenario"] - | components["schemas"]["TransactionState"] - | components["schemas"]["TransactionSubScenario"] - | components["schemas"]["TransferState"] - | components["schemas"]["UndefinedEnum"]; - }; - responses: { +export interface components { + schemas: { + /** + * 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. + */ + Amount: 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. + * @enum {string} + */ + AmountType: "SEND" | "RECEIVE"; + /** + * AuthenticationInfo + * @description Data model for the complex type AuthenticationInfo. + */ + AuthenticationInfo: { /** - * Ok + * @description Type of authentication. + * @example OTP */ - "200": unknown; - }; - }; - /** - * The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). - */ - ParticipantsByIDAndType: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ParticipantsTypeIDSubIDPostRequest"]; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - */ - ParticipantsByTypeAndID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * 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. - */ - ParticipantsByTypeAndID3: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ParticipantsTypeIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - * - * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. - */ - ParticipantsByTypeAndID2: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * 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. - */ - ParticipantsErrorByTypeAndID: { - parameters: { - path: { - Type: components["parameters"]["Type"]; - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). - */ - ParticipantsSubIdByTypeAndIDPost: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ParticipantsTypeIDSubIDPostRequest"]; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - */ - ParticipantsSubIdByTypeAndID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * 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. - */ - ParticipantsSubIdByTypeAndID3: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ParticipantsTypeIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - * - * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. - */ - ParticipantsSubIdByTypeAndID2: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * 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. - */ - ParticipantsSubIdErrorByTypeAndID: { - parameters: { - path: { - Type: components["parameters"]["Type"]; - ID: components["parameters"]["ID"]; - SubId: components["parameters"]["SubId"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. - */ - Participants1: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ParticipantsPostRequest"]; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + authentication: string; + /** + * @description Authentication value. + * @example 1234 + */ + authenticationValue: string; }; - }; - /** - * The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. - */ - putParticipantsByID: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ParticipantsIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. - */ - ParticipantsByIDAndError: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). - */ - PartiesByTypeAndID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. - */ - PartiesByTypeAndID2: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["PartiesTypeIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used. - */ - PartiesErrorByTypeAndID: { - parameters: { - path: { - Type: components["parameters"]["Type"]; - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). - */ - PartiesSubIdByTypeAndID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. - */ - PartiesSubIdByTypeAndIDPut: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["PartiesTypeIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubId}/error`) is used. - */ - PartiesSubIdErrorByTypeAndID: { - parameters: { - path: { - Type: components["parameters"]["Type"]; - ID: components["parameters"]["ID"]; - SubId: components["parameters"]["SubId"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `POST /transactionRequests` is used to request the creation of a transaction request for the provided financial transaction in the server. - */ - TransactionRequests: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["TransactionRequestsPostRequest"]; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /transactionRequests/{ID}` is used to get information regarding a transaction request created or requested earlier. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request. - */ - TransactionRequestsByID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /transactionRequests/{ID}` is used to inform the client of a requested or created transaction request. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. - */ - TransactionRequestsByIDPut: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["TransactionRequestsIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If the server is unable to find or create a transaction request, or another processing error occurs, the error callback `PUT /transactionRequests/{ID}/error` is used. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. - */ - TransactionRequestsErrorByID: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `POST /quotes` is used to request the creation of a quote for the provided financial transaction in the server. - */ - Quotes: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["QuotesPostRequest"]; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /quotes/{ID}` is used to get information regarding a quote created or requested earlier. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote. - */ - QuotesByID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /quotes/{ID}` is used to inform the client of a requested or created quote. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. - */ - QuotesByID1: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["QuotesIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If the server is unable to find or create a quote, or some other processing error occurs, the error callback `PUT /quotes/{ID}/error` is used. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. - */ - QuotesByIDAndError: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /authorizations/{ID}` is used to request the Payer to enter the applicable credentials in the Payee FSP system. The `{ID}` in the URI should contain the `transactionRequestID`, received from the `POST /transactionRequests` service earlier in the process. This request requires a query string to be included in the URI, with the following key-value pairs*:* - * - * - `authenticationType={Type}`, where `{Type}` value is a valid authentication type from the enumeration `AuthenticationType`. - * - * - `retriesLeft=={NrOfRetries}`, where `{NrOfRetries}` is the number of retries left before the financial transaction is rejected. `{NrOfRetries}` must be expressed in the form of the data type `Integer`. `retriesLeft=1` means that this is the last retry before the financial transaction is rejected. - * - * - `amount={Amount}`, where `{Amount}` is the transaction amount that will be withdrawn from the Payer’s account. `{Amount}` must be expressed in the form of the data type `Amount`. - * - * - `currency={Currency}`, where `{Currency}` is the transaction currency for the amount that will be withdrawn from the Payer’s account. The `{Currency}` value must be expressed in the form of the enumeration `CurrencyCode`. - * - * The following is an example URI containing all the required key-value pairs in the query string*:* - * - * `GET /authorization/3d492671-b7af-4f3f-88de-76169b1bdf88?authenticationType=OTP&retriesLeft=2&amount=102¤cy=USD` - */ - AuthorizationsByIDGet: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /authorizations/{ID}` is used to inform the client of the result of a previously-requested authorization. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}` request. - */ - AuthorizationsByIDPut: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["AuthorizationsIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If the server is unable to find the transaction request, or another processing error occurs, the error callback `PUT /authorizations/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}`. - */ - AuthorizationsByIDAndError: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `POST /transfers` is used to request the creation of a transfer for the next ledger, and a financial transaction for the Payee FSP. - */ - transfers: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["TransfersPostRequest"]; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /transfers/{ID}` is used to get information regarding a transfer created or requested earlier. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer. - */ - TransfersByIDGet: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /transfers/{ID}` is used to inform the client of a requested or created transfer. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}` request. - */ - TransfersByIDPut: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["TransfersIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If the server is unable to find or create a transfer, or another processing error occurs, the error callback `PUT /transfers/{ID}/error` is used. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}`. - */ - TransfersByIDAndError: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /transactions/{ID}` is used to get transaction information regarding a financial transaction created earlier. The `{ID}` in the URI should contain the `transactionId` that was used for the creation of the quote, as the transaction is created as part of another process (the transfer process). - */ - TransactionsByID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /transactions/{ID}` is used to inform the client of a requested transaction. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. - */ - TransactionsByID1: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["TransactionsIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If the server is unable to find or create a transaction, or another processing error occurs, the error callback `PUT /transactions/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. - */ - TransactionsErrorByID: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `POST /bulkQuotes` is used to request the creation of a bulk quote for the provided financial transactions in the server. - */ - BulkQuotes: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["BulkQuotesPostRequest"]; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /bulkQuotes/{ID}` is used to get information regarding a bulk quote created or requested earlier. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. - */ - BulkQuotesByID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /bulkQuotes/{ID}` is used to inform the client of a requested or created bulk quote. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. - */ - BulkQuotesByID1: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["BulkQuotesIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If the server is unable to find or create a bulk quote, or another processing error occurs, the error callback `PUT /bulkQuotes/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. - */ - BulkQuotesErrorByID: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `POST /bulkTransfers` is used to request the creation of a bulk transfer in the server. - */ - BulkTransfers: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; + /** + * 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. + * @enum {string} + */ + AuthenticationType: "OTP" | "QRCODE"; + /** + * OtpValue + * @description The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. + */ + OtpValue: string; + /** + * QRCODE + * @description QR code used as a One Time Password. + */ + QRCODE: string; + /** + * AuthenticationValue + * @description Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. + */ + AuthenticationValue: + | components["schemas"]["OtpValue"] + | components["schemas"]["QRCODE"]; + /** + * AuthorizationResponse + * @description Below are the allowed values for the enumeration. + * - ENTERED - Consumer entered the authentication value. + * - REJECTED - Consumer rejected the transaction. + * - RESEND - Consumer requested to resend the authentication value. + * @enum {string} + */ + AuthorizationResponse: "ENTERED" | "REJECTED" | "RESEND"; + /** + * 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. + */ + BalanceOfPayments: 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. */ + BinaryString: string; + /** @description The API data type BinaryString32 is a fixed size version of the API data type BinaryString, where the raw underlying data is always of 32 bytes. The data type BinaryString32 should not use a padding character as the size of the underlying data is fixed. */ + BinaryString32: string; + /** + * BulkTransactionState + * @description Below are the allowed values for the enumeration. + * - RECEIVED - Payee FSP has received the bulk transfer from the Payer FSP. + * - PENDING - Payee FSP has validated the bulk transfer. + * - ACCEPTED - Payee FSP has accepted to process the bulk transfer. + * - PROCESSING - Payee FSP has started to transfer fund to the Payees. + * - COMPLETED - Payee FSP has completed transfer of funds to the Payees. + * - REJECTED - Payee FSP has rejected to process the bulk transfer. + * @enum {string} + */ + BulkTransferState: + | "RECEIVED" + | "PENDING" + | "ACCEPTED" + | "PROCESSING" + | "COMPLETED" + | "REJECTED"; + /** + * Code + * @description Any code/token returned by the Payee FSP (TokenCode Type). + */ + Code: 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 (‘-‘). + */ + CorrelationId: 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"; + /** + * Date + * @description The API data type Date is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. This format, as specified in ISO 8601, contains a date only. A more readable version of the format is yyyy-MM-dd. Examples are "1982-05-23", "1987-08-05”. + */ + Date: string; + /** + * DateofBirth (type Date) + * @description Date of Birth of the Party. + */ + DateOfBirth: 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). + */ + DateTime: 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. + */ + ErrorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + ErrorDescription: string; + /** + * ExtensionKey + * @description Extension key. + */ + ExtensionKey: string; + /** + * ExtensionValue + * @description Extension value. + */ + ExtensionValue: string; + /** + * FirstName + * @description First name of the Party (Name Type). + */ + FirstName: string; + /** + * FspId + * @description FSP identifier. + */ + FspId: string; + /** + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. + */ + IlpCondition: string; + /** + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + */ + IlpFulfilment: string; + /** + * IlpPacket + * @description Information for recipient (transport layer information). + */ + IlpPacket: string; + /** + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. + */ + PartyIdInfo: { + /** + * @description Type of the identifier. + * @example PERSONAL_ID + */ + partyIdType: string; + /** + * @description An identifier for the Party. + * @example 16135551212 + */ + partyIdentifier: string; + /** + * @description A sub-identifier or sub-type for the Party. + * @example DRIVING_LICENSE + */ + partySubIdOrType?: string; + /** + * @description FSP ID (if known). + * @example 1234 + */ + fspId?: string; }; - requestBody: { - "application/json": components["schemas"]["BulkTransfersPostRequest"]; + /** + * PartyComplexName + * @description Data model for the complex type PartyComplexName. + */ + PartyComplexName: { + /** + * @description Party’s first name. + * @example Henrik + */ + firstName?: string; + /** + * @description Party’s middle name. + * @example Johannes + */ + middleName?: string; + /** + * @description Party’s last name. + * @example Karlsson + */ + lastName?: string; }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. + */ + PartyPersonalInfo: { + /** @description First, middle and last name for the Party. */ + complexName?: components["schemas"]["PartyComplexName"]; + /** + * @description Date of birth for the Party. + * @example 1966-06-16 + */ + dateOfBirth?: string; }; - }; - /** - * The HTTP request `GET /bulkTransfers/{ID}` is used to get information regarding a bulk transfer created or requested earlier. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. - */ - BulkTransferByID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; + /** + * Party + * @description Data model for the complex type Party. + */ + Party: { + /** @description Party Id type, id, sub ID or type, and FSP Id. */ + partyIdInfo: components["schemas"]["PartyIdInfo"]; + /** + * @description Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. + * @example 4321 + */ + merchantClassificationCode?: string; + /** + * @description Display name of the Party, could be a real name or a nick name. + * @example Henrik Karlsson + */ + name?: string; + /** @description Personal information used to verify identity of Party such as first, middle, last name and date of birth. */ + personalInfo?: components["schemas"]["PartyPersonalInfo"]; }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * Refund + * @description Data model for the complex type Refund. + */ + Refund: { + /** + * @description Reference to the original transaction ID that is requested to be refunded. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + originalTransactionId: string; + /** + * @description Free text indicating the reason for the refund. + * @example Free text indicating reason for the refund. + */ + refundReason?: string; }; - }; - /** - * The callback `PUT /bulkTransfers/{ID}` is used to inform the client of a requested or created bulk transfer. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. - */ - BulkTransfersByIDPut: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; + /** + * TransactionType + * @description Data model for the complex type TransactionType. + */ + TransactionType: { + /** + * @description Deposit, withdrawal, refund, … + * @example DEPOSIT + */ + scenario: string; + /** + * @description Possible sub-scenario, defined locally within the scheme. + * @example Locally defined sub-scenario. + */ + subScenario?: string; + /** + * @description Who is initiating the transaction - Payer or Payee. + * @example PAYEE + */ + initiator: string; + /** + * @description Consumer, agent, business, … + * @example CONSUMER + */ + initiatorType: string; + /** @description Extra information specific to a refund scenario. Should only be populated if scenario is REFUND. */ + refundInfo?: components["schemas"]["Refund"]; + /** + * @description Balance of Payments code. + * @example 123 + */ + balanceOfPayments?: string; }; - requestBody: { - "application/json": components["schemas"]["BulkTransfersIDPutResponse"]; + /** + * Extension + * @description Data model for the complex type Extension. + */ + Extension: { + /** @description Extension key. */ + key: string; + /** @description Extension value. */ + value: string; }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * 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"][]; }; - }; - /** - * If the server is unable to find or create a bulk transfer, or another processing error occurs, the error callback `PUT /bulkTransfers/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. - */ - BulkTransfersErrorByID: { - parameters: { - path: { - ID: components["parameters"]["ID"]; + /** + * IndividualQuote + * @description Data model for the complex type IndividualQuote. + */ + IndividualQuote: { + /** + * @description Identifies the quote message. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + quoteId: string; + /** + * @description Identifies the transaction message. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + transactionId: string; + /** @description Information about the Payee in the proposed financial transaction. */ + payee: components["schemas"]["Party"]; + /** + * @description SEND for sendAmount, RECEIVE for receiveAmount. + * @example RECEIVE + */ + amountType: string; + amount: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 123.45 + */ + amount?: string; }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; + fees?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 1.45 + */ + amount?: string; }; + /** @description Type of transaction that the quote is requested for. */ + transactionType: components["schemas"]["TransactionType"]; + /** + * @description Memo that will be attached to the transaction. + * @example Note sent to Payee. + */ + note?: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; -} - -export interface components { - parameters: { - /** - * The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. - */ - Type: string; /** - * The identifier value. + * Integer + * @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. */ - ID: string; + Integer: string; /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. + * LastName + * @description Last name of the Party (Name Type). */ - "Content-Type": string; + LastName: string; /** - * The `Date` header field indicates the date when the request was sent. + * 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. */ - Date: string; + Latitude: string; /** - * 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`. + * 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. */ - "X-Forwarded-For": string; + Longitude: string; /** - * 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`). + * 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. */ - "FSPIOP-Source": string; + MerchantClassificationCode: string; /** - * 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. + * MiddleName + * @description Middle name of the Party (Name Type). */ - "FSPIOP-Destination": string; + MiddleName: string; /** - * 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 + * @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. */ - "FSPIOP-Encryption": string; + Name: string; /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. + * Note + * @description Memo assigned to transaction. */ - "FSPIOP-Signature": string; + Note: string; /** - * 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). + * PartyIdentifier + * @description Identifier of the Party. */ - "FSPIOP-URI": string; + PartyIdentifier: string; /** - * 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). + * 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} */ - "FSPIOP-HTTP-Method": string; + PartyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * The `Accept` header field indicates the version of the API the client would like the server to use. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ - Accept: string; + PartyName: string; /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - "Content-Length": number; + PartySubIdOrType: string; /** - * A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. + * PersonalIdentifierType + * @description Below are the allowed values for the enumeration. + * - PASSPORT - A passport number is used as reference to a Party. + * - NATIONAL_REGISTRATION - A national registration number is used as reference to a Party. + * - DRIVING_LICENSE - A driving license is used as reference to a Party. + * - ALIEN_REGISTRATION - An alien registration number is used as reference to a Party. + * - NATIONAL_ID_CARD - A national ID card number is used as reference to a Party. + * - EMPLOYER_ID - A tax identification number is used as reference to a Party. + * - TAX_ID_NUMBER - A tax identification number is used as reference to a Party. + * - SENIOR_CITIZENS_CARD - A senior citizens card number is used as reference to a Party. + * - MARRIAGE_CERTIFICATE - A marriage certificate number is used as reference to a Party. + * - HEALTH_CARD - A health card number is used as reference to a Party. + * - VOTERS_ID - A voter’s identification number is used as reference to a Party. + * - UNITED_NATIONS - An UN (United Nations) number is used as reference to a Party. + * - OTHER_ID - Any other type of identification type number is used as reference to a Party. + * @enum {string} */ - SubId: string; - }; - schemas: { + PersonalIdentifierType: + | "PASSPORT" + | "NATIONAL_REGISTRATION" + | "DRIVING_LICENSE" + | "ALIEN_REGISTRATION" + | "NATIONAL_ID_CARD" + | "EMPLOYER_ID" + | "TAX_ID_NUMBER" + | "SENIOR_CITIZENS_CARD" + | "MARRIAGE_CERTIFICATE" + | "HEALTH_CARD" + | "VOTERS_ID" + | "UNITED_NATIONS" + | "OTHER_ID"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * RefundReason + * @description Reason for the refund. */ - Amount: string; + RefundReason: string; /** - * 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. + * TokenCode + * @description The API data type TokenCode is a JSON String between 4 and 32 characters, consisting of digits or upper- or lowercase characters from a to z. */ - AmountType: "SEND" | "RECEIVE"; + TokenCode: string; /** - * Data model for the complex type AuthenticationInfo. + * Money + * @description Data model for the complex type Money. */ - AuthenticationInfo: { + Money: { /** - * Type of authentication. + * @description Currency of the amount. + * @example USD */ - authentication: string; + currency: string; /** - * Authentication value. + * @description Amount of Money. + * @example 123.45 */ - authenticationValue: string; + amount: string; }; /** - * 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. + * Transaction + * @description Data model for the complex type Transaction. The Transaction type is used to carry end-to-end data between the Payer FSP and the Payee FSP in the ILP Packet. Both the transactionId and the quoteId in the data model are decided by the Payer FSP in the POST /quotes request. */ - AuthenticationType: "OTP" | "QRCODE"; + Transaction: { + /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ + transactionId: string; + /** @description ID of the quote, the ID is decided by the Payer FSP during the creation of the quote. */ + quoteId: string; + /** @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"]; + /** @description Transaction amount to be sent. */ + amount: components["schemas"]["Money"]; + /** @description Type of the transaction. */ + transactionType: components["schemas"]["TransactionType"]; + /** @description Memo associated to the transaction, intended to the Payee. */ + note?: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * 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. + * @enum {string} + */ + TransactionInitiator: "PAYER" | "PAYEE"; /** - * The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. + * 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. + * @enum {string} */ - OtpValue: string; + TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * QR code used as a One Time Password. + * 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. + * @enum {string} */ - QRCODE: string; + TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; + /** + * 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. + * @enum {string} + */ + TransactionScenario: + | "DEPOSIT" + | "WITHDRAWAL" + | "TRANSFER" + | "PAYMENT" + | "REFUND"; + /** + * 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. + * @enum {string} + */ + TransactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; + /** + * TransactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + */ + TransactionSubScenario: 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. + * @enum {string} + */ + TransferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + /** + * UndefinedEnum + * @description The API data type UndefinedEnum is a JSON String consisting of 1 to 32 uppercase characters including an underscore character (_). + */ + UndefinedEnum: string; + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + ErrorInformation: { + /** + * @description Specific error number. + * @example 5100 + */ + errorCode: string; + /** + * @description Error description string. + * @example This is an error description. + */ + errorDescription: string; + 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?: components["schemas"]["ErrorInformation"]; + }; /** - * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. + * ParticipantsTypeIDPutResponse + * @description The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. */ - AuthenticationValue: - | components["schemas"]["OtpValue"] - | components["schemas"]["QRCODE"]; + ParticipantsTypeIDPutResponse: { + /** + * @description FSP Identifier that the Party belongs to. + * @example 1234 + */ + fspId?: string; + }; /** - * Below are the allowed values for the enumeration. - * - ENTERED - Consumer entered the authentication value. - * - REJECTED - Consumer rejected the transaction. - * - RESEND - Consumer requested to resend the authentication value. + * ParticipantsTypeIDSubIDPostRequest + * @description The object sent in the POST /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} requests. */ - AuthorizationResponse: "ENTERED" | "REJECTED" | "RESEND"; + ParticipantsTypeIDSubIDPostRequest: { + /** + * @description FSP Identifier that the Party belongs to. + * @example 1234 + */ + fspId: string; + /** + * @description Indicate that the provided Currency is supported by the Party. + * @example USD + */ + currency?: string; + }; /** - * (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. + * ErrorInformationObject + * @description Data model for the complex type object that contains ErrorInformation. */ - BalanceOfPayments: string; + ErrorInformationObject: { + errorInformation: components["schemas"]["ErrorInformation"]; + }; /** - * 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. + * ParticipantsPostRequest + * @description The object sent in the POST /participants request. */ - BinaryString: string; + ParticipantsPostRequest: { + /** + * @description The ID of the request, decided by the client. Used for identification of the callback from the server. + * @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: components["schemas"]["PartyIdInfo"][]; + /** + * @description Indicate that the provided Currency is supported by each PartyIdInfo in the list. + * @example USD + */ + currency?: string; + }; /** - * The API data type BinaryString32 is a fixed size version of the API data type BinaryString, where the raw underlying data is always of 32 bytes. The data type BinaryString32 should not use a padding character as the size of the underlying data is fixed. + * PartyResult + * @description Data model for the complex type PartyResult. */ - BinaryString32: string; + PartyResult: { + /** @description Party Id type, id, sub ID or type, and FSP Id. */ + partyId: components["schemas"]["PartyIdInfo"]; + /** @description If the Party failed to be added, error information should be provided. Otherwise, this parameter should be empty to indicate success. */ + errorInformation?: components["schemas"]["ErrorInformation"]; + }; /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payee FSP has received the bulk transfer from the Payer FSP. - * - PENDING - Payee FSP has validated the bulk transfer. - * - ACCEPTED - Payee FSP has accepted to process the bulk transfer. - * - PROCESSING - Payee FSP has started to transfer fund to the Payees. - * - COMPLETED - Payee FSP has completed transfer of funds to the Payees. - * - REJECTED - Payee FSP has rejected to process the bulk transfer. + * ParticipantsIDPutResponse + * @description The object sent in the PUT /participants/{ID} callback. */ - BulkTransferState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "PROCESSING" - | "COMPLETED" - | "REJECTED"; + ParticipantsIDPutResponse: { + /** @description List of PartyResult elements that were either created or failed to be created. */ + partyList: components["schemas"]["PartyResult"][]; + /** + * @description Indicate that the provided Currency was set to be supported by each successfully added PartyIdInfo. + * @example USD + */ + currency?: string; + }; /** - * Any code/token returned by the Payee FSP (TokenCode Type). + * PartiesTypeIDPutResponse + * @description The object sent in the PUT /parties/{Type}/{ID} callback. */ - Code: string; + PartiesTypeIDPutResponse: { + /** @description Information regarding the requested Party. */ + party: components["schemas"]["Party"]; + }; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - CorrelationId: string; + GeoCode: { + /** + * @description Latitude of the Party. + * @example +45.4215 + */ + latitude: string; + /** + * @description Longitude of the Party. + * @example +75.6972 + */ + longitude: string; + }; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * TransactionRequestsPostRequest + * @description The object sent in the POST /transactionRequests request. */ - Currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + TransactionRequestsPostRequest: { + /** + * @description Common ID between the FSPs for the transaction request object, decided by the Payee FSP. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + transactionRequestId: string; + /** @description Information about the Payee in the proposed financial transaction. */ + payee: components["schemas"]["Party"]; + /** @description Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction. */ + payer: components["schemas"]["PartyIdInfo"]; + /** @description Requested amount to be transferred from the Payer to Payee. */ + amount: components["schemas"]["Money"]; + /** @description Type of transaction. */ + transactionType: components["schemas"]["TransactionType"]; + /** + * @description Reason for the transaction request, intended to the Payer. + * @example Free-text memo. + */ + note?: string; + /** @description Longitude and Latitude of the initiating Party. Can be used to detect fraud. */ + geoCode?: components["schemas"]["GeoCode"]; + /** + * @description OTP or QR Code, otherwise empty. + * @example OTP + */ + authenticationType?: string; + /** + * @description 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, Merchant to know that their request has a time limit. + * @example 2016-05-24T08:38:08.699-04:00 + */ + expiration?: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * The API data type Date is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. This format, as specified in ISO 8601, contains a date only. A more readable version of the format is yyyy-MM-dd. Examples are "1982-05-23", "1987-08-05”. + * TransactionRequestsIDPutResponse + * @description The object sent in the PUT /transactionRequests/{ID} callback. */ - Date: string; + TransactionRequestsIDPutResponse: { + /** + * @description Identifies a related transaction (if a transaction has been created). + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + transactionId?: string; + /** + * @description State of the transaction request. + * @example RECEIVED + */ + transactionRequestState: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * Date of Birth of the Party. + * QuotesPostRequest + * @description The object sent in the POST /quotes request. */ - DateOfBirth: string; + QuotesPostRequest: { + /** + * @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; + /** + * @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; + /** + * @description Identifies an optional previously-sent transaction request. + * @example a8323bc6-c228-4df2-ae82-e5a997baf890 + */ + transactionRequestId?: string; + /** @description Information about the Payee in the proposed financial transaction. */ + payee: components["schemas"]["Party"]; + payer: { + partyIdInfo?: { + /** + * @description Information about the Payer in the proposed financial transaction. Type of the identifier. + * @example PERSONAL_ID + */ + partyIdType?: string; + /** + * @description Information about the Payer in the proposed financial transaction. An indentifier for the Party. + * @example 16135551212 + */ + partyIdentifier?: string; + /** + * @description Information about the Payer in the proposed financial transaction. A sub-identifier or sub-type for the Party. + * @example PASSPORT + */ + partySubIdOrType?: string; + /** + * @description FSP ID (if known). + * @example 1234 + */ + fspId?: string; + }; + /** + * @description Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. + * @example 1234 + */ + merchantClassificationCode?: string; + /** + * @description Display name of the Party, could be a real name or a nick name. + * @example Lars Bergqvist + */ + name?: string; + personalInfo?: { + complexName?: { + /** + * @description Party’s first name. + * @example Lars + */ + firstName?: string; + /** + * @description Party’s middle name. + * @example Per + */ + middleName?: string; + /** + * @description Party’s last name. + * @example Bergqvist + */ + lastName?: string; + }; + /** + * @description Date of birth for the Party. + * @example 1977-07-17 + */ + dateOfBirth?: string; + }; + }; + /** + * @description SEND for send amount, RECEIVE for receive amount. + * @example SEND + */ + amountType: string; + amount: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 123.45 + */ + amount?: string; + }; + fees?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 1.25 + */ + amount?: string; + }; + /** @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"]; + /** + * @description A memo that will be attached to the transaction. + * @example Free-text memo. + */ + note?: string; + /** + * @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; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * 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). + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - DateTime: string; + QuotesIDPutResponse: { + transferAmount: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 124.45 + */ + amount?: string; + }; + payeeReceiveAmount?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 123.45 + */ + amount?: string; + }; + payeeFspFee?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 1.45 + */ + amount?: string; + }; + payeeFspCommission?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 0 + */ + 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; + /** @description Longitude and Latitude of the Payee. Can be used to detect fraud. */ + geoCode?: components["schemas"]["GeoCode"]; + /** + * @description The ILP Packet that must be attached to the transfer by the Payer. + * @example “AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA” + */ + ilpPacket: string; + /** + * @description The condition that must be attached to the transfer by the Payer. + * @example f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA + */ + condition: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * AuthorizationsIDPutResponse + * @description The object sent in the PUT /authorizations/{ID} callback. */ - ErrorCode: string; + AuthorizationsIDPutResponse: { + /** + * @description OTP or QR Code if entered, otherwise empty. + * @example OTP + */ + authenticationInfo?: string; + /** + * @description Enum containing response information; if the customer entered the authentication value, rejected the transaction, or requested a resend of the authentication value. + * @example ENTERED + */ + responseType: string; + }; /** - * Error description string. + * TransfersPostRequest + * @description The object sent in the POST /transfers request. */ - ErrorDescription: string; + TransfersPostRequest: { + /** + * @description The common ID between the FSPs and the optional Switch for the transfer object, decided by the Payer FSP. The ID should be reused for resends of the same transfer. A new ID should be generated for each new transfer. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + transferId: string; + /** + * @description Payee FSP in the proposed financial transaction. + * @example 1234 + */ + payeeFsp: string; + /** + * @description Payer FSP in the proposed financial transaction. + * @example 5678 + */ + payerFsp: string; + /** @description The transfer amount to be sent. */ + amount: components["schemas"]["Money"]; + /** + * @description The ILP Packet containing the amount delivered to the Payee and the ILP Address of the Payee and any other end-to-end data. + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + */ + ilpPacket: string; + /** + * @description The condition that must be fulfilled to commit the transfer. + * @example f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA + */ + condition: string; + /** + * @description Expiration can be set to get a quick failure expiration of the transfer. The transfer should be rolled back if no fulfilment is delivered before this time. + * @example 2016-05-24T08:38:08.699-04:00 + */ + expiration: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * Extension key. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - ExtensionKey: string; + TransfersIDPutResponse: { + /** + * @description Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + */ + fulfilment?: string; + /** + * @description Time and date when the transaction was completed. + * @example 2016-05-24T08:38:08.699-04:00 + */ + completedTimestamp?: string; + /** + * @description State of the transfer. + * @example RESERVED + */ + transferState: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * Extension value. + * TransactionsIDPutResponse + * @description The object sent in the PUT /transactions/{ID} callback. */ - ExtensionValue: string; + TransactionsIDPutResponse: { + /** + * @description Time and date when the transaction was completed. + * @example 2016-05-24T08:38:08.699-04:00 + */ + completedTimestamp?: string; + /** + * @description State of the transaction. + * @example RECEIVED + */ + transactionState: string; + /** + * @description Optional redemption information provided to Payer after transaction has been completed. + * @example Test-Code + */ + code?: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * First name of the Party (Name Type). + * BulkQuotesPostRequest + * @description The object sent in the POST /bulkQuotes request. */ - FirstName: string; + BulkQuotesPostRequest: { + /** + * @description Common ID between the FSPs for the bulk quote object, decided by the Payer FSP. The ID should be reused for resends of the same bulk quote. A new ID should be generated for each new bulk quote. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + bulkQuoteId: string; + payer: { + /** @description Party Id type, id, sub ID or type, and FSP Id. */ + partyIdInfo?: components["schemas"]["PartyIdInfo"]; + /** + * @description Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. + * @example 1234 + */ + merchantClassificationCode?: string; + /** + * @description Display name of the Party, could be a real name or a nick name. + * @example Henrik Karlsson + */ + name?: string; + /** @description Personal information used to verify identity of Party such as first, middle, last name and date of birth. */ + personalInfo?: components["schemas"]["PartyPersonalInfo"]; + }; + /** @description Longitude and Latitude of the initiating Party. Can be used to detect fraud. */ + geoCode?: components["schemas"]["GeoCode"]; + /** + * @description Expiration is optional to let the Payee FSP know when a quote no longer needs to be returned. + * @example 2016-05-24T08:38:08.699-04:00 + */ + expiration?: string; + individualQuotes: { + /** + * @description Identifies quote message. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + quoteId?: string; + /** + * @description Identifies transaction message. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + transactionId?: string; + payee?: { + /** @description Party Id type, id, sub ID or type, and FSP Id. */ + partyIdInfo?: components["schemas"]["PartyIdInfo"]; + /** + * @description Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. + * @example 1234 + */ + merchantClassificationCode?: string; + /** + * @description Display name of the Party, could be a real name or a nick name. + * @example Henrik Karlsson + */ + name?: string; + /** @description Personal information used to verify identity of Party such as first, middle, last name and date of birth. */ + personalInfo?: components["schemas"]["PartyPersonalInfo"]; + }; + /** + * @description SEND for sendAmount, RECEIVE for receiveAmount. + * @example RECEIVE + */ + amountType?: string; + amount?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 123.45 + */ + amount?: string; + }; + fees?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 1.45 + */ + amount?: string; + }; + /** @description Type of transaction that the quote is requested for. */ + transactionType?: components["schemas"]["TransactionType"]; + /** + * @description Memo that will be attached to the transaction. + * @example Note sent to Payee. + */ + note?: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; + }; /** - * FSP identifier. + * IndividualQuoteResult + * @description Data model for the complex type IndividualQuoteResult. */ - FspId: string; + IndividualQuoteResult: { + /** + * @description Identifies the quote message. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + quoteId: string; + /** @description Information about the Payee in the proposed financial transaction. */ + payee?: components["schemas"]["Party"]; + transferAmount?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 124.45 + */ + amount?: string; + }; + payeeReceiveAmount?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 123.45 + */ + amount?: string; + }; + payeeFspFee?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 1.45 + */ + amount?: string; + }; + payeeFspCommission?: { + /** + * @description Currency of the amount. + * @example USD + */ + currency?: string; + /** + * @description Amount of money. + * @example 1.45 + */ + amount?: string; + }; + /** + * @description The ILP Packet that must be attached to the transfer by the Payer. + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + */ + ilpPacket?: string; + /** + * @description The condition that must be attached to the transfer by the Payer. + * @example f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA + */ + condition?: string; + /** @description Error code, category description. **Note:** receiveAmount, payeeFspFee, payeeFspCommission, expiration, ilpPacket, condition should not be set if errorInformation is set. */ + errorInformation?: components["schemas"]["ErrorInformation"]; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * Condition that must be attached to the transfer by the Payer. + * BulkQuotesIDPutResponse + * @description The object sent in the PUT /bulkQuotes/{ID} callback. */ - IlpCondition: string; + BulkQuotesIDPutResponse: { + /** @description Fees for each individual transaction, if any of them are charged per transaction. */ + individualQuoteResults?: components["schemas"]["IndividualQuoteResult"][]; + /** + * @description Date and time until when the quotation is valid and can be honored when used in the subsequent transaction request. + * @example 2016-05-24T08:38:08.699-04:00 + */ + expiration: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * Fulfilment that must be attached to the transfer by the Payee. + * IndividualTransfer + * @description Data model for the complex type IndividualTransfer. */ - IlpFulfilment: string; + IndividualTransfer: { + /** + * @description Identifies messages related to the same /transfers sequence. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + transferId: string; + /** @description Transaction amount to be sent. */ + transferAmount: components["schemas"]["Money"]; + /** + * @description ILP Packet containing the amount delivered to the Payee and the ILP Address of the Payee and any other end-to-end data. + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + */ + ilpPacket: string; + /** + * @description Condition that must be fulfilled to commit the transfer. + * @example f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA + */ + condition: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * Information for recipient (transport layer information). + * BulkTransfersPostRequest + * @description The object sent in the POST /bulkTransfers request. */ - IlpPacket: string; + BulkTransfersPostRequest: { + /** + * @description Common ID between the FSPs and the optional Switch for the bulk transfer object, decided by the Payer FSP. The ID should be reused for resends of the same bulk transfer. A new ID should be generated for each new bulk transfer. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + bulkTransferId: string; + /** + * @description ID of the related bulk quote. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 + */ + bulkQuoteId: string; + /** + * @description Payer FSP identifier. + * @example 5678 + */ + payerFsp: string; + /** + * @description Payee FSP identifier. + * @example 1234 + */ + payeeFsp: string; + /** @description List of IndividualTransfer elements. */ + individualTransfers: components["schemas"]["IndividualTransfer"][]; + /** + * @description Expiration time of the transfers. + * @example 2016-05-24T08:38:08.699-04:00 + */ + expiration: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; /** - * Data model for the complex type PartyIdInfo. + * IndividualTransferResult + * @description Data model for the complex type IndividualTransferResult. */ - PartyIdInfo: { + IndividualTransferResult: { /** - * Type of the identifier. + * @description Identifies messages related to the same /transfers sequence. + * @example b51ec534-ee48-4575-b6a9-ead2955b8069 */ - partyIdType: string; + transferId: string; /** - * An identifier for the Party. + * @description Fulfilment of the condition specified with the transaction. **Note:** Either fulfilment or errorInformation should be set, not both. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - partyIdentifier: string; + fulfilment?: string; + /** @description If transfer is REJECTED, error information may be provided. **Note:** Either fulfilment or errorInformation should be set, not both. */ + errorInformation?: components["schemas"]["ErrorInformation"]; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * BulkTransfersIDPutResponse + * @description The object sent in the PUT /bulkTransfers/{ID} callback. + */ + BulkTransfersIDPutResponse: { /** - * A sub-identifier or sub-type for the Party. + * @description Time and date when the bulk transaction was completed. + * @example 2016-05-24T08:38:08.699-04:00 */ - partySubIdOrType?: string; + completedTimestamp?: string; + /** @description List of IndividualTransferResult elements. */ + individualTransferResults?: components["schemas"]["IndividualTransferResult"][]; /** - * FSP ID (if known). + * @description The state of the bulk transfer. + * @example RECEIVED */ - fspId?: string; + bulkTransferState: string; + /** @description Optional extension, specific to deployment. */ + extensionList?: components["schemas"]["ExtensionList"]; + }; + }; + responses: { + /** OK */ + 200: unknown; + /** Accepted */ + 202: unknown; + /** Bad Request */ + 400: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Unauthorized */ + 401: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Forbidden */ + 403: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Not Found */ + 404: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Method Not Allowed */ + 405: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Not Acceptable */ + 406: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Not Implemented */ + 501: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Service Unavailable */ + 503: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + }; + parameters: { + /** @description The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: string; + /** @description The identifier value. */ + ID: string; + /** @description The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** @description The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * @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`. + */ + "X-Forwarded-For": string; + /** @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`). */ + "FSPIOP-Source": string; + /** @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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "FSPIOP-Destination": string; + /** @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. */ + "FSPIOP-Encryption": string; + /** @description 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; + /** @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). */ + "FSPIOP-URI": string; + /** @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). */ + "FSPIOP-HTTP-Method": string; + /** @description The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + /** + * @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-Length": number; + /** @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; + }; + headers: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; +} + +export interface operations { + /** Essential path to include schema components that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions. */ + Interface: { + responses: { + /** Ok */ + 200: unknown; + }; + requestBody: { + content: { + "application/json": + | components["schemas"]["Amount"] + | components["schemas"]["AmountType"] + | components["schemas"]["AuthenticationInfo"] + | components["schemas"]["AuthenticationType"] + | components["schemas"]["AuthenticationValue"] + | components["schemas"]["AuthorizationResponse"] + | components["schemas"]["BalanceOfPayments"] + | components["schemas"]["BinaryString"] + | components["schemas"]["BinaryString32"] + | components["schemas"]["BulkTransferState"] + | components["schemas"]["Code"] + | components["schemas"]["CorrelationId"] + | components["schemas"]["Currency"] + | components["schemas"]["Date"] + | components["schemas"]["DateOfBirth"] + | components["schemas"]["DateTime"] + | components["schemas"]["ErrorCode"] + | components["schemas"]["ErrorDescription"] + | components["schemas"]["ExtensionKey"] + | components["schemas"]["ExtensionValue"] + | components["schemas"]["FirstName"] + | components["schemas"]["FspId"] + | components["schemas"]["IlpCondition"] + | components["schemas"]["IlpFulfilment"] + | components["schemas"]["IlpPacket"] + | components["schemas"]["IndividualQuote"] + | components["schemas"]["Integer"] + | components["schemas"]["LastName"] + | components["schemas"]["Latitude"] + | components["schemas"]["Longitude"] + | components["schemas"]["MerchantClassificationCode"] + | components["schemas"]["MiddleName"] + | components["schemas"]["Name"] + | components["schemas"]["Note"] + | components["schemas"]["OtpValue"] + | components["schemas"]["PartyIdentifier"] + | components["schemas"]["PartyIdType"] + | components["schemas"]["PartyName"] + | components["schemas"]["PartySubIdOrType"] + | components["schemas"]["PersonalIdentifierType"] + | components["schemas"]["RefundReason"] + | components["schemas"]["QRCODE"] + | components["schemas"]["TokenCode"] + | components["schemas"]["Transaction"] + | components["schemas"]["TransactionInitiator"] + | components["schemas"]["TransactionInitiatorType"] + | components["schemas"]["TransactionRequestState"] + | components["schemas"]["TransactionScenario"] + | components["schemas"]["TransactionState"] + | components["schemas"]["TransactionSubScenario"] + | components["schemas"]["TransferState"] + | components["schemas"]["UndefinedEnum"]; + }; + }; + }; + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ + ParticipantsByTypeAndID: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; + }; + responses: { + 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. */ + ParticipantsByTypeAndID3: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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": components["schemas"]["ParticipantsTypeIDPutResponse"]; + }; + }; + }; + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). */ + ParticipantsByIDAndType: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + 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"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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": components["schemas"]["ParticipantsTypeIDSubIDPostRequest"]; + }; + }; + }; + /** + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + * + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + */ + ParticipantsByTypeAndID2: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; + }; + responses: { + 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. */ + ParticipantsErrorByTypeAndID: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; + }; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ + ParticipantsSubIdByTypeAndID: { + 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"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; + }; + responses: { + 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. */ + ParticipantsSubIdByTypeAndID3: { + 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"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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": components["schemas"]["ParticipantsTypeIDPutResponse"]; + }; + }; + }; + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). */ + ParticipantsSubIdByTypeAndIDPost: { + 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"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + 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"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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": components["schemas"]["ParticipantsTypeIDSubIDPostRequest"]; + }; + }; + }; + /** + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + * + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + */ + ParticipantsSubIdByTypeAndID2: { + 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"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; + }; + responses: { + 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. */ + ParticipantsSubIdErrorByTypeAndID: { + 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"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; + }; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. */ + Participants1: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + 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"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; + }; + responses: { + 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": components["schemas"]["ParticipantsPostRequest"]; + }; + }; + }; + /** The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. */ + putParticipantsByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; + }; + responses: { + 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": components["schemas"]["ParticipantsIDPutResponse"]; + }; + }; + }; + /** If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. */ + ParticipantsByIDAndError: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * Data model for the complex type PartyComplexName. - */ - PartyComplexName: { - /** - * Party’s first name. - */ - firstName?: string; - /** - * Party’s middle name. - */ - middleName?: string; - /** - * Party’s last name. - */ - lastName?: string; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; }; - /** - * Data model for the complex type PartyPersonalInfo. - */ - PartyPersonalInfo: { - /** - * First, middle and last name for the Party. - */ - complexName?: components["schemas"]["PartyComplexName"]; - /** - * Date of birth for the Party. - */ - dateOfBirth?: string; + }; + /** The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). */ + 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"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; }; - /** - * Data model for the complex type Party. - */ - Party: { - /** - * Party Id type, id, sub ID or type, and FSP Id. - */ - partyIdInfo: components["schemas"]["PartyIdInfo"]; - /** - * Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. - */ - merchantClassificationCode?: string; - /** - * Display name of the Party, could be a real name or a nick name. - */ - name?: string; - /** - * Personal information used to verify identity of Party such as first, middle, last name and date of birth. - */ - personalInfo?: components["schemas"]["PartyPersonalInfo"]; + responses: { + 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"]; }; - /** - * Data model for the complex type Refund. - */ - Refund: { - /** - * Reference to the original transaction ID that is requested to be refunded. - */ - originalTransactionId: string; - /** - * Free text indicating the reason for the refund. - */ - refundReason?: string; + }; + /** The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. */ + PartiesByTypeAndID2: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; }; - /** - * Data model for the complex type TransactionType. - */ - TransactionType: { - /** - * Deposit, withdrawal, refund, … - */ - scenario: string; - /** - * Possible sub-scenario, defined locally within the scheme. - */ - subScenario?: string; - /** - * Who is initiating the transaction - Payer or Payee. - */ - initiator: string; - /** - * Consumer, agent, business, … - */ - initiatorType: string; - /** - * Extra information specific to a refund scenario. Should only be populated if scenario is REFUND. - */ - refundInfo?: components["schemas"]["Refund"]; - /** - * Balance of Payments code. - */ - balanceOfPayments?: string; + responses: { + 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"]; + }; + /** Party information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["PartiesTypeIDPutResponse"]; + }; }; - /** - * Data model for the complex type Extension. - */ - Extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; + }; + /** If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used. */ + PartiesErrorByTypeAndID: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - ExtensionList: { - /** - * Number of Extension elements. - */ - extension: components["schemas"]["Extension"][]; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; }; - /** - * Data model for the complex type IndividualQuote. - */ - IndividualQuote: { - /** - * Identifies the quote message. - */ - quoteId: string; - /** - * Identifies the transaction message. - */ - transactionId: string; - /** - * Information about the Payee in the proposed financial transaction. - */ - payee: components["schemas"]["Party"]; - /** - * SEND for sendAmount, RECEIVE for receiveAmount. - */ - amountType: string; - amount: { + }; + /** The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). */ + 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"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Currency of the amount. + * 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`. */ - currency?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; + }; + responses: { + 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 /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. */ + PartiesSubIdByTypeAndIDPut: { + 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"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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"]; + }; + /** Party information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["PartiesTypeIDPutResponse"]; + }; + }; + }; + /** If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubId}/error`) is used. */ + PartiesSubIdErrorByTypeAndID: { + 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"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; - fees?: { + }; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** The HTTP request `POST /transactionRequests` is used to request the creation of a transaction request for the provided financial transaction in the server. */ + TransactionRequests: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; /** - * Currency of the amount. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - currency?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; - /** - * Type of transaction that the quote is requested for. - */ - transactionType: components["schemas"]["TransactionType"]; - /** - * Memo that will be attached to the transaction. - */ - note?: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** - * 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. - */ - Integer: string; - /** - * Last name of the Party (Name Type). - */ - LastName: string; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * Middle name of the Party (Name Type). - */ - MiddleName: string; - /** - * 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; - /** - * Memo assigned to transaction. - */ - Note: string; - /** - * Identifier of the Party. - */ - PartyIdentifier: string; - /** - * 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. - */ - PartyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Name of the Party. Could be a real name or a nickname. - */ - PartyName: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - PartySubIdOrType: string; - /** - * Below are the allowed values for the enumeration. - * - PASSPORT - A passport number is used as reference to a Party. - * - NATIONAL_REGISTRATION - A national registration number is used as reference to a Party. - * - DRIVING_LICENSE - A driving license is used as reference to a Party. - * - ALIEN_REGISTRATION - An alien registration number is used as reference to a Party. - * - NATIONAL_ID_CARD - A national ID card number is used as reference to a Party. - * - EMPLOYER_ID - A tax identification number is used as reference to a Party. - * - TAX_ID_NUMBER - A tax identification number is used as reference to a Party. - * - SENIOR_CITIZENS_CARD - A senior citizens card number is used as reference to a Party. - * - MARRIAGE_CERTIFICATE - A marriage certificate number is used as reference to a Party. - * - HEALTH_CARD - A health card number is used as reference to a Party. - * - VOTERS_ID - A voter’s identification number is used as reference to a Party. - * - UNITED_NATIONS - An UN (United Nations) number is used as reference to a Party. - * - OTHER_ID - Any other type of identification type number is used as reference to a Party. - */ - PersonalIdentifierType: - | "PASSPORT" - | "NATIONAL_REGISTRATION" - | "DRIVING_LICENSE" - | "ALIEN_REGISTRATION" - | "NATIONAL_ID_CARD" - | "EMPLOYER_ID" - | "TAX_ID_NUMBER" - | "SENIOR_CITIZENS_CARD" - | "MARRIAGE_CERTIFICATE" - | "HEALTH_CARD" - | "VOTERS_ID" - | "UNITED_NATIONS" - | "OTHER_ID"; - /** - * Reason for the refund. - */ - RefundReason: string; - /** - * The API data type TokenCode is a JSON String between 4 and 32 characters, consisting of digits or upper- or lowercase characters from a to z. - */ - TokenCode: string; - /** - * Data model for the complex type Money. - */ - Money: { - /** - * Currency of the amount. - */ - currency: string; - /** - * Amount of Money. - */ - amount: string; - }; - /** - * Data model for the complex type Transaction. The Transaction type is used to carry end-to-end data between the Payer FSP and the Payee FSP in the ILP Packet. Both the transactionId and the quoteId in the data model are decided by the Payer FSP in the POST /quotes request. - */ - Transaction: { - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ - transactionId: string; - /** - * ID of the quote, the ID is decided by the Payer FSP during the creation of the quote. - */ - quoteId: string; - /** - * Information about the Payee in the proposed financial transaction. - */ - payee: components["schemas"]["Party"]; - /** - * Information about the Payer in the proposed financial transaction. - */ - payer: components["schemas"]["Party"]; - /** - * Transaction amount to be sent. - */ - amount: components["schemas"]["Money"]; - /** - * Type of the transaction. - */ - transactionType: components["schemas"]["TransactionType"]; - /** - * Memo associated to the transaction, intended to the Payee. - */ - note?: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** - * 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. - */ - TransactionInitiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - /** - * 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. - */ - TransactionScenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * 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. - */ - TransactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - TransactionSubScenario: string; - /** - * 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. - */ - TransferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * The API data type UndefinedEnum is a JSON String consisting of 1 to 32 uppercase characters including an underscore character (_). - */ - UndefinedEnum: string; - /** - * Data model for the complex type ErrorInformation. - */ - ErrorInformation: { - /** - * Specific error number. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - extensionList?: components["schemas"]["ExtensionList"]; }; - /** - * Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. - */ - ErrorInformationResponse: { - errorInformation?: components["schemas"]["ErrorInformation"]; + responses: { + 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": components["schemas"]["TransactionRequestsPostRequest"]; + }; }; - /** - * The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. - */ - ParticipantsTypeIDPutResponse: { - /** - * FSP Identifier that the Party belongs to. - */ - fspId?: string; + }; + /** The HTTP request `GET /transactionRequests/{ID}` is used to get information regarding a transaction request created or requested earlier. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request. */ + TransactionRequestsByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; }; - /** - * The object sent in the POST /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} requests. - */ - ParticipantsTypeIDSubIDPostRequest: { - /** - * FSP Identifier that the Party belongs to. - */ - fspId: string; - /** - * Indicate that the provided Currency is supported by the Party. - */ - currency?: string; + responses: { + 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"]; }; - /** - * Data model for the complex type object that contains ErrorInformation. - */ - ErrorInformationObject: { - errorInformation: components["schemas"]["ErrorInformation"]; + }; + /** The callback `PUT /transactionRequests/{ID}` is used to inform the client of a requested or created transaction request. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. */ + TransactionRequestsByIDPut: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; }; - /** - * The object sent in the POST /participants request. - */ - ParticipantsPostRequest: { - /** - * The ID of the request, decided by the client. Used for identification of the callback from the server. - */ - requestId: string; - /** - * List of PartyIdInfo elements that the client would like to update or create FSP information about. - */ - partyList: components["schemas"]["PartyIdInfo"][]; - /** - * Indicate that the provided Currency is supported by each PartyIdInfo in the list. - */ - currency?: string; + responses: { + 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"]; + }; + /** Transaction request information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["TransactionRequestsIDPutResponse"]; + }; }; - /** - * Data model for the complex type PartyResult. - */ - PartyResult: { - /** - * Party Id type, id, sub ID or type, and FSP Id. - */ - partyId: components["schemas"]["PartyIdInfo"]; - /** - * If the Party failed to be added, error information should be provided. Otherwise, this parameter should be empty to indicate success. - */ - errorInformation?: components["schemas"]["ErrorInformation"]; + }; + /** If the server is unable to find or create a transaction request, or another processing error occurs, the error callback `PUT /transactionRequests/{ID}/error` is used. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. */ + TransactionRequestsErrorByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * The object sent in the PUT /participants/{ID} callback. - */ - ParticipantsIDPutResponse: { - /** - * List of PartyResult elements that were either created or failed to be created. - */ - partyList: components["schemas"]["PartyResult"][]; - /** - * Indicate that the provided Currency was set to be supported by each successfully added PartyIdInfo. - */ - currency?: string; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; }; - /** - * The object sent in the PUT /parties/{Type}/{ID} callback. - */ - PartiesTypeIDPutResponse: { - /** - * Information regarding the requested Party. - */ - party: components["schemas"]["Party"]; + }; + /** The HTTP request `POST /quotes` is used to request the creation of a quote for the provided financial transaction in the server. */ + Quotes: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + 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"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - GeoCode: { - /** - * Latitude of the Party. - */ - latitude: string; - /** - * Longitude of the Party. - */ - longitude: string; + responses: { + 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"]; + }; + /** Details of the quote to be created. */ + requestBody: { + content: { + "application/json": components["schemas"]["QuotesPostRequest"]; + }; }; - /** - * The object sent in the POST /transactionRequests request. - */ - TransactionRequestsPostRequest: { - /** - * Common ID between the FSPs for the transaction request object, decided by the Payee FSP. 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; - /** - * Information about the Payee in the proposed financial transaction. - */ - payee: components["schemas"]["Party"]; - /** - * Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction. - */ - payer: components["schemas"]["PartyIdInfo"]; - /** - * Requested amount to be transferred from the Payer to Payee. - */ - amount: components["schemas"]["Money"]; - /** - * Type of transaction. - */ - transactionType: components["schemas"]["TransactionType"]; - /** - * Reason for the transaction request, intended to the Payer. - */ - note?: string; - /** - * Longitude and Latitude of the initiating Party. Can be used to detect fraud. - */ - geoCode?: components["schemas"]["GeoCode"]; - /** - * OTP or QR Code, otherwise empty. - */ - authenticationType?: string; - /** - * 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, Merchant to know that their request has a time limit. - */ - expiration?: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; + }; + /** The HTTP request `GET /quotes/{ID}` is used to get information regarding a quote created or requested earlier. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote. */ + QuotesByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; }; - /** - * The object sent in the PUT /transactionRequests/{ID} callback. - */ - TransactionRequestsIDPutResponse: { - /** - * Identifies a related transaction (if a transaction has been created). - */ - transactionId?: string; - /** - * State of the transaction request. - */ - transactionRequestState: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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 object sent in the POST /quotes request. - */ - QuotesPostRequest: { - /** - * 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. - */ - quoteId: string; - /** - * 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. - */ - transactionId: string; - /** - * Identifies an optional previously-sent transaction request. - */ - transactionRequestId?: string; - /** - * Information about the Payee in the proposed financial transaction. - */ - payee: components["schemas"]["Party"]; - payer: { - partyIdInfo?: { - /** - * Information about the Payer in the proposed financial transaction. Type of the identifier. - */ - partyIdType?: string; - /** - * Information about the Payer in the proposed financial transaction. An indentifier for the Party. - */ - partyIdentifier?: string; - /** - * Information about the Payer in the proposed financial transaction. A sub-identifier or sub-type for the Party. - */ - partySubIdOrType?: string; - /** - * FSP ID (if known). - */ - fspId?: string; - }; + }; + /** The callback `PUT /quotes/{ID}` is used to inform the client of a requested or created quote. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. */ + QuotesByID1: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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"]; + }; + /** Quote information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["QuotesIDPutResponse"]; + }; + }; + }; + /** If the server is unable to find or create a quote, or some other processing error occurs, the error callback `PUT /quotes/{ID}/error` is used. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. */ + QuotesByIDAndError: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { /** - * Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - merchantClassificationCode?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Display name of the Party, could be a real name or a nick name. + * 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?: string; - personalInfo?: { - complexName?: { - /** - * Party’s first name. - */ - firstName?: string; - /** - * Party’s middle name. - */ - middleName?: string; - /** - * Party’s last name. - */ - lastName?: string; - }; - /** - * Date of birth for the Party. - */ - dateOfBirth?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; - /** - * SEND for send amount, RECEIVE for receive amount. - */ - amountType: string; - amount: { + }; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** + * The HTTP request `GET /authorizations/{ID}` is used to request the Payer to enter the applicable credentials in the Payee FSP system. The `{ID}` in the URI should contain the `transactionRequestID`, received from the `POST /transactionRequests` service earlier in the process. This request requires a query string to be included in the URI, with the following key-value pairs*:* + * + * - `authenticationType={Type}`, where `{Type}` value is a valid authentication type from the enumeration `AuthenticationType`. + * + * - `retriesLeft=={NrOfRetries}`, where `{NrOfRetries}` is the number of retries left before the financial transaction is rejected. `{NrOfRetries}` must be expressed in the form of the data type `Integer`. `retriesLeft=1` means that this is the last retry before the financial transaction is rejected. + * + * - `amount={Amount}`, where `{Amount}` is the transaction amount that will be withdrawn from the Payer’s account. `{Amount}` must be expressed in the form of the data type `Amount`. + * + * - `currency={Currency}`, where `{Currency}` is the transaction currency for the amount that will be withdrawn from the Payer’s account. The `{Currency}` value must be expressed in the form of the enumeration `CurrencyCode`. + * + * The following is an example URI containing all the required key-value pairs in the query string*:* + * + * `GET /authorization/3d492671-b7af-4f3f-88de-76169b1bdf88?authenticationType=OTP&retriesLeft=2&amount=102¤cy=USD` + */ + AuthorizationsByIDGet: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Currency of the amount. + * 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`. */ - currency?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; + }; + responses: { + 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 /authorizations/{ID}` is used to inform the client of the result of a previously-requested authorization. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}` request. */ + AuthorizationsByIDPut: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; }; - fees?: { + }; + responses: { + 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"]; + }; + /** Authorization result returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["AuthorizationsIDPutResponse"]; + }; + }; + }; + /** If the server is unable to find the transaction request, or another processing error occurs, the error callback `PUT /authorizations/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}`. */ + AuthorizationsByIDAndError: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { /** - * Currency of the amount. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - currency?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; - /** - * Type of transaction for which the quote is requested. - */ - transactionType: components["schemas"]["TransactionType"]; - /** - * Longitude and Latitude of the initiating Party. Can be used to detect fraud. - */ - geoCode?: components["schemas"]["GeoCode"]; - /** - * A memo that will be attached to the transaction. - */ - note?: string; - /** - * 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. - */ - expiration?: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; }; - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - QuotesIDPutResponse: { - transferAmount: { + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** The HTTP request `POST /transfers` is used to request the creation of a transfer for the next ledger, and a financial transaction for the Payee FSP. */ + transfers: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; /** - * Currency of the amount. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - currency?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; - payeeReceiveAmount?: { + }; + responses: { + 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"]; + }; + /** Details of the transfer to be created. */ + requestBody: { + content: { + "application/json": components["schemas"]["TransfersPostRequest"]; + }; + }; + }; + /** The HTTP request `GET /transfers/{ID}` is used to get information regarding a transfer created or requested earlier. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer. */ + TransfersByIDGet: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Currency of the amount. + * 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`. */ - currency?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; + }; + responses: { + 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 /transfers/{ID}` is used to inform the client of a requested or created transfer. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}` request. */ + TransfersByIDPut: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; }; - payeeFspFee?: { + }; + responses: { + 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"]; + }; + /** Transfer information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["TransfersIDPutResponse"]; + }; + }; + }; + /** If the server is unable to find or create a transfer, or another processing error occurs, the error callback `PUT /transfers/{ID}/error` is used. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}`. */ + TransfersByIDAndError: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { /** - * Currency of the amount. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - currency?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; + }; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** The HTTP request `GET /transactions/{ID}` is used to get transaction information regarding a financial transaction created earlier. The `{ID}` in the URI should contain the `transactionId` that was used for the creation of the quote, as the transaction is created as part of another process (the transfer process). */ + TransactionsByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; }; - payeeFspCommission?: { + }; + responses: { + 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 /transactions/{ID}` is used to inform the client of a requested transaction. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. */ + TransactionsByID1: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Currency of the amount. + * 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`. */ - currency?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** - * Amount of money. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - amount?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; }; - /** - * Date and time until when the quotation is valid and can be honored when used in the subsequent transaction. - */ - expiration: string; - /** - * Longitude and Latitude of the Payee. Can be used to detect fraud. - */ - geoCode?: components["schemas"]["GeoCode"]; - /** - * The ILP Packet that must be attached to the transfer by the Payer. - */ - ilpPacket: string; - /** - * The condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** - * The object sent in the PUT /authorizations/{ID} callback. - */ - AuthorizationsIDPutResponse: { - /** - * OTP or QR Code if entered, otherwise empty. - */ - authenticationInfo?: string; - /** - * Enum containing response information; if the customer entered the authentication value, rejected the transaction, or requested a resend of the authentication value. - */ - responseType: string; - }; - /** - * The object sent in the POST /transfers request. - */ - TransfersPostRequest: { - /** - * The common ID between the FSPs and the optional Switch for the transfer object, decided by the Payer FSP. The ID should be reused for resends of the same transfer. A new ID should be generated for each new transfer. - */ - transferId: string; - /** - * Payee FSP in the proposed financial transaction. - */ - payeeFsp: string; - /** - * Payer FSP in the proposed financial transaction. - */ - payerFsp: string; - /** - * The transfer amount to be sent. - */ - amount: components["schemas"]["Money"]; - /** - * The ILP Packet containing the amount delivered to the Payee and the ILP Address of the Payee and any other end-to-end data. - */ - ilpPacket: string; - /** - * The condition that must be fulfilled to commit the transfer. - */ - condition: string; - /** - * Expiration can be set to get a quick failure expiration of the transfer. The transfer should be rolled back if no fulfilment is delivered before this time. - */ - expiration: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - TransfersIDPutResponse: { - /** - * Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully. - */ - fulfilment?: string; - /** - * Time and date when the transaction was completed. - */ - completedTimestamp?: string; - /** - * State of the transfer. - */ - transferState: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; }; - /** - * The object sent in the PUT /transactions/{ID} callback. - */ - TransactionsIDPutResponse: { - /** - * Time and date when the transaction was completed. - */ - completedTimestamp?: string; - /** - * State of the transaction. - */ - transactionState: string; - /** - * Optional redemption information provided to Payer after transaction has been completed. - */ - code?: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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"]; + }; + /** Transaction information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["TransactionsIDPutResponse"]; + }; }; - /** - * The object sent in the POST /bulkQuotes request. - */ - BulkQuotesPostRequest: { - /** - * Common ID between the FSPs for the bulk quote object, decided by the Payer FSP. The ID should be reused for resends of the same bulk quote. A new ID should be generated for each new bulk quote. - */ - bulkQuoteId: string; - payer: { + }; + /** If the server is unable to find or create a transaction, or another processing error occurs, the error callback `PUT /transactions/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. */ + TransactionsErrorByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { /** - * Party Id type, id, sub ID or type, and FSP Id. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyIdInfo?: components["schemas"]["PartyIdInfo"]; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. + * 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`. */ - merchantClassificationCode?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; + }; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** The HTTP request `POST /bulkQuotes` is used to request the creation of a bulk quote for the provided financial transactions in the server. */ + BulkQuotes: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; /** - * Display name of the Party, could be a real name or a nick name. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - name?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Personal information used to verify identity of Party such as first, middle, last name and date of birth. + * 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`. */ - personalInfo?: components["schemas"]["PartyPersonalInfo"]; + "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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; - /** - * Longitude and Latitude of the initiating Party. Can be used to detect fraud. - */ - geoCode?: components["schemas"]["GeoCode"]; - /** - * Expiration is optional to let the Payee FSP know when a quote no longer needs to be returned. - */ - expiration?: string; - individualQuotes: { - /** - * Identifies quote message. - */ - quoteId?: string; + }; + responses: { + 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"]; + }; + /** Details of the bulk quote to be created. */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkQuotesPostRequest"]; + }; + }; + }; + /** The HTTP request `GET /bulkQuotes/{ID}` is used to get information regarding a bulk quote created or requested earlier. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. */ + BulkQuotesByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Identifies transaction message. + * 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`. */ - transactionId?: string; - payee?: { - /** - * Party Id type, id, sub ID or type, and FSP Id. - */ - partyIdInfo?: components["schemas"]["PartyIdInfo"]; - /** - * Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. - */ - merchantClassificationCode?: string; - /** - * Display name of the Party, could be a real name or a nick name. - */ - name?: string; - /** - * Personal information used to verify identity of Party such as first, middle, last name and date of birth. - */ - personalInfo?: components["schemas"]["PartyPersonalInfo"]; - }; + "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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; + }; + responses: { + 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 /bulkQuotes/{ID}` is used to inform the client of a requested or created bulk quote. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. */ + BulkQuotesByID1: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * SEND for sendAmount, RECEIVE for receiveAmount. + * 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`. */ - amountType?: string; - amount?: { - /** - * Currency of the amount. - */ - currency?: string; - /** - * Amount of money. - */ - amount?: string; - }; - fees?: { - /** - * Currency of the amount. - */ - currency?: string; - /** - * Amount of money. - */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** - * Type of transaction that the quote is requested for. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - transactionType?: components["schemas"]["TransactionType"]; + "Content-Length"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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"]; + }; + /** Bulk quote information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkQuotesIDPutResponse"]; + }; + }; + }; + /** If the server is unable to find or create a bulk quote, or another processing error occurs, the error callback `PUT /bulkQuotes/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. */ + BulkQuotesErrorByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { /** - * Memo that will be attached to the transaction. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - note?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Optional extension, specific to deployment. + * 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`. */ - extensionList?: components["schemas"]["ExtensionList"]; + "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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; - /** - * Data model for the complex type IndividualQuoteResult. - */ - IndividualQuoteResult: { - /** - * Identifies the quote message. - */ - quoteId: string; - /** - * Information about the Payee in the proposed financial transaction. - */ - payee?: components["schemas"]["Party"]; - transferAmount?: { + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** The HTTP request `POST /bulkTransfers` is used to request the creation of a bulk transfer in the server. */ + BulkTransfers: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; /** - * Currency of the amount. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - currency?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; - payeeReceiveAmount?: { - /** - * Currency of the amount. - */ - currency?: string; + }; + responses: { + 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"]; + }; + /** Details of the bulk transfer to be created. */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkTransfersPostRequest"]; + }; + }; + }; + /** The HTTP request `GET /bulkTransfers/{ID}` is used to get information regarding a bulk transfer created or requested earlier. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. */ + BulkTransferByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; }; - payeeFspFee?: { + }; + responses: { + 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 /bulkTransfers/{ID}` is used to inform the client of a requested or created bulk transfer. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. */ + BulkTransfersByIDPut: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Currency of the amount. + * 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`. */ - currency?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; /** - * Amount of money. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - amount?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; }; - payeeFspCommission?: { + }; + responses: { + 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"]; + }; + /** Bulk transfer information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkTransfersIDPutResponse"]; + }; + }; + }; + /** If the server is unable to find or create a bulk transfer, or another processing error occurs, the error callback `PUT /bulkTransfers/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. */ + BulkTransfersErrorByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { /** - * Currency of the amount. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - currency?: string; + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + Date: components["parameters"]["Date"]; /** - * Amount of money. + * 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`. */ - amount?: 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": 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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes. */ + "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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; - /** - * The ILP Packet that must be attached to the transfer by the Payer. - */ - ilpPacket?: string; - /** - * The condition that must be attached to the transfer by the Payer. - */ - condition?: string; - /** - * Error code, category description. **Note:** receiveAmount, payeeFspFee, payeeFspCommission, expiration, ilpPacket, condition should not be set if errorInformation is set. - */ - errorInformation?: components["schemas"]["ErrorInformation"]; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** - * The object sent in the PUT /bulkQuotes/{ID} callback. - */ - BulkQuotesIDPutResponse: { - /** - * Fees for each individual transaction, if any of them are charged per transaction. - */ - individualQuoteResults?: components["schemas"]["IndividualQuoteResult"][]; - /** - * Date and time until when the quotation is valid and can be honored when used in the subsequent transaction request. - */ - expiration: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** - * Data model for the complex type IndividualTransfer. - */ - IndividualTransfer: { - /** - * Identifies messages related to the same /transfers sequence. - */ - transferId: string; - /** - * Transaction amount to be sent. - */ - transferAmount: components["schemas"]["Money"]; - /** - * ILP Packet containing the amount delivered to the Payee and the ILP Address of the Payee and any other end-to-end data. - */ - ilpPacket: string; - /** - * Condition that must be fulfilled to commit the transfer. - */ - condition: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** - * The object sent in the POST /bulkTransfers request. - */ - BulkTransfersPostRequest: { - /** - * Common ID between the FSPs and the optional Switch for the bulk transfer object, decided by the Payer FSP. The ID should be reused for resends of the same bulk transfer. A new ID should be generated for each new bulk transfer. - */ - bulkTransferId: string; - /** - * ID of the related bulk quote. - */ - bulkQuoteId: string; - /** - * Payer FSP identifier. - */ - payerFsp: string; - /** - * Payee FSP identifier. - */ - payeeFsp: string; - /** - * List of IndividualTransfer elements. - */ - individualTransfers: components["schemas"]["IndividualTransfer"][]; - /** - * Expiration time of the transfers. - */ - expiration: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** - * Data model for the complex type IndividualTransferResult. - */ - IndividualTransferResult: { - /** - * Identifies messages related to the same /transfers sequence. - */ - transferId: string; - /** - * Fulfilment of the condition specified with the transaction. **Note:** Either fulfilment or errorInformation should be set, not both. - */ - fulfilment?: string; - /** - * If transfer is REJECTED, error information may be provided. **Note:** Either fulfilment or errorInformation should be set, not both. - */ - errorInformation?: components["schemas"]["ErrorInformation"]; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; }; - /** - * The object sent in the PUT /bulkTransfers/{ID} callback. - */ - BulkTransfersIDPutResponse: { - /** - * Time and date when the bulk transaction was completed. - */ - completedTimestamp?: string; - /** - * List of IndividualTransferResult elements. - */ - individualTransferResults?: components["schemas"]["IndividualTransferResult"][]; - /** - * The state of the bulk transfer. - */ - bulkTransferState: string; - /** - * Optional extension, specific to deployment. - */ - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; }; }; - responses: { - /** - * OK - */ - "200": { [key: string]: any }; - /** - * Accepted - */ - "202": { [key: string]: any }; - /** - * Bad Request - */ - "400": { [key: string]: any }; - /** - * Unauthorized - */ - "401": { [key: string]: any }; - /** - * Forbidden - */ - "403": { [key: string]: any }; - /** - * Not Found - */ - "404": { [key: string]: any }; - /** - * Method Not Allowed - */ - "405": { [key: string]: any }; - /** - * Not Acceptable - */ - "406": { [key: string]: any }; - /** - * Not Implemented - */ - "501": { [key: string]: any }; - /** - * Service Unavailable - */ - "503": { [key: string]: any }; - }; } + +export interface external {} diff --git a/src/fspiop/v1_1/openapi.ts b/src/fspiop/v1_1/openapi.ts index 1aaa806d..5a5f53b5 100644 --- a/src/fspiop/v1_1/openapi.ts +++ b/src/fspiop/v1_1/openapi.ts @@ -5,2574 +5,4122 @@ export interface paths { "/interface": { + /** Essential path to include schema definitions that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions. */ post: operations["test"]; }; "/participants/{Type}/{ID}": { - post: operations["ParticipantsByIDAndType"]; + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ get: operations["ParticipantsByTypeAndID"]; + /** 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. */ put: operations["ParticipantsByTypeAndID3"]; + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 */ + post: operations["ParticipantsByIDAndType"]; + /** + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + * + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + */ delete: operations["ParticipantsByTypeAndID2"]; parameters: { path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ Type: components["parameters"]["Type"]; + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/participants/{Type}/{ID}/error": { + /** 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. */ put: operations["ParticipantsErrorByTypeAndID"]; }; "/participants/{Type}/{ID}/{SubId}": { - post: operations["ParticipantsSubIdByTypeAndIDPost"]; + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ get: operations["ParticipantsSubIdByTypeAndID"]; + /** 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. */ put: operations["ParticipantsSubIdByTypeAndID3"]; + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 */ + post: operations["ParticipantsSubIdByTypeAndIDPost"]; + /** + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + * + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + */ delete: operations["ParticipantsSubIdByTypeAndID2"]; 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"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/participants/{Type}/{ID}/{SubId}/error": { + /** 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. */ put: operations["ParticipantsSubIdErrorByTypeAndID"]; }; "/participants": { + /** The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. */ post: operations["Participants1"]; }; "/participants/{ID}": { + /** The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. */ put: operations["putParticipantsByID"]; }; "/participants/{ID}/error": { + /** If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. */ put: operations["ParticipantsByIDAndError"]; }; "/parties/{Type}/{ID}": { + /** The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). */ get: operations["PartiesByTypeAndID"]; + /** The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. */ put: operations["PartiesByTypeAndID2"]; parameters: { path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ Type: components["parameters"]["Type"]; + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/parties/{Type}/{ID}/error": { + /** If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used. */ put: operations["PartiesErrorByTypeAndID"]; }; "/parties/{Type}/{ID}/{SubId}": { + /** The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). */ get: operations["PartiesSubIdByTypeAndID"]; + /** The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. */ put: operations["PartiesSubIdByTypeAndIDPut"]; 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"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/parties/{Type}/{ID}/{SubId}/error": { + /** If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubId}/error`) is used. */ put: operations["PartiesSubIdErrorByTypeAndID"]; }; "/transactionRequests": { + /** The HTTP request `POST /transactionRequests` is used to request the creation of a transaction request for the provided financial transaction in the server. */ post: operations["TransactionRequests"]; }; "/transactionRequests/{ID}": { + /** The HTTP request `GET /transactionRequests/{ID}` is used to get information regarding a transaction request created or requested earlier. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request. */ get: operations["TransactionRequestsByID"]; + /** The callback `PUT /transactionRequests/{ID}` is used to inform the client of a requested or created transaction request. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. */ put: operations["TransactionRequestsByIDPut"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/transactionRequests/{ID}/error": { + /** If the server is unable to find or create a transaction request, or another processing error occurs, the error callback `PUT /transactionRequests/{ID}/error` is used. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. */ put: operations["TransactionRequestsErrorByID"]; }; "/quotes": { + /** The HTTP request `POST /quotes` is used to request the creation of a quote for the provided financial transaction in the server. */ post: operations["Quotes"]; }; "/quotes/{ID}": { + /** The HTTP request `GET /quotes/{ID}` is used to get information regarding a quote created or requested earlier. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote. */ get: operations["QuotesByID"]; + /** The callback `PUT /quotes/{ID}` is used to inform the client of a requested or created quote. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. */ put: operations["QuotesByID1"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/quotes/{ID}/error": { + /** If the server is unable to find or create a quote, or some other processing error occurs, the error callback `PUT /quotes/{ID}/error` is used. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. */ put: operations["QuotesByIDAndError"]; }; "/authorizations/{ID}": { + /** + * The HTTP request `GET /authorizations/{ID}` is used to request the Payer to enter the applicable credentials in the Payee FSP system. The `{ID}` in the URI should contain the `transactionRequestID`, received from the `POST /transactionRequests` service earlier in the process. This request requires a query string to be included in the URI, with the following key-value pairs*:* + * + * - `authenticationType={Type}`, where `{Type}` value is a valid authentication type from the enumeration `AuthenticationType`. + * + * - `retriesLeft=={NrOfRetries}`, where `{NrOfRetries}` is the number of retries left before the financial transaction is rejected. `{NrOfRetries}` must be expressed in the form of the data type `Integer`. `retriesLeft=1` means that this is the last retry before the financial transaction is rejected. + * + * - `amount={Amount}`, where `{Amount}` is the transaction amount that will be withdrawn from the Payer’s account. `{Amount}` must be expressed in the form of the data type `Amount`. + * + * - `currency={Currency}`, where `{Currency}` is the transaction currency for the amount that will be withdrawn from the Payer’s account. The `{Currency}` value must be expressed in the form of the enumeration `CurrencyCode`. + * + * The following is an example URI containing all the required key-value pairs in the query string*:* + * + * `GET /authorization/3d492671-b7af-4f3f-88de-76169b1bdf88?authenticationType=OTP&retriesLeft=2&amount=102¤cy=USD` + */ get: operations["AuthorizationsByIDGet"]; + /** The callback `PUT /authorizations/{ID}` is used to inform the client of the result of a previously-requested authorization. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}` request. */ put: operations["AuthorizationsByIDPut"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/authorizations/{ID}/error": { + /** If the server is unable to find the transaction request, or another processing error occurs, the error callback `PUT /authorizations/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}`. */ put: operations["AuthorizationsByIDAndError"]; }; "/transfers": { + /** The HTTP request `POST /transfers` is used to request the creation of a transfer for the next ledger, and a financial transaction for the Payee FSP. */ post: operations["transfers"]; }; "/transfers/{ID}": { + /** The HTTP request `GET /transfers/{ID}` is used to get information regarding a transfer created or requested earlier. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer. */ get: operations["TransfersByIDGet"]; - patch: operations["TransfersByIDPatch"]; + /** The callback `PUT /transfers/{ID}` is used to inform the client of a requested or created transfer. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}` request. */ put: operations["TransfersByIDPut"]; + /** The HTTP request PATCH /transfers/ is used by a Switch to update the state of a previously reserved transfer, if the Payee FSP has requested a commit notification when the Switch has completed processing of the transfer. The in the URI should contain the transferId that was used for the creation of the transfer. Please note that this request does not generate a callback. */ + patch: operations["TransfersByIDPatch"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/transfers/{ID}/error": { + /** If the server is unable to find or create a transfer, or another processing error occurs, the error callback `PUT /transfers/{ID}/error` is used. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}`. */ put: operations["TransfersByIDAndError"]; }; "/transactions/{ID}": { + /** The HTTP request `GET /transactions/{ID}` is used to get transaction information regarding a financial transaction created earlier. The `{ID}` in the URI should contain the `transactionId` that was used for the creation of the quote, as the transaction is created as part of another process (the transfer process). */ get: operations["TransactionsByID"]; + /** The callback `PUT /transactions/{ID}` is used to inform the client of a requested transaction. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. */ put: operations["TransactionsByID1"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/transactions/{ID}/error": { + /** If the server is unable to find or create a transaction, or another processing error occurs, the error callback `PUT /transactions/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. */ put: operations["TransactionsErrorByID"]; }; "/bulkQuotes": { + /** The HTTP request `POST /bulkQuotes` is used to request the creation of a bulk quote for the provided financial transactions in the server. */ post: operations["BulkQuotes"]; }; "/bulkQuotes/{ID}": { + /** The HTTP request `GET /bulkQuotes/{ID}` is used to get information regarding a bulk quote created or requested earlier. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. */ get: operations["BulkQuotesByID"]; + /** The callback `PUT /bulkQuotes/{ID}` is used to inform the client of a requested or created bulk quote. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. */ put: operations["BulkQuotesByID1"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/bulkQuotes/{ID}/error": { + /** If the server is unable to find or create a bulk quote, or another processing error occurs, the error callback `PUT /bulkQuotes/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. */ put: operations["BulkQuotesErrorByID"]; }; "/bulkTransfers": { + /** The HTTP request `POST /bulkTransfers` is used to request the creation of a bulk transfer in the server. */ post: operations["BulkTransfers"]; }; "/bulkTransfers/{ID}": { + /** The HTTP request `GET /bulkTransfers/{ID}` is used to get information regarding a bulk transfer created or requested earlier. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. */ get: operations["BulkTransferByID"]; + /** The callback `PUT /bulkTransfers/{ID}` is used to inform the client of a requested or created bulk transfer. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. */ put: operations["BulkTransfersByIDPut"]; parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; }; "/bulkTransfers/{ID}/error": { + /** If the server is unable to find or create a bulk transfer, or another processing error occurs, the error callback `PUT /bulkTransfers/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. */ put: operations["BulkTransfersErrorByID"]; }; } -export interface operations { - /** - * Essential path to include schema definitions that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions. - */ - test: { - requestBody: { - "application/json": - | components["schemas"]["BinaryString"] - | components["schemas"]["BinaryString32"] - | components["schemas"]["Date"] - | components["schemas"]["Integer"] - | components["schemas"]["Name"] - | components["schemas"]["PersonalIdentifierType"] - | components["schemas"]["TokenCode"] - | components["schemas"]["Transaction"] - | components["schemas"]["UndefinedEnum"]; - }; - responses: { - /** - * Ok - */ - "200": unknown; - }; - }; - /** - * The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 - */ - ParticipantsByIDAndType: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ParticipantsTypeIDSubIDPostRequest"]; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - */ - ParticipantsByTypeAndID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * 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. - */ - ParticipantsByTypeAndID3: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ParticipantsTypeIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - * - * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. - */ - ParticipantsByTypeAndID2: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * 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. - */ - ParticipantsErrorByTypeAndID: { - parameters: { - path: { - Type: components["parameters"]["Type"]; - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; +export interface components { + schemas: { + /** @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; + /** @description The API data type BinaryString32 is a fixed size version of the API data type BinaryString, where the raw underlying data is always of 32 bytes. The data type BinaryString32 should not use a padding character as the size of the underlying data is fixed. */ + BinaryString32: string; + /** + * Date + * @description The API data type Date is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. This format, as specified in ISO 8601, contains a date only. A more readable version of the format is yyyy-MM-dd. Examples are "1982-05-23", "1987-08-05”. + */ + Date: string; + /** + * Integer + * @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. + */ + Integer: 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; + /** + * PersonalIdentifierType + * @description Below are the allowed values for the enumeration. + * - PASSPORT - A passport number is used as reference to a Party. + * - NATIONAL_REGISTRATION - A national registration number is used as reference to a Party. + * - DRIVING_LICENSE - A driving license is used as reference to a Party. + * - ALIEN_REGISTRATION - An alien registration number is used as reference to a Party. + * - NATIONAL_ID_CARD - A national ID card number is used as reference to a Party. + * - EMPLOYER_ID - A tax identification number is used as reference to a Party. + * - TAX_ID_NUMBER - A tax identification number is used as reference to a Party. + * - SENIOR_CITIZENS_CARD - A senior citizens card number is used as reference to a Party. + * - MARRIAGE_CERTIFICATE - A marriage certificate number is used as reference to a Party. + * - HEALTH_CARD - A health card number is used as reference to a Party. + * - VOTERS_ID - A voter’s identification number is used as reference to a Party. + * - UNITED_NATIONS - An UN (United Nations) number is used as reference to a Party. + * - OTHER_ID - Any other type of identification type number is used as reference to a Party. + * @enum {string} + */ + PersonalIdentifierType: + | "PASSPORT" + | "NATIONAL_REGISTRATION" + | "DRIVING_LICENSE" + | "ALIEN_REGISTRATION" + | "NATIONAL_ID_CARD" + | "EMPLOYER_ID" + | "TAX_ID_NUMBER" + | "SENIOR_CITIZENS_CARD" + | "MARRIAGE_CERTIFICATE" + | "HEALTH_CARD" + | "VOTERS_ID" + | "UNITED_NATIONS" + | "OTHER_ID"; + /** + * TokenCode + * @description The API data type TokenCode is a JSON String between 4 and 32 characters, consisting of digits or upper- or lowercase characters from a to z. + */ + TokenCode: 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; + /** + * 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; + /** + * 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"]; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; + /** + * 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"][]; }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * 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"]; }; - }; - /** - * The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 - */ - ParticipantsSubIdByTypeAndIDPost: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - }; + /** + * 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. + */ + PartyName: 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; + /** + * PartyComplexName + * @description Data model for the complex type PartyComplexName. + */ + PartyComplexName: { + firstName?: components["schemas"]["FirstName"]; + middleName?: components["schemas"]["MiddleName"]; + lastName?: components["schemas"]["LastName"]; }; - requestBody: { - "application/json": components["schemas"]["ParticipantsTypeIDSubIDPostRequest"]; + /** + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 + */ + DateOfBirth: string; + /** + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. + */ + PartyPersonalInfo: { + complexName?: components["schemas"]["PartyComplexName"]; + dateOfBirth?: components["schemas"]["DateOfBirth"]; }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * 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"]; }; - }; - /** - * The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - */ - ParticipantsSubIdByTypeAndID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * Currency + * @description The currency codes defined in [ISO 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. + */ + Money: { + currency: components["schemas"]["Currency"]; + amount: components["schemas"]["Amount"]; }; - }; - /** - * 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. - */ - ParticipantsSubIdByTypeAndID3: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; + /** + * 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"; + /** + * 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"; + /** + * 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"]; }; - requestBody: { - "application/json": components["schemas"]["ParticipantsTypeIDPutResponse"]; + /** + * 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"]; }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. + */ + Note: string; + /** + * Transaction + * @description Data model for the complex type Transaction. The Transaction type is used to carry end-to-end data between the Payer FSP and the Payee FSP in the ILP Packet. Both the transactionId and the quoteId in the data model are decided by the Payer FSP in the POST /quotes request. + */ + Transaction: { + transactionId: components["schemas"]["CorrelationId"]; + quoteId: components["schemas"]["CorrelationId"]; + payee: components["schemas"]["Party"]; + payer: components["schemas"]["Party"]; + amount: components["schemas"]["Money"]; + transactionType: components["schemas"]["TransactionType"]; + note?: components["schemas"]["Note"]; + extensionList?: components["schemas"]["ExtensionList"]; }; - }; - /** - * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - * - * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. - */ - ParticipantsSubIdByTypeAndID2: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; + /** + * UndefinedEnum + * @description The API data type UndefinedEnum is a JSON String consisting of 1 to 32 uppercase characters including an underscore character (_). + */ + UndefinedEnum: 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 + */ + 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"]; }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * ErrorInformationResponse + * @description Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. + */ + ErrorInformationResponse: { + errorInformation?: components["schemas"]["ErrorInformation"]; }; - }; - /** - * 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. - */ - ParticipantsSubIdErrorByTypeAndID: { - parameters: { - path: { - Type: components["parameters"]["Type"]; - ID: components["parameters"]["ID"]; - SubId: components["parameters"]["SubId"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; + /** + * ParticipantsTypeIDPutResponse + * @description The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. + */ + ParticipantsTypeIDPutResponse: { + fspId?: components["schemas"]["FspId"]; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; + /** + * 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: components["schemas"]["FspId"]; + currency?: components["schemas"]["Currency"]; + extensionList?: components["schemas"]["ExtensionList"]; }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * ErrorInformationObject + * @description Data model for the complex type object that contains ErrorInformation. + */ + ErrorInformationObject: { + errorInformation: components["schemas"]["ErrorInformation"]; }; - }; - /** - * The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. - */ - Participants1: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; + /** + * ParticipantsPostRequest + * @description The object sent in the POST /participants request. + */ + ParticipantsPostRequest: { + requestId: components["schemas"]["CorrelationId"]; + /** @description List of PartyIdInfo elements that the client would like to update or create FSP information about. */ + partyList: components["schemas"]["PartyIdInfo"][]; + currency?: components["schemas"]["Currency"]; }; - requestBody: { - "application/json": components["schemas"]["ParticipantsPostRequest"]; + /** + * PartyResult + * @description Data model for the complex type PartyResult. + */ + PartyResult: { + partyId: components["schemas"]["PartyIdInfo"]; + errorInformation?: components["schemas"]["ErrorInformation"]; }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * ParticipantsIDPutResponse + * @description The object sent in the PUT /participants/{ID} callback. + */ + ParticipantsIDPutResponse: { + /** @description List of PartyResult elements that were either created or failed to be created. */ + partyList: components["schemas"]["PartyResult"][]; + currency?: components["schemas"]["Currency"]; }; - }; - /** - * The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. - */ - putParticipantsByID: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; + /** + * PartiesTypeIDPutResponse + * @description The object sent in the PUT /parties/{Type}/{ID} callback. + */ + PartiesTypeIDPutResponse: { + party: components["schemas"]["Party"]; }; - requestBody: { - "application/json": components["schemas"]["ParticipantsIDPutResponse"]; + /** + * 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"]; }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * 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"; + /** + * 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; + /** + * TransactionRequestsPostRequest + * @description The object sent in the POST /transactionRequests request. + */ + TransactionRequestsPostRequest: { + transactionRequestId: components["schemas"]["CorrelationId"]; + payee: components["schemas"]["Party"]; + payer: components["schemas"]["PartyIdInfo"]; + amount: components["schemas"]["Money"]; + transactionType: components["schemas"]["TransactionType"]; + note?: components["schemas"]["Note"]; + geoCode?: components["schemas"]["GeoCode"]; + authenticationType?: components["schemas"]["AuthenticationType"]; + expiration?: components["schemas"]["DateTime"]; + extensionList?: components["schemas"]["ExtensionList"]; }; - }; - /** - * If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. - */ - ParticipantsByIDAndError: { - parameters: { - path: { - ID: components["parameters"]["ID"]; - }; - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - "Content-Type": components["parameters"]["Content-Type"]; - Date: components["parameters"]["Date"]; - "X-Forwarded-For"?: components["parameters"]["X-Forwarded-For"]; - "FSPIOP-Source": components["parameters"]["FSPIOP-Source"]; - "FSPIOP-Destination"?: components["parameters"]["FSPIOP-Destination"]; - "FSPIOP-Encryption"?: components["parameters"]["FSPIOP-Encryption"]; - "FSPIOP-Signature"?: components["parameters"]["FSPIOP-Signature"]; - "FSPIOP-URI"?: components["parameters"]["FSPIOP-URI"]; - "FSPIOP-HTTP-Method"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; + /** + * 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"; + /** + * TransactionRequestsIDPutResponse + * @description The object sent in the PUT /transactionRequests/{ID} callback. + */ + TransactionRequestsIDPutResponse: { + transactionId?: components["schemas"]["CorrelationId"]; + transactionRequestState: components["schemas"]["TransactionRequestState"]; + extensionList?: components["schemas"]["ExtensionList"]; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; + /** + * 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"; + /** + * 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"]; }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": 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; + /** + * 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"]; }; - }; - /** - * The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). - */ - PartiesByTypeAndID: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; - }; + /** + * OtpValue + * @description The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. + */ + OtpValue: string; + /** + * QRCODE + * @description QR code used as a One Time Password. + */ + QRCODE: string; + /** + * U2FPIN + * @description U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key. + */ + U2FPIN: string; + /** + * U2FPinValue + * @description U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key. + */ + U2FPinValue: { + /** @description U2F challenge-response. */ + pinValue: components["schemas"]["U2FPIN"]; + /** @description Sequential counter used for cloning detection. Present only for U2F authentication. */ + counter: components["schemas"]["Integer"]; }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** + * AuthenticationValue + * @description Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. + */ + AuthenticationValue: Partial & + Partial & + Partial; + /** + * AuthenticationInfo + * @description Data model for the complex type AuthenticationInfo. + */ + AuthenticationInfo: { + authentication: components["schemas"]["AuthenticationType"]; + authenticationValue: components["schemas"]["AuthenticationValue"]; + }; + /** + * AuthorizationResponse + * @description Below are the allowed values for the enumeration. + * - ENTERED - Consumer entered the authentication value. + * - REJECTED - Consumer rejected the transaction. + * - RESEND - Consumer requested to resend the authentication value. + * @example ENTERED + * @enum {string} + */ + AuthorizationResponse: "ENTERED" | "REJECTED" | "RESEND"; + /** + * AuthorizationsIDPutResponse + * @description The object sent in the PUT /authorizations/{ID} callback. + */ + AuthorizationsIDPutResponse: { + authenticationInfo?: components["schemas"]["AuthenticationInfo"]; + responseType: components["schemas"]["AuthorizationResponse"]; + }; + /** + * TransfersPostRequest + * @description The object sent in the POST /transfers request. + */ + TransfersPostRequest: { + 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"]; + }; + /** + * 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"]; + }; + /** + * TransfersIDPatchResponse + * @description PATCH /transfers/{ID} object + */ + TransfersIDPatchResponse: { + completedTimestamp: components["schemas"]["DateTime"]; + transferState: components["schemas"]["TransferState"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * 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"; + /** + * Code + * @description Any code/token returned by the Payee FSP (TokenCode Type). + * @example Test-Code + */ + Code: string; + /** + * TransactionsIDPutResponse + * @description The object sent in the PUT /transactions/{ID} callback. + */ + TransactionsIDPutResponse: { + completedTimestamp?: components["schemas"]["DateTime"]; + transactionState: components["schemas"]["TransactionState"]; + code?: components["schemas"]["Code"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * IndividualQuote + * @description Data model for the complex type IndividualQuote. + */ + IndividualQuote: { + quoteId: components["schemas"]["CorrelationId"]; + transactionId: components["schemas"]["CorrelationId"]; + payee: components["schemas"]["Party"]; + amountType: components["schemas"]["AmountType"]; + amount: components["schemas"]["Money"]; + fees?: components["schemas"]["Money"]; + transactionType: components["schemas"]["TransactionType"]; + note?: components["schemas"]["Note"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * BulkQuotesPostRequest + * @description The object sent in the POST /bulkQuotes request. + */ + BulkQuotesPostRequest: { + bulkQuoteId: components["schemas"]["CorrelationId"]; + payer: components["schemas"]["Party"]; + geoCode?: components["schemas"]["GeoCode"]; + expiration?: components["schemas"]["DateTime"]; + /** @description List of quotes elements. */ + individualQuotes: components["schemas"]["IndividualQuote"][]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * IndividualQuoteResult + * @description Data model for the complex type IndividualQuoteResult. + */ + IndividualQuoteResult: { + quoteId: components["schemas"]["CorrelationId"]; + payee?: components["schemas"]["Party"]; + transferAmount?: components["schemas"]["Money"]; + payeeReceiveAmount?: components["schemas"]["Money"]; + payeeFspFee?: components["schemas"]["Money"]; + payeeFspCommission?: components["schemas"]["Money"]; + ilpPacket?: components["schemas"]["IlpPacket"]; + condition?: components["schemas"]["IlpCondition"]; + errorInformation?: components["schemas"]["ErrorInformation"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * BulkQuotesIDPutResponse + * @description The object sent in the PUT /bulkQuotes/{ID} callback. + */ + BulkQuotesIDPutResponse: { + /** @description Fees for each individual transaction, if any of them are charged per transaction. */ + individualQuoteResults?: components["schemas"]["IndividualQuoteResult"][]; + expiration: components["schemas"]["DateTime"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * IndividualTransfer + * @description Data model for the complex type IndividualTransfer. + */ + IndividualTransfer: { + transferId: components["schemas"]["CorrelationId"]; + transferAmount: components["schemas"]["Money"]; + ilpPacket: components["schemas"]["IlpPacket"]; + condition: components["schemas"]["IlpCondition"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * BulkTransfersPostRequest + * @description The object sent in the POST /bulkTransfers request. + */ + BulkTransfersPostRequest: { + bulkTransferId: components["schemas"]["CorrelationId"]; + bulkQuoteId: components["schemas"]["CorrelationId"]; + payerFsp: components["schemas"]["FspId"]; + payeeFsp: components["schemas"]["FspId"]; + /** @description List of IndividualTransfer elements. */ + individualTransfers: components["schemas"]["IndividualTransfer"][]; + expiration: components["schemas"]["DateTime"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * IndividualTransferResult + * @description Data model for the complex type IndividualTransferResult. + */ + IndividualTransferResult: { + transferId: components["schemas"]["CorrelationId"]; + fulfilment?: components["schemas"]["IlpFulfilment"]; + errorInformation?: components["schemas"]["ErrorInformation"]; + extensionList?: components["schemas"]["ExtensionList"]; + }; + /** + * BulkTransactionState + * @description Below are the allowed values for the enumeration. + * - RECEIVED - Payee FSP has received the bulk transfer from the Payer FSP. + * - PENDING - Payee FSP has validated the bulk transfer. + * - ACCEPTED - Payee FSP has accepted to process the bulk transfer. + * - PROCESSING - Payee FSP has started to transfer fund to the Payees. + * - COMPLETED - Payee FSP has completed transfer of funds to the Payees. + * - REJECTED - Payee FSP has rejected to process the bulk transfer. + * @example RECEIVED + * @enum {string} + */ + BulkTransferState: + | "RECEIVED" + | "PENDING" + | "ACCEPTED" + | "PROCESSING" + | "COMPLETED" + | "REJECTED"; + /** + * BulkTransfersIDPutResponse + * @description The object sent in the PUT /bulkTransfers/{ID} callback. + */ + BulkTransfersIDPutResponse: { + completedTimestamp?: components["schemas"]["DateTime"]; + /** @description List of IndividualTransferResult elements. */ + individualTransferResults?: components["schemas"]["IndividualTransferResult"][]; + bulkTransferState: components["schemas"]["BulkTransferState"]; + extensionList?: components["schemas"]["ExtensionList"]; }; }; - /** - * The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. - */ - PartiesByTypeAndID2: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; + responses: { + /** OK */ + 200: unknown; + /** Accepted */ + 202: unknown; + /** Bad Request */ + 400: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; }; }; - requestBody: { - "application/json": components["schemas"]["PartiesTypeIDPutResponse"]; + /** Unauthorized */ + 401: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Forbidden */ + 403: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Not Found */ + 404: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Method Not Allowed */ + 405: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Not Acceptable */ + 406: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Not Implemented */ + 501: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; + }; + /** Service Unavailable */ + 503: { + headers: {}; + content: { + "application/json": components["schemas"]["ErrorInformationResponse"]; + }; }; + }; + parameters: { + /** @description The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: string; + /** @description The identifier value. */ + ID: string; + /** @description The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** @description The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * @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`. + */ + "X-Forwarded-For": string; + /** @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`). */ + "FSPIOP-Source": string; + /** @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. */ + "FSPIOP-Destination": string; + /** @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. */ + "FSPIOP-Encryption": string; + /** @description 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; + /** @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). */ + "FSPIOP-URI": string; + /** @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). */ + "FSPIOP-HTTP-Method": string; + /** @description The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + /** + * @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-Length": number; + /** @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; + }; + headers: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; +} + +export interface operations { + /** Essential path to include schema definitions that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions. */ + test: { responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + /** Ok */ + 200: unknown; + }; + requestBody: { + content: { + "application/json": + | components["schemas"]["BinaryString"] + | components["schemas"]["BinaryString32"] + | components["schemas"]["Date"] + | components["schemas"]["Integer"] + | components["schemas"]["Name"] + | components["schemas"]["PersonalIdentifierType"] + | components["schemas"]["TokenCode"] + | components["schemas"]["Transaction"] + | components["schemas"]["UndefinedEnum"]; + }; }; }; - /** - * If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used. - */ - PartiesErrorByTypeAndID: { + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ + ParticipantsByTypeAndID: { parameters: { path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ Type: components["parameters"]["Type"]; + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { - "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). - */ - PartiesSubIdByTypeAndID: { - parameters: { - header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ Accept: components["parameters"]["Accept"]; }; }; responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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 /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. - */ - PartiesSubIdByTypeAndIDPut: { - parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["PartiesTypeIDPutResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubId}/error`) is used. - */ - PartiesSubIdErrorByTypeAndID: { + /** 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. */ + ParticipantsByTypeAndID3: { parameters: { path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ Type: components["parameters"]["Type"]; + /** The identifier value. */ ID: components["parameters"]["ID"]; - SubId: components["parameters"]["SubId"]; }; header: { - "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; }; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ParticipantsTypeIDPutResponse"]; + }; }; }; - /** - * The HTTP request `POST /transactionRequests` is used to request the creation of a transaction request for the provided financial transaction in the server. - */ - TransactionRequests: { + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 */ + ParticipantsByIDAndType: { parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; header: { - Accept: components["parameters"]["Accept"]; - "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; - }; - }; - requestBody: { - "application/json": components["schemas"]["TransactionRequestsPostRequest"]; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /transactionRequests/{ID}` is used to get information regarding a transaction request created or requested earlier. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request. - */ - TransactionRequestsByID: { - parameters: { - header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ Accept: components["parameters"]["Accept"]; - }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /transactionRequests/{ID}` is used to inform the client of a requested or created transaction request. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. - */ - TransactionRequestsByIDPut: { - parameters: { - header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ "Content-Length"?: components["parameters"]["Content-Length"]; }; }; - requestBody: { - "application/json": components["schemas"]["TransactionRequestsIDPutResponse"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ParticipantsTypeIDSubIDPostRequest"]; + }; }; }; /** - * If the server is unable to find or create a transaction request, or another processing error occurs, the error callback `PUT /transactionRequests/{ID}/error` is used. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + * + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. */ - TransactionRequestsErrorByID: { + ParticipantsByTypeAndID2: { parameters: { path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { - "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; }; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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 `POST /quotes` is used to request the creation of a quote for the provided financial transaction in the server. - */ - Quotes: { + /** 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. */ + ParticipantsErrorByTypeAndID: { parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; header: { - 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"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; - requestBody: { - "application/json": components["schemas"]["QuotesPostRequest"]; - }; responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ErrorInformationObject"]; + }; }; }; - /** - * The HTTP request `GET /quotes/{ID}` is used to get information regarding a quote created or requested earlier. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote. - */ - QuotesByID: { + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ + ParticipantsSubIdByTypeAndID: { 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"]; + }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ Accept: components["parameters"]["Accept"]; }; }; responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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 /quotes/{ID}` is used to inform the client of a requested or created quote. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. - */ - QuotesByID1: { + /** 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. */ + ParticipantsSubIdByTypeAndID3: { 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"]; + }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; }; }; - requestBody: { - "application/json": components["schemas"]["QuotesIDPutResponse"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ParticipantsTypeIDPutResponse"]; + }; }; }; - /** - * If the server is unable to find or create a quote, or some other processing error occurs, the error callback `PUT /quotes/{ID}/error` is used. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. - */ - QuotesByIDAndError: { + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 */ + ParticipantsSubIdByTypeAndIDPost: { 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"]; }; header: { - "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + 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"?: components["parameters"]["Content-Length"]; }; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ParticipantsTypeIDSubIDPostRequest"]; + }; }; }; /** - * The HTTP request `GET /authorizations/{ID}` is used to request the Payer to enter the applicable credentials in the Payee FSP system. The `{ID}` in the URI should contain the `transactionRequestID`, received from the `POST /transactionRequests` service earlier in the process. This request requires a query string to be included in the URI, with the following key-value pairs*:* - * - * - `authenticationType={Type}`, where `{Type}` value is a valid authentication type from the enumeration `AuthenticationType`. - * - * - `retriesLeft=={NrOfRetries}`, where `{NrOfRetries}` is the number of retries left before the financial transaction is rejected. `{NrOfRetries}` must be expressed in the form of the data type `Integer`. `retriesLeft=1` means that this is the last retry before the financial transaction is rejected. - * - * - `amount={Amount}`, where `{Amount}` is the transaction amount that will be withdrawn from the Payer’s account. `{Amount}` must be expressed in the form of the data type `Amount`. - * - * - `currency={Currency}`, where `{Currency}` is the transaction currency for the amount that will be withdrawn from the Payer’s account. The `{Currency}` value must be expressed in the form of the enumeration `CurrencyCode`. - * - * The following is an example URI containing all the required key-value pairs in the query string*:* + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. * - * `GET /authorization/3d492671-b7af-4f3f-88de-76169b1bdf88?authenticationType=OTP&retriesLeft=2&amount=102¤cy=USD` + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. */ - AuthorizationsByIDGet: { + ParticipantsSubIdByTypeAndID2: { parameters: { - header: { - Accept: components["parameters"]["Accept"]; + 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"]; }; - }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /authorizations/{ID}` is used to inform the client of the result of a previously-requested authorization. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}` request. - */ - AuthorizationsByIDPut: { - parameters: { header: { - "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; }; }; - requestBody: { - "application/json": components["schemas"]["AuthorizationsIDPutResponse"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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 the transaction request, or another processing error occurs, the error callback `PUT /authorizations/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}`. - */ - AuthorizationsByIDAndError: { + /** 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. */ + ParticipantsSubIdErrorByTypeAndID: { 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"]; }; header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ErrorInformationObject"]; + }; }; }; - /** - * The HTTP request `POST /transfers` is used to request the creation of a transfer for the next ledger, and a financial transaction for the Payee FSP. - */ - transfers: { + /** The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. */ + Participants1: { parameters: { header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ 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"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; - requestBody: { - "application/json": components["schemas"]["TransfersPostRequest"]; - }; responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The HTTP request `GET /transfers/{ID}` is used to get information regarding a transfer created or requested earlier. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer. - */ - TransfersByIDGet: { - parameters: { - header: { - Accept: components["parameters"]["Accept"]; + 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": components["schemas"]["ParticipantsPostRequest"]; }; }; - responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; }; - /** - * The HTTP request PATCH /transfers/ is used by a Switch to update the state of a previously reserved transfer, if the Payee FSP has requested a commit notification when the Switch has completed processing of the transfer. The in the URI should contain the transferId that was used for the creation of the transfer. Please note that this request does not generate a callback. - */ - TransfersByIDPatch: { + /** The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. */ + putParticipantsByID: { parameters: { - header: { - "Content-Length"?: components["parameters"]["Content-Length"]; + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; }; - }; - requestBody: { - "application/json": components["schemas"]["TransfersIDPatchResponse"]; - }; - responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; - }; - }; - /** - * The callback `PUT /transfers/{ID}` is used to inform the client of a requested or created transfer. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}` request. - */ - TransfersByIDPut: { - parameters: { header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; - requestBody: { - "application/json": components["schemas"]["TransfersIDPutResponse"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ParticipantsIDPutResponse"]; + }; }; }; - /** - * If the server is unable to find or create a transfer, or another processing error occurs, the error callback `PUT /transfers/{ID}/error` is used. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}`. - */ - TransfersByIDAndError: { + /** If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. */ + ParticipantsByIDAndError: { parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ErrorInformationObject"]; + }; }; }; - /** - * The HTTP request `GET /transactions/{ID}` is used to get transaction information regarding a financial transaction created earlier. The `{ID}` in the URI should contain the `transactionId` that was used for the creation of the quote, as the transaction is created as part of another process (the transfer process). - */ - TransactionsByID: { + /** The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). */ + 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"]; + }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ Accept: components["parameters"]["Accept"]; }; }; responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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 /transactions/{ID}` is used to inform the client of a requested transaction. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. - */ - TransactionsByID1: { + /** The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. */ + PartiesByTypeAndID2: { parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; }; }; - requestBody: { - "application/json": components["schemas"]["TransactionsIDPutResponse"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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"]; + }; + /** Party information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["PartiesTypeIDPutResponse"]; + }; }; }; - /** - * If the server is unable to find or create a transaction, or another processing error occurs, the error callback `PUT /transactions/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. - */ - TransactionsErrorByID: { + /** If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used. */ + PartiesErrorByTypeAndID: { parameters: { path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: components["parameters"]["Type"]; + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; + responses: { + 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: { - "application/json": components["schemas"]["ErrorInformationObject"]; + content: { + "application/json": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). */ + 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"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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 `POST /bulkQuotes` is used to request the creation of a bulk quote for the provided financial transactions in the server. - */ - BulkQuotes: { + /** The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. */ + PartiesSubIdByTypeAndIDPut: { 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"]; + }; header: { - Accept: components["parameters"]["Accept"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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"]; + }; + /** Party information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["PartiesTypeIDPutResponse"]; + }; + }; + }; + /** If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubId}/error`) is used. */ + PartiesSubIdErrorByTypeAndID: { + 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"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; + responses: { + 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: { - "application/json": components["schemas"]["BulkQuotesPostRequest"]; + content: { + "application/json": components["schemas"]["ErrorInformationObject"]; + }; + }; + }; + /** The HTTP request `POST /transactionRequests` is used to request the creation of a transaction request for the provided financial transaction in the server. */ + TransactionRequests: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + 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"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["TransactionRequestsPostRequest"]; + }; }; }; - /** - * The HTTP request `GET /bulkQuotes/{ID}` is used to get information regarding a bulk quote created or requested earlier. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. - */ - BulkQuotesByID: { + /** The HTTP request `GET /transactionRequests/{ID}` is used to get information regarding a transaction request created or requested earlier. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request. */ + TransactionRequestsByID: { parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ Accept: components["parameters"]["Accept"]; }; }; responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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 /bulkQuotes/{ID}` is used to inform the client of a requested or created bulk quote. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. - */ - BulkQuotesByID1: { + /** The callback `PUT /transactionRequests/{ID}` is used to inform the client of a requested or created transaction request. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. */ + TransactionRequestsByIDPut: { parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; }; }; - requestBody: { - "application/json": components["schemas"]["BulkQuotesIDPutResponse"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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"]; + }; + /** Transaction request information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["TransactionRequestsIDPutResponse"]; + }; }; }; - /** - * If the server is unable to find or create a bulk quote, or another processing error occurs, the error callback `PUT /bulkQuotes/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. - */ - BulkQuotesErrorByID: { + /** If the server is unable to find or create a transaction request, or another processing error occurs, the error callback `PUT /transactionRequests/{ID}/error` is used. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. */ + TransactionRequestsErrorByID: { parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ErrorInformationObject"]; + }; }; }; - /** - * The HTTP request `POST /bulkTransfers` is used to request the creation of a bulk transfer in the server. - */ - BulkTransfers: { + /** The HTTP request `POST /quotes` is used to request the creation of a quote for the provided financial transaction in the server. */ + Quotes: { parameters: { header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ 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"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; - requestBody: { - "application/json": components["schemas"]["BulkTransfersPostRequest"]; - }; responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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"]; + }; + /** Details of the quote to be created. */ + requestBody: { + content: { + "application/json": components["schemas"]["QuotesPostRequest"]; + }; }; }; - /** - * The HTTP request `GET /bulkTransfers/{ID}` is used to get information regarding a bulk transfer created or requested earlier. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. - */ - BulkTransferByID: { + /** The HTTP request `GET /quotes/{ID}` is used to get information regarding a quote created or requested earlier. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote. */ + QuotesByID: { parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ Accept: components["parameters"]["Accept"]; }; }; responses: { - "202": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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 /bulkTransfers/{ID}` is used to inform the client of a requested or created bulk transfer. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. - */ - BulkTransfersByIDPut: { + /** The callback `PUT /quotes/{ID}` is used to inform the client of a requested or created quote. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. */ + QuotesByID1: { parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; }; }; - requestBody: { - "application/json": components["schemas"]["BulkTransfersIDPutResponse"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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"]; + }; + /** Quote information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["QuotesIDPutResponse"]; + }; }; }; - /** - * If the server is unable to find or create a bulk transfer, or another processing error occurs, the error callback `PUT /bulkTransfers/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. - */ - BulkTransfersErrorByID: { + /** If the server is unable to find or create a quote, or some other processing error occurs, the error callback `PUT /quotes/{ID}/error` is used. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. */ + QuotesByIDAndError: { parameters: { path: { + /** The identifier value. */ ID: components["parameters"]["ID"]; }; header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; }; }; - requestBody: { - "application/json": components["schemas"]["ErrorInformationObject"]; - }; responses: { - "200": unknown; - "400": unknown; - "401": unknown; - "403": unknown; - "404": unknown; - "405": unknown; - "406": unknown; - "501": unknown; - "503": unknown; + 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": components["schemas"]["ErrorInformationObject"]; + }; }; }; -} - -export interface components { - parameters: { - /** - * The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. - */ - Type: string; - /** - * The identifier value. - */ - ID: string; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ - Date: string; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length": number; - /** - * A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. - */ - SubId: string; - }; - schemas: { - /** - * 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; - /** - * The API data type BinaryString32 is a fixed size version of the API data type BinaryString, where the raw underlying data is always of 32 bytes. The data type BinaryString32 should not use a padding character as the size of the underlying data is fixed. - */ - BinaryString32: string; - /** - * The API data type Date is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. This format, as specified in ISO 8601, contains a date only. A more readable version of the format is yyyy-MM-dd. Examples are "1982-05-23", "1987-08-05”. - */ - Date: string; - /** - * 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. - */ - Integer: string; - /** - * 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; - /** - * Below are the allowed values for the enumeration. - * - PASSPORT - A passport number is used as reference to a Party. - * - NATIONAL_REGISTRATION - A national registration number is used as reference to a Party. - * - DRIVING_LICENSE - A driving license is used as reference to a Party. - * - ALIEN_REGISTRATION - An alien registration number is used as reference to a Party. - * - NATIONAL_ID_CARD - A national ID card number is used as reference to a Party. - * - EMPLOYER_ID - A tax identification number is used as reference to a Party. - * - TAX_ID_NUMBER - A tax identification number is used as reference to a Party. - * - SENIOR_CITIZENS_CARD - A senior citizens card number is used as reference to a Party. - * - MARRIAGE_CERTIFICATE - A marriage certificate number is used as reference to a Party. - * - HEALTH_CARD - A health card number is used as reference to a Party. - * - VOTERS_ID - A voter’s identification number is used as reference to a Party. - * - UNITED_NATIONS - An UN (United Nations) number is used as reference to a Party. - * - OTHER_ID - Any other type of identification type number is used as reference to a Party. - */ - PersonalIdentifierType: - | "PASSPORT" - | "NATIONAL_REGISTRATION" - | "DRIVING_LICENSE" - | "ALIEN_REGISTRATION" - | "NATIONAL_ID_CARD" - | "EMPLOYER_ID" - | "TAX_ID_NUMBER" - | "SENIOR_CITIZENS_CARD" - | "MARRIAGE_CERTIFICATE" - | "HEALTH_CARD" - | "VOTERS_ID" - | "UNITED_NATIONS" - | "OTHER_ID"; - /** - * The API data type TokenCode is a JSON String between 4 and 32 characters, consisting of digits or upper- or lowercase characters from a to z. - */ - TokenCode: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - CorrelationId: string; - /** - * 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. - */ - PartyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - PartyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - PartySubIdOrType: string; - /** - * FSP identifier. - */ - FspId: string; - /** - * Extension key. - */ - ExtensionKey: string; - /** - * Extension value. - */ - ExtensionValue: string; - /** - * Data model for the complex type Extension. - */ - Extension: { - key: components["schemas"]["ExtensionKey"]; - value: components["schemas"]["ExtensionValue"]; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - ExtensionList: { - /** - * Number of Extension elements. - */ - extension: components["schemas"]["Extension"][]; - }; - /** - * 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"]; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - PartyName: string; - /** - * First name of the Party (Name Type). - */ - FirstName: string; - /** - * Middle name of the Party (Name Type). - */ - MiddleName: string; - /** - * Last name of the Party (Name Type). - */ - LastName: string; - /** - * Data model for the complex type PartyComplexName. - */ - PartyComplexName: { - firstName?: components["schemas"]["FirstName"]; - middleName?: components["schemas"]["MiddleName"]; - lastName?: components["schemas"]["LastName"]; - }; - /** - * Date of Birth of the Party. - */ - DateOfBirth: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - PartyPersonalInfo: { - complexName?: components["schemas"]["PartyComplexName"]; - dateOfBirth?: components["schemas"]["DateOfBirth"]; - }; - /** - * Data model for the complex type Party. - */ - Party: { - partyIdInfo: components["schemas"]["PartyIdInfo"]; - merchantClassificationCode?: components["schemas"]["MerchantClassificationCode"]; - name?: components["schemas"]["PartyName"]; - personalInfo?: components["schemas"]["PartyPersonalInfo"]; - }; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - Currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - Amount: string; - /** - * Data model for the complex type Money. - */ - Money: { - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; + /** + * The HTTP request `GET /authorizations/{ID}` is used to request the Payer to enter the applicable credentials in the Payee FSP system. The `{ID}` in the URI should contain the `transactionRequestID`, received from the `POST /transactionRequests` service earlier in the process. This request requires a query string to be included in the URI, with the following key-value pairs*:* + * + * - `authenticationType={Type}`, where `{Type}` value is a valid authentication type from the enumeration `AuthenticationType`. + * + * - `retriesLeft=={NrOfRetries}`, where `{NrOfRetries}` is the number of retries left before the financial transaction is rejected. `{NrOfRetries}` must be expressed in the form of the data type `Integer`. `retriesLeft=1` means that this is the last retry before the financial transaction is rejected. + * + * - `amount={Amount}`, where `{Amount}` is the transaction amount that will be withdrawn from the Payer’s account. `{Amount}` must be expressed in the form of the data type `Amount`. + * + * - `currency={Currency}`, where `{Currency}` is the transaction currency for the amount that will be withdrawn from the Payer’s account. The `{Currency}` value must be expressed in the form of the enumeration `CurrencyCode`. + * + * The following is an example URI containing all the required key-value pairs in the query string*:* + * + * `GET /authorization/3d492671-b7af-4f3f-88de-76169b1bdf88?authenticationType=OTP&retriesLeft=2&amount=102¤cy=USD` + */ + AuthorizationsByIDGet: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; }; - /** - * 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. - */ - TransactionScenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - TransactionSubScenario: string; - /** - * 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. - */ - TransactionInitiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Reason for the refund. - */ - RefundReason: string; - /** - * Data model for the complex type Refund. - */ - Refund: { - originalTransactionId: components["schemas"]["CorrelationId"]; - refundReason?: components["schemas"]["RefundReason"]; + responses: { + 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"]; }; - /** - * (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. - */ - BalanceOfPayments: string; - /** - * 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"]; + }; + /** The callback `PUT /authorizations/{ID}` is used to inform the client of the result of a previously-requested authorization. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}` request. */ + AuthorizationsByIDPut: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; }; - /** - * Memo assigned to transaction. - */ - Note: string; - /** - * Data model for the complex type Transaction. The Transaction type is used to carry end-to-end data between the Payer FSP and the Payee FSP in the ILP Packet. Both the transactionId and the quoteId in the data model are decided by the Payer FSP in the POST /quotes request. - */ - Transaction: { - transactionId: components["schemas"]["CorrelationId"]; - quoteId: components["schemas"]["CorrelationId"]; - payee: components["schemas"]["Party"]; - payer: components["schemas"]["Party"]; - amount: components["schemas"]["Money"]; - transactionType: components["schemas"]["TransactionType"]; - note?: components["schemas"]["Note"]; - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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"]; + }; + /** Authorization result returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["AuthorizationsIDPutResponse"]; + }; }; - /** - * The API data type UndefinedEnum is a JSON String consisting of 1 to 32 uppercase characters including an underscore character (_). - */ - UndefinedEnum: string; - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - ErrorCode: string; - /** - * Error description string. - */ - ErrorDescription: string; - /** - * Data model for the complex type ErrorInformation. - */ - ErrorInformation: { - errorCode: components["schemas"]["ErrorCode"]; - errorDescription: components["schemas"]["ErrorDescription"]; - extensionList?: components["schemas"]["ExtensionList"]; + }; + /** If the server is unable to find the transaction request, or another processing error occurs, the error callback `PUT /authorizations/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}`. */ + AuthorizationsByIDAndError: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. - */ - ErrorInformationResponse: { - errorInformation?: components["schemas"]["ErrorInformation"]; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; }; - /** - * The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. - */ - ParticipantsTypeIDPutResponse: { fspId?: components["schemas"]["FspId"] }; - /** - * 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: components["schemas"]["FspId"]; - currency?: components["schemas"]["Currency"]; - extensionList?: components["schemas"]["ExtensionList"]; + }; + /** The HTTP request `POST /transfers` is used to request the creation of a transfer for the next ledger, and a financial transaction for the Payee FSP. */ + transfers: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + 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"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * Data model for the complex type object that contains ErrorInformation. - */ - ErrorInformationObject: { - errorInformation: components["schemas"]["ErrorInformation"]; + responses: { + 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"]; + }; + /** Details of the transfer to be created. */ + requestBody: { + content: { + "application/json": components["schemas"]["TransfersPostRequest"]; + }; }; - /** - * The object sent in the POST /participants request. - */ - ParticipantsPostRequest: { - requestId: components["schemas"]["CorrelationId"]; - /** - * List of PartyIdInfo elements that the client would like to update or create FSP information about. - */ - partyList: components["schemas"]["PartyIdInfo"][]; - currency?: components["schemas"]["Currency"]; + }; + /** The HTTP request `GET /transfers/{ID}` is used to get information regarding a transfer created or requested earlier. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer. */ + TransfersByIDGet: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; }; - /** - * Data model for the complex type PartyResult. - */ - PartyResult: { - partyId: components["schemas"]["PartyIdInfo"]; - errorInformation?: components["schemas"]["ErrorInformation"]; + responses: { + 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 /transfers/{ID}` is used to inform the client of a requested or created transfer. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}` request. */ + TransfersByIDPut: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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"]; + }; + /** Transfer information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["TransfersIDPutResponse"]; + }; + }; + }; + /** The HTTP request PATCH /transfers/ is used by a Switch to update the state of a previously reserved transfer, if the Payee FSP has requested a commit notification when the Switch has completed processing of the transfer. The in the URI should contain the transferId that was used for the creation of the transfer. Please note that this request does not generate a callback. */ + TransfersByIDPatch: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; + }; + responses: { + 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"]; + }; + /** Transfer notification upon completion. */ + requestBody: { + content: { + "application/json": components["schemas"]["TransfersIDPatchResponse"]; + }; + }; + }; + /** If the server is unable to find or create a transfer, or another processing error occurs, the error callback `PUT /transfers/{ID}/error` is used. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}`. */ + TransfersByIDAndError: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * The object sent in the PUT /participants/{ID} callback. - */ - ParticipantsIDPutResponse: { - /** - * List of PartyResult elements that were either created or failed to be created. - */ - partyList: components["schemas"]["PartyResult"][]; - currency?: components["schemas"]["Currency"]; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; }; - /** - * The object sent in the PUT /parties/{Type}/{ID} callback. - */ - PartiesTypeIDPutResponse: { party: components["schemas"]["Party"] }; - /** - * 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; - /** - * 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; - /** - * 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"]; + }; + /** The HTTP request `GET /transactions/{ID}` is used to get transaction information regarding a financial transaction created earlier. The `{ID}` in the URI should contain the `transactionId` that was used for the creation of the quote, as the transaction is created as part of another process (the transfer process). */ + TransactionsByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; }; - /** - * 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. - */ - AuthenticationType: "OTP" | "QRCODE" | "U2F"; - /** - * 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). - */ - DateTime: string; - /** - * The object sent in the POST /transactionRequests request. - */ - TransactionRequestsPostRequest: { - transactionRequestId: components["schemas"]["CorrelationId"]; - payee: components["schemas"]["Party"]; - payer: components["schemas"]["PartyIdInfo"]; - amount: components["schemas"]["Money"]; - transactionType: components["schemas"]["TransactionType"]; - note?: components["schemas"]["Note"]; - geoCode?: components["schemas"]["GeoCode"]; - authenticationType?: components["schemas"]["AuthenticationType"]; - expiration?: components["schemas"]["DateTime"]; - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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"]; }; - /** - * 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. - */ - TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - /** - * The object sent in the PUT /transactionRequests/{ID} callback. - */ - TransactionRequestsIDPutResponse: { - transactionId?: components["schemas"]["CorrelationId"]; - transactionRequestState: components["schemas"]["TransactionRequestState"]; - extensionList?: components["schemas"]["ExtensionList"]; + }; + /** The callback `PUT /transactions/{ID}` is used to inform the client of a requested transaction. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. */ + TransactionsByID1: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; }; - /** - * 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. - */ - AmountType: "SEND" | "RECEIVE"; - /** - * 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"]; + responses: { + 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"]; + }; + /** Transaction information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["TransactionsIDPutResponse"]; + }; }; - /** - * Information for recipient (transport layer information). - */ - IlpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - IlpCondition: string; - /** - * 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"]; + }; + /** If the server is unable to find or create a transaction, or another processing error occurs, the error callback `PUT /transactions/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. */ + TransactionsErrorByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. - */ - OtpValue: string; - /** - * QR code used as a One Time Password. - */ - QRCODE: string; - /** - * U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key. - */ - U2FPIN: string; - /** - * U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key. - */ - U2FPinValue: { - /** - * U2F challenge-response. - */ - pinValue: components["schemas"]["U2FPIN"]; - /** - * Sequential counter used for cloning detection. Present only for U2F authentication. - */ - counter: components["schemas"]["Integer"]; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; }; - /** - * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. - */ - AuthenticationValue: Partial & - Partial & - Partial; - /** - * Data model for the complex type AuthenticationInfo. - */ - AuthenticationInfo: { - authentication: components["schemas"]["AuthenticationType"]; - authenticationValue: components["schemas"]["AuthenticationValue"]; + }; + /** The HTTP request `POST /bulkQuotes` is used to request the creation of a bulk quote for the provided financial transactions in the server. */ + BulkQuotes: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + 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"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * Below are the allowed values for the enumeration. - * - ENTERED - Consumer entered the authentication value. - * - REJECTED - Consumer rejected the transaction. - * - RESEND - Consumer requested to resend the authentication value. - */ - AuthorizationResponse: "ENTERED" | "REJECTED" | "RESEND"; - /** - * The object sent in the PUT /authorizations/{ID} callback. - */ - AuthorizationsIDPutResponse: { - authenticationInfo?: components["schemas"]["AuthenticationInfo"]; - responseType: components["schemas"]["AuthorizationResponse"]; + responses: { + 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"]; + }; + /** Details of the bulk quote to be created. */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkQuotesPostRequest"]; + }; }; - /** - * The object sent in the POST /transfers request. - */ - TransfersPostRequest: { - 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"]; + }; + /** The HTTP request `GET /bulkQuotes/{ID}` is used to get information regarding a bulk quote created or requested earlier. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. */ + BulkQuotesByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; }; - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - IlpFulfilment: string; - /** - * 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. - */ - TransferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * 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"]; + responses: { + 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"]; }; - /** - * PATCH /transfers/{ID} object - */ - TransfersIDPatchResponse: { - completedTimestamp: components["schemas"]["DateTime"]; - transferState: components["schemas"]["TransferState"]; - extensionList?: components["schemas"]["ExtensionList"]; + }; + /** The callback `PUT /bulkQuotes/{ID}` is used to inform the client of a requested or created bulk quote. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. */ + BulkQuotesByID1: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; }; - /** - * 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. - */ - TransactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - /** - * Any code/token returned by the Payee FSP (TokenCode Type). - */ - Code: string; - /** - * The object sent in the PUT /transactions/{ID} callback. - */ - TransactionsIDPutResponse: { - completedTimestamp?: components["schemas"]["DateTime"]; - transactionState: components["schemas"]["TransactionState"]; - code?: components["schemas"]["Code"]; - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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"]; + }; + /** Bulk quote information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkQuotesIDPutResponse"]; + }; }; - /** - * Data model for the complex type IndividualQuote. - */ - IndividualQuote: { - quoteId: components["schemas"]["CorrelationId"]; - transactionId: components["schemas"]["CorrelationId"]; - payee: components["schemas"]["Party"]; - amountType: components["schemas"]["AmountType"]; - amount: components["schemas"]["Money"]; - fees?: components["schemas"]["Money"]; - transactionType: components["schemas"]["TransactionType"]; - note?: components["schemas"]["Note"]; - extensionList?: components["schemas"]["ExtensionList"]; + }; + /** If the server is unable to find or create a bulk quote, or another processing error occurs, the error callback `PUT /bulkQuotes/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. */ + BulkQuotesErrorByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * The object sent in the POST /bulkQuotes request. - */ - BulkQuotesPostRequest: { - bulkQuoteId: components["schemas"]["CorrelationId"]; - payer: components["schemas"]["Party"]; - geoCode?: components["schemas"]["GeoCode"]; - expiration?: components["schemas"]["DateTime"]; - /** - * List of quotes elements. - */ - individualQuotes: components["schemas"]["IndividualQuote"][]; - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; }; - /** - * Data model for the complex type IndividualQuoteResult. - */ - IndividualQuoteResult: { - quoteId: components["schemas"]["CorrelationId"]; - payee?: components["schemas"]["Party"]; - transferAmount?: components["schemas"]["Money"]; - payeeReceiveAmount?: components["schemas"]["Money"]; - payeeFspFee?: components["schemas"]["Money"]; - payeeFspCommission?: components["schemas"]["Money"]; - ilpPacket?: components["schemas"]["IlpPacket"]; - condition?: components["schemas"]["IlpCondition"]; - errorInformation?: components["schemas"]["ErrorInformation"]; - extensionList?: components["schemas"]["ExtensionList"]; + }; + /** The HTTP request `POST /bulkTransfers` is used to request the creation of a bulk transfer in the server. */ + BulkTransfers: { + parameters: { + header: { + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + 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"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; }; - /** - * The object sent in the PUT /bulkQuotes/{ID} callback. - */ - BulkQuotesIDPutResponse: { - /** - * Fees for each individual transaction, if any of them are charged per transaction. - */ - individualQuoteResults?: components["schemas"]["IndividualQuoteResult"][]; - expiration: components["schemas"]["DateTime"]; - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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"]; + }; + /** Details of the bulk transfer to be created. */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkTransfersPostRequest"]; + }; }; - /** - * Data model for the complex type IndividualTransfer. - */ - IndividualTransfer: { - transferId: components["schemas"]["CorrelationId"]; - transferAmount: components["schemas"]["Money"]; - ilpPacket: components["schemas"]["IlpPacket"]; - condition: components["schemas"]["IlpCondition"]; - extensionList?: components["schemas"]["ExtensionList"]; + }; + /** The HTTP request `GET /bulkTransfers/{ID}` is used to get information regarding a bulk transfer created or requested earlier. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. */ + BulkTransferByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: components["parameters"]["Accept"]; + }; }; - /** - * The object sent in the POST /bulkTransfers request. - */ - BulkTransfersPostRequest: { - bulkTransferId: components["schemas"]["CorrelationId"]; - bulkQuoteId: components["schemas"]["CorrelationId"]; - payerFsp: components["schemas"]["FspId"]; - payeeFsp: components["schemas"]["FspId"]; - /** - * List of IndividualTransfer elements. - */ - individualTransfers: components["schemas"]["IndividualTransfer"][]; - expiration: components["schemas"]["DateTime"]; - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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"]; }; - /** - * Data model for the complex type IndividualTransferResult. - */ - IndividualTransferResult: { - transferId: components["schemas"]["CorrelationId"]; - fulfilment?: components["schemas"]["IlpFulfilment"]; - errorInformation?: components["schemas"]["ErrorInformation"]; - extensionList?: components["schemas"]["ExtensionList"]; + }; + /** The callback `PUT /bulkTransfers/{ID}` is used to inform the client of a requested or created bulk transfer. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. */ + BulkTransfersByIDPut: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["Content-Length"]; + }; }; - /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payee FSP has received the bulk transfer from the Payer FSP. - * - PENDING - Payee FSP has validated the bulk transfer. - * - ACCEPTED - Payee FSP has accepted to process the bulk transfer. - * - PROCESSING - Payee FSP has started to transfer fund to the Payees. - * - COMPLETED - Payee FSP has completed transfer of funds to the Payees. - * - REJECTED - Payee FSP has rejected to process the bulk transfer. - */ - BulkTransferState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "PROCESSING" - | "COMPLETED" - | "REJECTED"; - /** - * The object sent in the PUT /bulkTransfers/{ID} callback. - */ - BulkTransfersIDPutResponse: { - completedTimestamp?: components["schemas"]["DateTime"]; - /** - * List of IndividualTransferResult elements. - */ - individualTransferResults?: components["schemas"]["IndividualTransferResult"][]; - bulkTransferState: components["schemas"]["BulkTransferState"]; - extensionList?: components["schemas"]["ExtensionList"]; + responses: { + 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"]; + }; + /** Bulk transfer information returned. */ + requestBody: { + content: { + "application/json": components["schemas"]["BulkTransfersIDPutResponse"]; + }; }; }; - responses: { - /** - * OK - */ - "200": { [key: string]: any }; - /** - * Accepted - */ - "202": { [key: string]: any }; - /** - * Bad Request - */ - "400": { [key: string]: any }; - /** - * Unauthorized - */ - "401": { [key: string]: any }; - /** - * Forbidden - */ - "403": { [key: string]: any }; - /** - * Not Found - */ - "404": { [key: string]: any }; - /** - * Method Not Allowed - */ - "405": { [key: string]: any }; - /** - * Not Acceptable - */ - "406": { [key: string]: any }; - /** - * Not Implemented - */ - "501": { [key: string]: any }; - /** - * Service Unavailable - */ - "503": { [key: string]: any }; + /** If the server is unable to find or create a bulk transfer, or another processing error occurs, the error callback `PUT /bulkTransfers/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. */ + BulkTransfersErrorByID: { + parameters: { + path: { + /** The identifier value. */ + ID: components["parameters"]["ID"]; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: components["parameters"]["Content-Length"]; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": components["parameters"]["Content-Type"]; + /** The `Date` header field indicates the date when the request was sent. */ + 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"?: 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": 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"?: 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"?: 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"?: 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"?: 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"?: components["parameters"]["FSPIOP-HTTP-Method"]; + }; + }; + responses: { + 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": components["schemas"]["ErrorInformationObject"]; + }; + }; }; } + +export interface external {} diff --git a/src/sdk-scheme-adapter/v2_0_0/inbound/json-schemas.json b/src/sdk-scheme-adapter/v2_0_0/inbound/json-schemas.json index 38e25645..3fab2861 100644 --- a/src/sdk-scheme-adapter/v2_0_0/inbound/json-schemas.json +++ b/src/sdk-scheme-adapter/v2_0_0/inbound/json-schemas.json @@ -7684,7 +7684,6 @@ "type": "object", "required": [ "homeTransactionId", - "transactionId", "to", "amountType", "currency", @@ -9485,7 +9484,6 @@ "type": "object", "required": [ "homeTransactionId", - "transactionId", "to", "amountType", "currency", diff --git a/src/sdk-scheme-adapter/v2_0_0/inbound/openapi.ts b/src/sdk-scheme-adapter/v2_0_0/inbound/openapi.ts index 49ca6d6d..cf5eccdd 100644 --- a/src/sdk-scheme-adapter/v2_0_0/inbound/openapi.ts +++ b/src/sdk-scheme-adapter/v2_0_0/inbound/openapi.ts @@ -5,9 +5,7 @@ export interface paths { "/participants/{idType}/{idValue}": { - /** - * 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. - */ + /** 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. */ get: { parameters: { path: { @@ -19,65 +17,49 @@ export interface paths { * - 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. */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * Identifier of the party. - */ + /** Identifier of the party. */ idValue: string; }; }; responses: { - /** - * Response containing details of the requested party - */ - "200": { - "application/json": { - /** - * FSP identifier. - */ - fspId?: string; + /** Response containing details of the requested party */ + 200: { + content: { + "application/json": { + /** @description FSP identifier. */ + fspId?: string; + }; }; }; - /** - * Malformed or missing required headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: string; + /** Malformed or missing required headers or parameters */ + 400: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: 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 code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; }; }; }; }; }; "/participants/{idType}/{idValue}/{idSubValue}": { - /** - * 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. - */ + /** 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. */ get: { parameters: { path: { @@ -89,69 +71,51 @@ export interface paths { * - 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. */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * Identifier of the party. - */ + /** Identifier of the party. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue: string; }; }; responses: { - /** - * Response containing details of the requested party - */ - "200": { - "application/json": { - /** - * FSP identifier. - */ - fspId?: string; + /** Response containing details of the requested party */ + 200: { + content: { + "application/json": { + /** @description FSP identifier. */ + fspId?: string; + }; }; }; - /** - * Malformed or missing required headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: string; + /** Malformed or missing required headers or parameters */ + 400: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: 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 code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; }; }; }; }; }; "/parties/{idType}/{idValue}": { - /** - * The HTTP request `GET /parties/{idType}/{idValue}` is used to look up information regarding the requested transfer party, identified by `{idType}` and `{idValue}`. - */ + /** The HTTP request `GET /parties/{idType}/{idValue}` is used to look up information regarding the requested transfer party, identified by `{idType}` and `{idValue}`. */ get: { parameters: { path: { @@ -163,107 +127,81 @@ export interface paths { * - 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. */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * Identifier of the party. - */ + /** Identifier of the party. */ idValue: string; }; }; responses: { - /** - * Response containing details of the requested party - */ - "200": { - "application/json": { - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - * - * - 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. - */ - idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ - idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ - idSubValue?: string; - /** - * Display name of the sender, if known. - */ - displayName?: string; - /** - * Party first name. - */ - firstName?: string; - /** - * Party middle name. - */ - middleName?: string; - /** - * Party last name. - */ - lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ - dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ - merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ - fspId?: string; - extensionList?: { key?: string; value?: string }[]; + /** Response containing details of the requested party */ + 200: { + content: { + "application/json": { + /** @enum {string} */ + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * @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. + * + * - 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. + * + * @enum {string} + */ + idType: "MSISDN" | "ACCOUNT_ID"; + /** @description The identifier string used to identify the sender. */ + idValue: string; + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ + idSubValue?: string; + /** @description Display name of the sender, if known. */ + displayName?: string; + /** @description Party first name. */ + firstName?: string; + /** @description Party middle name. */ + middleName?: string; + /** @description Party last name. */ + lastName?: string; + /** @description Date of birth in the form YYYY-MM-DD. */ + dateOfBirth?: string; + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ + merchantClassificationCode?: string; + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ + fspId?: string; + extensionList?: { + key?: string; + value?: string; + }[]; + }; }; }; - /** - * Malformed or missing required headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: string; + /** Malformed or missing required headers or parameters */ + 400: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: 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 code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; }; }; }; }; }; "/parties/{idType}/{idValue}/{idSubValue}": { - /** - * 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}`. - */ + /** 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}`. */ get: { parameters: { path: { @@ -275,2832 +213,906 @@ export interface paths { * - 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. */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * Identifier of the party. - */ + /** Identifier of the party. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue: string; }; }; responses: { - /** - * Response containing details of the requested party - */ - "200": { - "application/json": { - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - * - * - 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. - */ - idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ - idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ - idSubValue?: string; - /** - * Display name of the sender, if known. - */ - displayName?: string; - /** - * Party first name. - */ - firstName?: string; - /** - * Party middle name. - */ - middleName?: string; - /** - * Party last name. - */ - lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ - dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ - merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ - fspId?: string; - extensionList?: { key?: string; value?: string }[]; + /** Response containing details of the requested party */ + 200: { + content: { + "application/json": { + /** @enum {string} */ + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * @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. + * + * - 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. + * + * @enum {string} + */ + idType: "MSISDN" | "ACCOUNT_ID"; + /** @description The identifier string used to identify the sender. */ + idValue: string; + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ + idSubValue?: string; + /** @description Display name of the sender, if known. */ + displayName?: string; + /** @description Party first name. */ + firstName?: string; + /** @description Party middle name. */ + middleName?: string; + /** @description Party last name. */ + lastName?: string; + /** @description Date of birth in the form YYYY-MM-DD. */ + dateOfBirth?: string; + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ + merchantClassificationCode?: string; + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ + fspId?: string; + extensionList?: { + key?: string; + value?: string; + }[]; + }; }; }; - /** - * Malformed or missing required headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: string; + /** Malformed or missing required headers or parameters */ + 400: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: 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 code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; }; }; }; }; }; "/quoterequests": { - /** - * The HTTP request `POST /quoterequests` is used to request the creation of a quote for the provided financial transaction. - */ + /** The HTTP request `POST /quoterequests` is used to request the creation of a quote for the provided financial transaction. */ post: { + responses: { + /** A response to the transfer quotation request */ + 200: { + content: { + "application/json": { + /** @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"; + /** @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 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 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 An ISO-8601 formatted timestamp. */ + expiration?: 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; + }; + extensionList?: { + key?: string; + value?: string; + }[]; + }; + }; + }; + /** Malformed or missing required headers or parameters */ + 400: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; + }; + }; + /** An error occurred processing the request */ + 500: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; + }; + }; + }; + /** Request for a transfer quotation */ requestBody: { - "application/json": { - /** - * A Mojaloop API quote identifier (UUID). - */ - quoteId: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ - transactionId: string; - /** - * Information about the Payee in the proposed financial transaction. - */ - to: { - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - * - * - 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. - */ - idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ - idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ - idSubValue?: string; - /** - * Display name of the sender, if known. - */ - displayName?: string; - /** - * Party first name. - */ - firstName?: string; - /** - * Party middle name. - */ - middleName?: string; - /** - * Party last name. - */ - lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ - dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ - merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ - fspId?: string; - extensionList?: { key?: string; value?: string }[]; - }; - /** - * Information about the Payer in the proposed financial transaction. - */ - from: { - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - * - * - 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. - */ - idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ - idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ - idSubValue?: string; - /** - * Display name of the sender, if known. - */ - displayName?: string; - /** - * Party first name. - */ - firstName?: string; - /** - * Party middle name. - */ - middleName?: string; - /** - * Party last name. - */ - lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ - dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ - merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ - fspId?: string; - extensionList?: { key?: string; value?: string }[]; - }; - /** - * SEND for send amount, RECEIVE for receive amount. - */ - amountType: "SEND" | "RECEIVE"; - /** - * 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; - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * 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; - 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"; - /** - * Type of transaction for which the quote is requested. - */ - transactionType: "TRANSFER"; - /** - * Specifies if the initiator of the transfer is the Payer or Payee. - */ - initiator: "PAYER" | "PAYEE"; - /** - * Specifies the type of the transaction initiator. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * An optional note associated with the requested transfer. - */ - note?: string; - /** - * An ISO-8601 formatted timestamp. - */ - expiration?: string; - extensionList?: { key?: string; value?: string }[]; - }; - }; - responses: { - /** - * A response to the transfer quotation request - */ - "200": { - "application/json": { - /** - * A Mojaloop API quote identifier (UUID). - */ - quoteId: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ - transactionId: string; - /** - * The amount of money that the Payer FSP should transfer to the Payee FSP. - */ - transferAmount: string; - /** - * The currency of the `transferAmount`. - */ - 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"; - /** - * 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; - /** - * The currency of the `payeeReceiveAmount`. - */ - 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"; - /** - * Payee FSP’s part of the transaction fee. - */ - payeeFspFeeAmount?: string; - /** - * The currency of the `payeeFspFeeAmount`. - */ - 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"; - /** - * Transaction commission from the Payee FSP. - */ - payeeFspCommissionAmount?: string; - /** - * Currency of the `payeeFspCommissionAmount`. - */ - 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"; - /** - * An ISO-8601 formatted timestamp. - */ - expiration?: string; - /** - * Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - extensionList?: { key?: string; value?: string }[]; - }; - }; - /** - * Malformed or missing required headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: string; - }; - }; - /** - * An error occurred processing the request - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: string; - }; - }; - }; - }; - }; - "/transfers": { - /** - * The HTTP request `POST /transfers` is used to request the creation of a transfer for the transfer party. - */ - post: { - requestBody: { - "application/json": { - /** - * A Mojaloop API transfer identifier (UUID). - */ - transferId: string; - /** - * A response to a request for a quote. - */ - quote: { - /** - * A Mojaloop API quote identifier (UUID). - */ - quoteId: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ - transactionId: string; - /** - * The amount of money that the Payer FSP should transfer to the Payee FSP. - */ - transferAmount: string; - /** - * The currency of the `transferAmount`. - */ - 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"; - /** - * 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; - /** - * The currency of the `payeeReceiveAmount`. - */ - 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"; - /** - * Payee FSP’s part of the transaction fee. - */ - payeeFspFeeAmount?: string; - /** - * The currency of the `payeeFspFeeAmount`. - */ - 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"; - /** - * Transaction commission from the Payee FSP. - */ - payeeFspCommissionAmount?: string; - /** - * Currency of the `payeeFspCommissionAmount`. - */ - 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"; - /** - * An ISO-8601 formatted timestamp. - */ - expiration?: string; - /** - * Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - extensionList?: { key?: string; value?: string }[]; - }; - quoteRequestExtensions?: { key?: string; value?: string }[]; - from: { - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - * - * - 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. - */ - idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ - idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ - idSubValue?: string; - /** - * Display name of the sender, if known. - */ - displayName?: string; - /** - * Party first name. - */ - firstName?: string; - /** - * Party middle name. - */ - middleName?: string; - /** - * Party last name. - */ - lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ - dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ - merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ - fspId?: string; - extensionList?: { key?: string; value?: string }[]; - }; - to: { - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - * - * - 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. - */ - idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ - idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ - idSubValue?: string; - /** - * Display name of the sender, if known. - */ - displayName?: string; - /** - * Party first name. - */ - firstName?: string; - /** - * Party middle name. - */ - middleName?: string; - /** - * Party last name. - */ - lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ - dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ - merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ - fspId?: string; - extensionList?: { key?: string; value?: string }[]; - }; - /** - * SEND for send amount, RECEIVE for receive amount. - */ - amountType: "SEND" | "RECEIVE"; - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - amount: string; - transactionType: "TRANSFER"; - ilpPacket: { - /** - * Object containing transfer object. - */ - data: { - /** - * A Mojaloop API quote identifier (UUID). - */ - quoteId: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ - transactionId: string; - /** - * Information about the Payer in the proposed financial transaction. - */ - payer: { - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - * - * - 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. - */ - idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ - idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ - idSubValue?: string; - /** - * Display name of the sender, if known. - */ - displayName?: string; - /** - * Party first name. - */ - firstName?: string; - /** - * Party middle name. - */ - middleName?: string; - /** - * Party last name. - */ - lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ - dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ - merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ - fspId?: string; - extensionList?: { key?: string; value?: string }[]; - }; - /** - * Information about the Payee in the proposed financial transaction. - */ - payee: { - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - * - * - 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. - */ - idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ - idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ - idSubValue?: string; - /** - * Display name of the sender, if known. - */ - displayName?: string; - /** - * Party first name. - */ - firstName?: string; - /** - * Party middle name. - */ - middleName?: string; - /** - * Party last name. - */ - lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ - dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ - merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ - fspId?: string; - extensionList?: { key?: string; value?: string }[]; - }; - /** - * Object containing Amount and Currency of the transfer. - */ - amount: { - amount: string; - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - /** - * Object containing transfer object. - */ - transactionType: { - scenario: "TRANSFER"; - /** - * Specifies if the initiator of the transfer is the Payer or Payee. - */ - initiator: "PAYER" | "PAYEE"; - /** - * Specifies the type of the transaction initiator. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - }; - }; - note?: string; - }; - }; - responses: { - /** - * The transfer was accepted - */ - "200": { - "application/json": { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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. - */ - transferState?: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * An ISO-8601 formatted timestamp. - */ - completedTimestamp?: string; - }; - }; - /** - * Malformed or missing required headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: string; - }; - }; - /** - * An error occurred processing the request - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: 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: { - responses: { - /** - * The transfer was accepted - */ - "200": { + content: { "application/json": { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { + /** @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 Information about the Payee in the proposed financial transaction. */ + to: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; - to: { + /** @description Information about the Payer in the proposed financial transaction. */ + from: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; /** - * SEND for send amount, RECEIVE for receive amount. + * @description SEND for send amount, RECEIVE for receive amount. + * @enum {string} */ amountType: "SEND" | "RECEIVE"; + /** @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; + /** @enum {string} */ currency: | "AED" | "AFN" @@ -3266,511 +1278,1055 @@ export interface paths { | "ZAR" | "ZMW" | "ZWD"; - amount: 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"; /** - * 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. + * @description Type of transaction for which the quote is requested. + * @enum {string} */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * An ISO-8601 formatted timestamp. - */ - timestamp: string; transactionType: "TRANSFER"; - note?: string; - extensions?: { key?: string; value?: string }[]; - }; - }; - /** - * An error occurred processing the request - */ - "500": { - "application/json": { /** - * Error code as string. + * @description Specifies if the initiator of the transfer is the Payer or Payee. + * @enum {string} */ - statusCode: string; + initiator: "PAYER" | "PAYEE"; /** - * Error message text. + * @description Specifies the type of the transaction initiator. + * @enum {string} */ - message?: string; + initiatorType: "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 An optional note associated with the requested transfer. */ + note?: string; + /** @description An ISO-8601 formatted timestamp. */ + expiration?: string; + extensionList?: { + key?: string; + value?: string; + }[]; }; }; }; }; - /** - * The HTTP request `PUT /transfers/{transferId}` is used to receive notification for transfer being fulfiled when the FSP is a Payee - */ - put: { - requestBody: { - "application/json": { - /** - * A Mojaloop API transfer identifier (UUID). - */ - transferId?: string; - direction?: "INBOUND"; - quoteRequest?: { - headers?: { [key: string]: any }; - body?: { [key: string]: any }; - }; - quoteResponse?: { - headers?: { [key: string]: any }; - body?: { [key: string]: any }; - }; - prepare?: { - headers?: { [key: string]: any }; - body?: { [key: string]: any }; - }; - fulfil?: { - headers?: { [key: string]: any }; - body?: { [key: string]: any }; - }; - quote?: { - request?: { [key: string]: any }; - internalRequest?: { [key: string]: any }; - response?: { [key: string]: any }; - mojaloopResponse?: { [key: string]: any }; - fulfilment?: string; - }; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { + }; + "/transfers": { + /** The HTTP request `POST /transfers` is used to request the creation of a transfer for the transfer party. */ + post: { + responses: { + /** The transfer was accepted */ + 200: { + content: { + "application/json": { + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId: string; /** - * Data model for the complex type ErrorInformation. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + fulfilment?: 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"; + /** + * @description An ISO-8601 formatted timestamp. + * @example 2020-05-19T08:38:08.699-04:00 + */ + completedTimestamp?: string; }; }; - /** - * An ISO-8601 formatted timestamp. - */ - initiatedTimestamp?: string; - finalNotification?: { - /** - * An ISO-8601 formatted timestamp. - */ - completedTimestamp: string; - /** - * 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. - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * Optional extension, specific to deployment. - */ - extensionList?: { key?: string; value?: string }[]; + }; + /** Malformed or missing required headers or parameters */ + 400: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; }; }; - }; - responses: { - /** - * The notification was accepted - */ - "200": unknown; - /** - * An error occurred processing the request - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; - /** - * Error message text. - */ - message?: string; + /** An error occurred processing the request */ + 500: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; }; }; }; - }; - parameters: { - path: { - transferId: string; - }; - }; - }; - "/bulkTransactions/{bulkTransactionId}": { - /** - * The HTTP request `PUT /bulkTransactions/{bulkTransactionId}` is used to request 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. - */ - put: { + /** An incoming transfer request */ requestBody: { - "application/json": { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - bulkHomeTransactionID: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransactionId: string; - currentState: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - options?: { - /** - * 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: { enabled: false | true }; - /** - * 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: { - enabled: true | false; - perTransferFeeLimits?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }[]; - }; - /** - * 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; - /** - * 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; - /** - * 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). - */ - bulkExpiration: string; - }; - /** - * List of individual transfer result in a bulk transfer response. - */ - individualTransferResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - /** - * Data model for the complex type Party. - */ - to: { + content: { + "application/json": { + /** @description A Mojaloop API transfer identifier (UUID). */ + transferId: string; + /** @description A response to a request for a quote. */ + quote: { + /** @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; /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 + * @description The currency of the `transferAmount`. + * @enum {string} */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: 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"; + /** @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 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 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 An ISO-8601 formatted timestamp. */ + expiration?: 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; }; + extensionList?: { + key?: string; + value?: string; + }[]; + }; + quoteRequestExtensions?: { + key?: string; + value?: string; + }[]; + from: { + /** @enum {string} */ + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * 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 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. + * + * - 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. + * + * @enum {string} */ + idType: "MSISDN" | "ACCOUNT_ID"; + /** @description The identifier string used to identify the sender. */ + idValue: string; + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ + idSubValue?: string; + /** @description Display name of the sender, if known. */ + displayName?: string; + /** @description Party first name. */ + firstName?: string; + /** @description Party middle name. */ + middleName?: string; + /** @description Party last name. */ + lastName?: string; + /** @description Date of birth in the form YYYY-MM-DD. */ + dateOfBirth?: string; + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ + fspId?: string; + extensionList?: { + key?: string; + value?: string; + }[]; + }; + to: { + /** @enum {string} */ + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. + * @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. + * + * - 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. + * + * @enum {string} */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; + idType: "MSISDN" | "ACCOUNT_ID"; + /** @description The identifier string used to identify the sender. */ + idValue: string; + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ + idSubValue?: string; + /** @description Display name of the sender, if known. */ + displayName?: string; + /** @description Party first name. */ + firstName?: string; + /** @description Party middle name. */ + middleName?: string; + /** @description Party last name. */ + lastName?: string; + /** @description Date of birth in the form YYYY-MM-DD. */ + dateOfBirth?: string; + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ + merchantClassificationCode?: string; + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ + fspId?: string; + extensionList?: { + key?: string; + value?: string; + }[]; }; /** - * Payer Loan reference - */ - reference?: string; - /** - * 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. + * @description SEND for send amount, RECEIVE for receive amount. + * @enum {string} */ amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 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" @@ -3936,979 +2492,2243 @@ export interface paths { | "ZAR" | "ZMW" | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ amount: string; - /** - * Memo assigned to transaction. - */ + /** @enum {string} */ + transactionType: "TRANSFER"; + ilpPacket: { + /** @description Object containing transfer object. */ + data: { + /** @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 Information about the Payer in the proposed financial transaction. */ + payer: { + /** @enum {string} */ + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * @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. + * + * - 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. + * + * @enum {string} + */ + idType: "MSISDN" | "ACCOUNT_ID"; + /** @description The identifier string used to identify the sender. */ + idValue: string; + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ + idSubValue?: string; + /** @description Display name of the sender, if known. */ + displayName?: string; + /** @description Party first name. */ + firstName?: string; + /** @description Party middle name. */ + middleName?: string; + /** @description Party last name. */ + lastName?: string; + /** @description Date of birth in the form YYYY-MM-DD. */ + dateOfBirth?: string; + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ + merchantClassificationCode?: string; + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ + fspId?: string; + extensionList?: { + key?: string; + value?: string; + }[]; + }; + /** @description Information about the Payee in the proposed financial transaction. */ + payee: { + /** @enum {string} */ + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * @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. + * + * - 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. + * + * @enum {string} + */ + idType: "MSISDN" | "ACCOUNT_ID"; + /** @description The identifier string used to identify the sender. */ + idValue: string; + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ + idSubValue?: string; + /** @description Display name of the sender, if known. */ + displayName?: string; + /** @description Party first name. */ + firstName?: string; + /** @description Party middle name. */ + middleName?: string; + /** @description Party last name. */ + lastName?: string; + /** @description Date of birth in the form YYYY-MM-DD. */ + dateOfBirth?: string; + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ + merchantClassificationCode?: string; + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ + fspId?: string; + extensionList?: { + key?: string; + value?: string; + }[]; + }; + /** @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"; + }; + /** @description Object containing transfer object. */ + transactionType: { + /** @enum {string} */ + scenario: "TRANSFER"; + /** + * @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"; + }; + }; + }; note?: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - quoteResponse?: { - /** - * Data model for the complex type Money. - */ - transferAmount: { + }; + }; + }; + }; + }; + "/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: { + transferId: string; + }; + }; + responses: { + /** The transfer was accepted */ + 200: { + content: { + "application/json": { + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId: string; + from: { + /** @enum {string} */ + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * @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. + * + * - 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. + * + * @enum {string} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + idType: "MSISDN" | "ACCOUNT_ID"; + /** @description The identifier string used to identify the sender. */ + idValue: string; + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ + idSubValue?: string; + /** @description Display name of the sender, if known. */ + displayName?: string; + /** @description Party first name. */ + firstName?: string; + /** @description Party middle name. */ + middleName?: string; + /** @description Party last name. */ + lastName?: string; + /** @description Date of birth in the form YYYY-MM-DD. */ + dateOfBirth?: string; + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ + merchantClassificationCode?: string; + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ + fspId?: string; + extensionList?: { + key?: string; + value?: string; + }[]; + }; + to: { + /** @enum {string} */ + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * @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. + * + * - 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. + * + * @enum {string} */ - amount: string; + idType: "MSISDN" | "ACCOUNT_ID"; + /** @description The identifier string used to identify the sender. */ + idValue: string; + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ + idSubValue?: string; + /** @description Display name of the sender, if known. */ + displayName?: string; + /** @description Party first name. */ + firstName?: string; + /** @description Party middle name. */ + middleName?: string; + /** @description Party last name. */ + lastName?: string; + /** @description Date of birth in the form YYYY-MM-DD. */ + dateOfBirth?: string; + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ + merchantClassificationCode?: string; + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ + fspId?: string; + extensionList?: { + key?: string; + value?: string; + }[]; }; /** - * Data model for the complex type Money. + * @description SEND for send amount, RECEIVE for receive amount. + * @enum {string} */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + 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"; + amount: 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. + * + * @enum {string} + */ + transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + /** @description An ISO-8601 formatted timestamp. */ + timestamp: string; + /** @enum {string} */ + transactionType: "TRANSFER"; + note?: string; + extensions?: { + key?: string; + value?: string; + }[]; + }; + }; + }; + /** An error occurred processing the request */ + 500: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; + }; + }; + }; + }; + /** The HTTP request `PUT /transfers/{transferId}` is used to receive notification for transfer being fulfiled when the FSP is a Payee */ + put: { + parameters: { + path: { + transferId: string; + }; + }; + responses: { + /** The notification was accepted */ + 200: unknown; + /** An error occurred processing the request */ + 500: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; + }; + }; + }; + /** An incoming notification for fulfiled transfer */ + requestBody: { + content: { + "application/json": { + /** @description A Mojaloop API transfer identifier (UUID). */ + transferId?: string; + /** @enum {string} */ + direction?: "INBOUND"; + quoteRequest?: { + headers?: { [key: string]: unknown }; + body?: { [key: string]: unknown }; + }; + quoteResponse?: { + headers?: { [key: string]: unknown }; + body?: { [key: string]: unknown }; + }; + prepare?: { + headers?: { [key: string]: unknown }; + body?: { [key: string]: unknown }; + }; + fulfil?: { + headers?: { [key: string]: unknown }; + body?: { [key: string]: unknown }; + }; + quote?: { + request?: { [key: string]: unknown }; + internalRequest?: { [key: string]: unknown }; + response?: { [key: string]: unknown }; + mojaloopResponse?: { [key: string]: unknown }; + fulfilment?: string; + }; + /** @enum {string} */ + currentState?: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "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?: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - amount: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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 An ISO-8601 formatted timestamp. */ + initiatedTimestamp?: string; + finalNotification?: { + /** + * @description An ISO-8601 formatted timestamp. + * @example 2020-05-19T08:38:08.699-04:00 + */ + completedTimestamp: 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"; + /** @description Optional extension, specific to deployment. */ + extensionList?: { + key?: string; + value?: string; + }[]; + }; + }; + }; + }; + }; + parameters: { + path: { + transferId: string; + }; + }; + }; + "/bulkTransactions/{bulkTransactionId}": { + /** The HTTP request `PUT /bulkTransactions/{bulkTransactionId}` is used to request 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. */ + put: { + parameters: { + path: { + /** Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. */ + bulkTransactionId: string; + }; + }; + responses: { + /** The notification was accepted */ + 200: unknown; + /** An error occurred processing the request */ + 500: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; + }; + }; + }; + /** An incoming notification for fulfiled transfer */ + 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; + /** @enum {string} */ + currentState: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; + 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; + }; + /** @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; + /** @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; /** - * Data model for the complex type Money. + * Party + * @description Data model for the complex type Party. */ - payeeFspFee?: { + to: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + 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; + }[]; + }; + }; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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. */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { + merchantClassificationCode?: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + name?: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ - amount: string; + 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; /** - * 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). + * 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} */ - expiration: string; + amountType: "SEND" | "RECEIVE"; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * Currency + * @description The currency codes defined in [ISO 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} */ - geoCode?: { - /** - * 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; - /** - * 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; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Information for recipient (transport layer information). + * 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 */ - ilpPacket: string; + amount: string; /** - * Condition that must be attached to the transfer by the Payer. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - condition: string; + note?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { + quoteId?: string; + /** + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. + */ + quoteResponse?: { /** - * Number of Extension elements. + * Money + * @description Data model for the complex type Money. */ - extension: { + transferAmount: { /** - * Extension key. + * Currency + * @description The currency codes defined in [ISO 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} */ - key: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 value. + * 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 */ - value: string; - }[]; - }; - }; - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - fulfil?: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + amount: string; + }; /** - * Number of Extension elements. + * Money + * @description Data model for the complex type Money. */ - extension: { + payeeReceiveAmount?: { /** - * Extension key. + * Currency + * @description The currency codes defined in [ISO 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} */ - key: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 value. + * 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 */ - value: string; - }[]; + 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; + }[]; + }; }; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - quoteExtensions?: { /** - * Number of Extension elements. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - extension: { + fulfil?: { /** - * Extension key. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - key: string; + fulfilment?: string; /** - * Extension value. + * 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 */ - value: string; - }[]; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - transferExtensions?: { - /** - * Number of Extension elements. - */ - extension: { + completedTimestamp?: string; /** - * Extension key. + * 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} */ - key: string; + transferState: + | "RECEIVED" + | "RESERVED" + | "COMMITTED" + | "ABORTED"; /** - * Extension value. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - httpStatusCode?: number; + quoteExtensions?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; /** - * 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. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - mojaloopError?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { + transferExtensions?: { + /** @description Number of Extension elements. */ + extension: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ExtensionKey + * @description Extension key. */ - errorCode: string; + key: string; /** - * Error description string. + * ExtensionValue + * @description Extension value. */ - errorDescription: string; + 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?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extensionList?: { + errorInformation?: { /** - * Number of Extension elements. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; }; }; }; - }; - }[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; }[]; - }; - }; - }; - responses: { - /** - * The notification was accepted - */ - "200": unknown; - /** - * An error occurred processing the request - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode: string; /** - * Error message text. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - message?: string; + extensions?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; }; }; }; }; parameters: { path: { - /** - * Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. - */ + /** Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. */ bulkTransactionId: string; }; }; }; } -export interface operations {} - export interface components { - parameters: { - transferId: string; - /** - * 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. - * - * - 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. - */ - idType: "MSISDN" | "ACCOUNT_ID"; - /** - * Identifier of the party. - */ - idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ - idSubValue: string; - /** - * Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. - */ - bulkTransactionId: string; - }; schemas: { /** - * SEND for send amount, RECEIVE for receive amount. + * @description SEND for send amount, RECEIVE for receive amount. + * @enum {string} */ amountType: "SEND" | "RECEIVE"; + /** @enum {string} */ currency: | "AED" | "AFN" @@ -5074,48 +4894,39 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth: string; errorResponse: { - /** - * Error code as string. - */ + /** @description Error code as string. */ statusCode: string; - /** - * Error message text. - */ + /** @description Error message text. */ message?: string; }; - /** - * FSP identifier. - */ + /** @description FSP identifier. */ fspId: string; - extensionList: { key?: string; value?: string }[]; - /** - * Indicates the geographic location from where the transaction was initiated. - */ + extensionList: { + key?: string; + value?: string; + }[]; + /** @description Indicates the geographic location from where the transaction was initiated. */ geoCode: { - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; }; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; /** - * Below are the allowed values for the enumeration. + * @description Below are the allowed values for the enumeration. * * - PASSPORT - Apassport number isused in reference to a party. * @@ -5142,6 +4953,8 @@ export interface components { * - UNITED_NATIONS - An UN (United Nations) number isused in reference to a party. * * - OTHER_ID - Any other type of identification type number isused in reference to a party. + * + * @enum {string} */ personalIdType: | "PASSPORT" @@ -5157,165 +4970,125 @@ export interface components { | "VOTERS_ID" | "UNITED_NATIONS" | "OTHER_ID"; - /** - * Identifier of the party. - */ + /** @description Identifier of the party. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue: string; /** - * Specifies if the initiator of the transfer is the Payer or Payee. + * @description Specifies if the initiator of the transfer is the Payer or Payee. + * @enum {string} */ initiator: "PAYER" | "PAYEE"; - extensionItem: { key?: string; value?: string }; + extensionItem: { + key?: string; + value?: string; + }; /** - * Specifies the type of the transaction initiator. + * @description Specifies the type of the transaction initiator. + * @enum {string} */ initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; money: string; participantsResponse: { - /** - * FSP identifier. - */ + /** @description FSP identifier. */ fspId?: string; }; + /** @enum {string} */ payerType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * A Mojaloop API quote identifier (UUID). - */ + /** @description A Mojaloop API quote identifier (UUID). */ quoteId: string; - /** - * A request for a quote for transfer from the DFSP backend. - */ + /** @description A request for a quote for transfer from the DFSP backend. */ quoteRequest: { - /** - * A Mojaloop API quote identifier (UUID). - */ + /** @description A Mojaloop API quote identifier (UUID). */ quoteId: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ + /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ transactionId: string; - /** - * Information about the Payee in the proposed financial transaction. - */ + /** @description Information about the Payee in the proposed financial transaction. */ to: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; - /** - * Information about the Payer in the proposed financial transaction. - */ + /** @description Information about the Payer in the proposed financial transaction. */ from: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; /** - * SEND for send amount, RECEIVE for receive amount. + * @description SEND for send amount, RECEIVE for receive amount. + * @enum {string} */ amountType: "SEND" | "RECEIVE"; - /** - * 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. - */ + /** @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; + /** @enum {string} */ currency: | "AED" | "AFN" @@ -5481,10 +5254,9 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * 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. - */ + /** @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" @@ -5651,58 +5423,47 @@ export interface components { | "ZMW" | "ZWD"; /** - * Type of transaction for which the quote is requested. + * @description Type of transaction for which the quote is requested. + * @enum {string} */ transactionType: "TRANSFER"; /** - * Specifies if the initiator of the transfer is the Payer or Payee. + * @description Specifies if the initiator of the transfer is the Payer or Payee. + * @enum {string} */ initiator: "PAYER" | "PAYEE"; /** - * Specifies the type of the transaction initiator. + * @description Specifies the type of the transaction initiator. + * @enum {string} */ initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Indicates the geographic location from where the transaction was initiated. - */ + /** @description Indicates the geographic location from where the transaction was initiated. */ geoCode?: { - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; }; - /** - * An optional note associated with the requested transfer. - */ + /** @description An optional note associated with the requested transfer. */ note?: string; - /** - * An ISO-8601 formatted timestamp. - */ + /** @description An ISO-8601 formatted timestamp. */ expiration?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; - /** - * A response to a request for a quote. - */ + /** @description A response to a request for a quote. */ quoteResponse: { - /** - * A Mojaloop API quote identifier (UUID). - */ + /** @description A Mojaloop API quote identifier (UUID). */ quoteId: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ + /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ transactionId: string; - /** - * The amount of money that the Payer FSP should transfer to the Payee FSP. - */ + /** @description The amount of money that the Payer FSP should transfer to the Payee FSP. */ transferAmount: string; /** - * The currency of the `transferAmount`. + * @description The currency of the `transferAmount`. + * @enum {string} */ transferAmountCurrency: | "AED" @@ -5869,12 +5630,11 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * 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. - */ + /** @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; /** - * The currency of the `payeeReceiveAmount`. + * @description The currency of the `payeeReceiveAmount`. + * @enum {string} */ payeeReceiveAmountCurrency?: | "AED" @@ -6041,12 +5801,11 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * Payee FSP’s part of the transaction fee. - */ + /** @description Payee FSP’s part of the transaction fee. */ payeeFspFeeAmount?: string; /** - * The currency of the `payeeFspFeeAmount`. + * @description The currency of the `payeeFspFeeAmount`. + * @enum {string} */ payeeFspFeeAmountCurrency?: | "AED" @@ -6213,12 +5972,11 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * Transaction commission from the Payee FSP. - */ + /** @description Transaction commission from the Payee FSP. */ payeeFspCommissionAmount?: string; /** - * Currency of the `payeeFspCommissionAmount`. + * @description Currency of the `payeeFspCommissionAmount`. + * @enum {string} */ payeeFspCommissionAmountCurrency?: | "AED" @@ -6385,40 +6143,32 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * An ISO-8601 formatted timestamp. - */ + /** @description An ISO-8601 formatted timestamp. */ expiration?: string; - /** - * Indicates the geographic location from where the transaction was initiated. - */ + /** @description Indicates the geographic location from where the transaction was initiated. */ geoCode?: { - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; }; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; - /** - * An ISO-8601 formatted timestamp. - */ + /** @description An ISO-8601 formatted timestamp. */ timestamp: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ + /** @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"; + /** @enum {string} */ scenario: "TRANSFER"; - /** - * Object containing Amount and Currency of the transfer. - */ + /** @description Object containing Amount and Currency of the transfer. */ amountCurrency: { amount: string; + /** @enum {string} */ currency: | "AED" | "AFN" @@ -6585,139 +6335,105 @@ export interface components { | "ZMW" | "ZWD"; }; - /** - * Object containing transfer object. - */ + /** @description Object containing transfer object. */ transactionTypeObject: { + /** @enum {string} */ scenario: "TRANSFER"; /** - * Specifies if the initiator of the transfer is the Payer or Payee. + * @description Specifies if the initiator of the transfer is the Payer or Payee. + * @enum {string} */ initiator: "PAYER" | "PAYEE"; /** - * Specifies the type of the transaction initiator. + * @description Specifies the type of the transaction initiator. + * @enum {string} */ initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; }; - /** - * Object containing transfer object. - */ + /** @description Object containing transfer object. */ ilpPacketData: { - /** - * A Mojaloop API quote identifier (UUID). - */ + /** @description A Mojaloop API quote identifier (UUID). */ quoteId: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ + /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ transactionId: string; - /** - * Information about the Payer in the proposed financial transaction. - */ + /** @description Information about the Payer in the proposed financial transaction. */ payer: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; - /** - * Information about the Payee in the proposed financial transaction. - */ + /** @description Information about the Payee in the proposed financial transaction. */ payee: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; - /** - * Object containing Amount and Currency of the transfer. - */ + /** @description Object containing Amount and Currency of the transfer. */ amount: { amount: string; + /** @enum {string} */ currency: | "AED" | "AFN" @@ -6884,100 +6600,80 @@ export interface components { | "ZMW" | "ZWD"; }; - /** - * Object containing transfer object. - */ + /** @description Object containing transfer object. */ transactionType: { + /** @enum {string} */ scenario: "TRANSFER"; /** - * Specifies if the initiator of the transfer is the Payer or Payee. + * @description Specifies if the initiator of the transfer is the Payer or Payee. + * @enum {string} */ initiator: "PAYER" | "PAYEE"; /** - * Specifies the type of the transaction initiator. + * @description Specifies the type of the transaction initiator. + * @enum {string} */ initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; }; }; - /** - * A Mojaloop API transfer identifier (UUID). - */ + /** @description A Mojaloop API transfer identifier (UUID). */ transferId: string; transferParty: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; /** - * 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. + * @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"; transferRequest: { - /** - * A Mojaloop API transfer identifier (UUID). - */ + /** @description A Mojaloop API transfer identifier (UUID). */ transferId: string; - /** - * A response to a request for a quote. - */ + /** @description A response to a request for a quote. */ quote: { - /** - * A Mojaloop API quote identifier (UUID). - */ + /** @description A Mojaloop API quote identifier (UUID). */ quoteId: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ + /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ transactionId: string; - /** - * The amount of money that the Payer FSP should transfer to the Payee FSP. - */ + /** @description The amount of money that the Payer FSP should transfer to the Payee FSP. */ transferAmount: string; /** - * The currency of the `transferAmount`. + * @description The currency of the `transferAmount`. + * @enum {string} */ transferAmountCurrency: | "AED" @@ -7144,12 +6840,11 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * 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. - */ + /** @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; /** - * The currency of the `payeeReceiveAmount`. + * @description The currency of the `payeeReceiveAmount`. + * @enum {string} */ payeeReceiveAmountCurrency?: | "AED" @@ -7316,12 +7011,11 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * Payee FSP’s part of the transaction fee. - */ + /** @description Payee FSP’s part of the transaction fee. */ payeeFspFeeAmount?: string; /** - * The currency of the `payeeFspFeeAmount`. + * @description The currency of the `payeeFspFeeAmount`. + * @enum {string} */ payeeFspFeeAmountCurrency?: | "AED" @@ -7488,12 +7182,11 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * Transaction commission from the Payee FSP. - */ + /** @description Transaction commission from the Payee FSP. */ payeeFspCommissionAmount?: string; /** - * Currency of the `payeeFspCommissionAmount`. + * @description Currency of the `payeeFspCommissionAmount`. + * @enum {string} */ payeeFspCommissionAmountCurrency?: | "AED" @@ -7660,126 +7353,102 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - /** - * An ISO-8601 formatted timestamp. - */ + /** @description An ISO-8601 formatted timestamp. */ expiration?: string; - /** - * Indicates the geographic location from where the transaction was initiated. - */ + /** @description Indicates the geographic location from where the transaction was initiated. */ geoCode?: { - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ + /** @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; }; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; - quoteRequestExtensions?: { key?: string; value?: string }[]; + quoteRequestExtensions?: { + key?: string; + value?: string; + }[]; from: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; to: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; /** - * SEND for send amount, RECEIVE for receive amount. + * @description SEND for send amount, RECEIVE for receive amount. + * @enum {string} */ amountType: "SEND" | "RECEIVE"; + /** @enum {string} */ currency: | "AED" | "AFN" @@ -7946,127 +7615,93 @@ export interface components { | "ZMW" | "ZWD"; amount: string; + /** @enum {string} */ transactionType: "TRANSFER"; ilpPacket: { - /** - * Object containing transfer object. - */ + /** @description Object containing transfer object. */ data: { - /** - * A Mojaloop API quote identifier (UUID). - */ + /** @description A Mojaloop API quote identifier (UUID). */ quoteId: string; - /** - * ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - */ + /** @description ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. */ transactionId: string; - /** - * Information about the Payer in the proposed financial transaction. - */ + /** @description Information about the Payer in the proposed financial transaction. */ payer: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; - /** - * Information about the Payee in the proposed financial transaction. - */ + /** @description Information about the Payee in the proposed financial transaction. */ payee: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; - /** - * Object containing Amount and Currency of the transfer. - */ + /** @description Object containing Amount and Currency of the transfer. */ amount: { amount: string; + /** @enum {string} */ currency: | "AED" | "AFN" @@ -8233,17 +7868,18 @@ export interface components { | "ZMW" | "ZWD"; }; - /** - * Object containing transfer object. - */ + /** @description Object containing transfer object. */ transactionType: { + /** @enum {string} */ scenario: "TRANSFER"; /** - * Specifies if the initiator of the transfer is the Payer or Payee. + * @description Specifies if the initiator of the transfer is the Payer or Payee. + * @enum {string} */ initiator: "PAYER" | "PAYEE"; /** - * Specifies the type of the transaction initiator. + * @description Specifies the type of the transaction initiator. + * @enum {string} */ initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; }; @@ -8252,128 +7888,108 @@ export interface components { note?: string; }; transferResponse: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId: string; /** - * Fulfilment that must be attached to the transfer by the Payee. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ fulfilment?: string; /** - * 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. + * @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"; /** - * An ISO-8601 formatted timestamp. + * @description An ISO-8601 formatted timestamp. + * @example 2020-05-19T08:38:08.699-04:00 */ completedTimestamp?: string; }; transferDetailsResponse: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId: string; from: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; to: { + /** @enum {string} */ type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * @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. * * - 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. + * + * @enum {string} */ idType: "MSISDN" | "ACCOUNT_ID"; - /** - * The identifier string used to identify the sender. - */ + /** @description The identifier string used to identify the sender. */ idValue: string; - /** - * Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` - */ + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ idSubValue?: string; - /** - * Display name of the sender, if known. - */ + /** @description Display name of the sender, if known. */ displayName?: string; - /** - * Party first name. - */ + /** @description Party first name. */ firstName?: string; - /** - * Party middle name. - */ + /** @description Party middle name. */ middleName?: string; - /** - * Party last name. - */ + /** @description Party last name. */ lastName?: string; - /** - * Date of birth in the form YYYY-MM-DD. - */ + /** @description Date of birth in the form YYYY-MM-DD. */ dateOfBirth?: string; - /** - * Up to 4 digits specifying the sender's merchant classification, if known and applicable. - */ + /** @description Up to 4 digits specifying the sender's merchant classification, if known and applicable. */ merchantClassificationCode?: string; - /** - * Mojaloop scheme FSPID of the DFSP which owns the party account. - */ + /** @description Mojaloop scheme FSPID of the DFSP which owns the party account. */ fspId?: string; - extensionList?: { key?: string; value?: string }[]; + extensionList?: { + key?: string; + value?: string; + }[]; }; /** - * SEND for send amount, RECEIVE for receive amount. + * @description SEND for send amount, RECEIVE for receive amount. + * @enum {string} */ amountType: "SEND" | "RECEIVE"; + /** @enum {string} */ currency: | "AED" | "AFN" @@ -8541,97 +8157,102 @@ export interface components { | "ZWD"; amount: string; /** - * 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. + * @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 ISO-8601 formatted timestamp. - */ + /** @description An ISO-8601 formatted timestamp. */ timestamp: string; + /** @enum {string} */ transactionType: "TRANSFER"; note?: string; - extensions?: { key?: string; value?: string }[]; + extensions?: { + key?: string; + value?: string; + }[]; }; + /** @enum {string} */ transferStatus: | "ERROR_OCCURRED" | "WAITING_FOR_PARTY_ACCEPTANCE" | "WAITING_FOR_QUOTE_ACCEPTANCE" | "COMPLETED"; /** - * PUT /transfers/{transferId} object + * TransfersIDPatchResponse + * @description PUT /transfers/{transferId} object */ fulfilNotification: { - /** - * A Mojaloop API transfer identifier (UUID). - */ + /** @description A Mojaloop API transfer identifier (UUID). */ transferId?: string; + /** @enum {string} */ direction?: "INBOUND"; quoteRequest?: { - headers?: { [key: string]: any }; - body?: { [key: string]: any }; + headers?: { [key: string]: unknown }; + body?: { [key: string]: unknown }; }; quoteResponse?: { - headers?: { [key: string]: any }; - body?: { [key: string]: any }; + headers?: { [key: string]: unknown }; + body?: { [key: string]: unknown }; }; prepare?: { - headers?: { [key: string]: any }; - body?: { [key: string]: any }; + headers?: { [key: string]: unknown }; + body?: { [key: string]: unknown }; }; fulfil?: { - headers?: { [key: string]: any }; - body?: { [key: string]: any }; + headers?: { [key: string]: unknown }; + body?: { [key: string]: unknown }; }; quote?: { - request?: { [key: string]: any }; - internalRequest?: { [key: string]: any }; - response?: { [key: string]: any }; - mojaloopResponse?: { [key: string]: any }; + request?: { [key: string]: unknown }; + internalRequest?: { [key: string]: unknown }; + response?: { [key: string]: unknown }; + mojaloopResponse?: { [key: string]: unknown }; fulfilment?: string; }; + /** @enum {string} */ currentState?: | "ERROR_OCCURRED" | "WAITING_FOR_PARTY_ACCEPTANCE" | "WAITING_FOR_QUOTE_ACCEPTANCE" | "COMPLETED"; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ + /** @description This object represents a Mojaloop API error received at any time during the transfer process */ lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ + /** @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; - /** - * 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. - */ + /** @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?: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -8639,115 +8260,131 @@ export interface components { }; }; }; - /** - * An ISO-8601 formatted timestamp. - */ + /** @description An ISO-8601 formatted timestamp. */ initiatedTimestamp?: string; finalNotification?: { /** - * An ISO-8601 formatted timestamp. + * @description An ISO-8601 formatted timestamp. + * @example 2020-05-19T08:38:08.699-04:00 */ completedTimestamp: string; /** - * 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. + * @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"; - /** - * Optional extension, specific to deployment. - */ - extensionList?: { key?: string; value?: string }[]; + /** @description Optional extension, specific to deployment. */ + extensionList?: { + key?: string; + value?: string; + }[]; }; }; - /** - * Data model for the complex type ExtensionList - */ + /** @description Data model for the complex type ExtensionList */ extensionListComplex: { - /** - * Number of Extension elements - */ - extension: { key?: string; value?: string }[]; + /** @description Number of Extension elements */ + extension: { + key?: string; + value?: string; + }[]; }; + /** @description This object may represent a number of different error object types and so its properties may vary significantly. */ + generalError: { [key: string]: unknown }; /** - * This object may represent a number of different error object types and so its properties may vary significantly. - */ - generalError: { [key: string]: any }; - /** - * Fulfilment that must be attached to the transfer by the Payee. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ IlpFulfilment: string; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ ErrorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ ErrorDescription: string; /** - * Extension key. + * ExtensionKey + * @description Extension key. */ ExtensionKey: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ ExtensionValue: string; /** - * Data model for the complex type Extension. + * Extension + * @description Data model for the complex type Extension. */ Extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ ExtensionList: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ ErrorInformation: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -8755,75 +8392,79 @@ export interface components { }; mojaloopError: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ + /** @description This object represents a Mojaloop API error received at any time during the transfer process */ transferError: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ + /** @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; - /** - * 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. - */ + /** @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?: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -8832,17 +8473,25 @@ export interface components { }; }; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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: { enabled: false | true }; + autoAcceptPartyOption: { + /** @enum {boolean} */ + enabled: false | true; + }; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -9010,12 +8659,16 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -9183,15 +8836,20 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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: { + /** @enum {boolean} */ enabled: true | false; perTransferFeeLimits?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -9359,29 +9017,35 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }[]; }; /** - * 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). + * 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: { - /** - * 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. - */ + /** @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: { enabled: false | true }; - /** - * 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. - */ + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -9549,26 +9213,27 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }[]; }; - /** - * 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. - */ + /** @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; - /** - * 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 - */ + /** @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; /** - * 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). + * 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; }; /** - * Below are the allowed values for the enumeration. + * 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. @@ -9577,6 +9242,7 @@ export interface components { * - 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" @@ -9588,23 +9254,29 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ PartyIdentifier: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ PartySubIdOrType: string; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ FspId: string; /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ PartyIdInfo: { /** - * Below are the allowed values for the enumeration. + * 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. @@ -9613,6 +9285,7 @@ export interface components { * - 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" @@ -9624,113 +9297,148 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ partyIdentifier: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ partySubIdOrType?: string; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * 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 + * @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; /** - * Name of the Party. Could be a real name or a nickname. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ PartyName: string; /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ FirstName: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ MiddleName: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ LastName: string; /** - * Data model for the complex type PartyComplexName. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ PartyComplexName: { /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; }; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ DateOfBirth: string; /** - * Data model for the complex type PartyPersonalInfo. + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ PartyPersonalInfo: { /** - * Data model for the complex type PartyComplexName. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ complexName?: { /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; }; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; }; /** - * Data model for the complex type Party. + * Party + * @description Data model for the complex type Party. */ Party: { /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ partyIdInfo: { /** - * Below are the allowed values for the enumeration. + * 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. @@ -9739,6 +9447,7 @@ export interface components { * - 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" @@ -9750,87 +9459,112 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ partyIdentifier: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ partySubIdOrType?: string; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * 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 + * @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; /** - * Name of the Party. Could be a real name or a nickname. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ name?: string; /** - * Data model for the complex type PartyPersonalInfo. + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ personalInfo?: { /** - * Data model for the complex type PartyComplexName. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ complexName?: { /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; }; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; }; }; /** - * Below are the allowed values for the enumeration AmountType. + * 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"; /** - * Memo assigned to transaction. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ Note: string; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ Money: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -9998,49 +9732,67 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ GeoCode: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; }; /** - * Information for recipient (transport layer information). + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ IlpPacket: string; /** - * Condition that must be attached to the transfer by the Payer. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ IlpCondition: string; /** - * The object sent in the PUT /quotes/{ID} callback. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ QuotesIDPutResponse: { /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ transferAmount: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -10208,16 +9960,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeReceiveAmount?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -10385,16 +10142,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspFee?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -10562,16 +10324,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspCommission?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -10739,96 +10506,121 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * 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). + * 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; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ geoCode?: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; }; /** - * Information for recipient (transport layer information). + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ ilpPacket: string; /** - * Condition that must be attached to the transfer by the Payer. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * Below are the allowed values for the enumeration. + * 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"; /** - * The object sent in the PUT /transfers/{ID} callback. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ TransfersIDPutResponse: { /** - * Fulfilment that must be attached to the transfer by the Payee. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ fulfilment?: string; /** - * 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). + * 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; /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -10836,27 +10628,32 @@ export interface components { }; bulkTransactionIndividualTransferResult: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId: string; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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; + transactionId?: string; /** - * Data model for the complex type Party. + * Party + * @description Data model for the complex type Party. */ to: { /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ partyIdInfo: { /** - * Below are the allowed values for the enumeration. + * 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. @@ -10865,6 +10662,7 @@ export interface components { * - 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" @@ -10876,83 +10674,103 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ partyIdentifier: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ partySubIdOrType?: string; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * 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 + * @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; /** - * Name of the Party. Could be a real name or a nickname. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ name?: string; /** - * Data model for the complex type PartyPersonalInfo. + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ personalInfo?: { /** - * Data model for the complex type PartyComplexName. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ complexName?: { /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; }; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; }; }; - /** - * Payer Loan reference - */ + /** @description Payer Loan reference */ reference?: string; /** - * Below are the allowed values for the enumeration AmountType. + * 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -11120,27 +10938,37 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; /** - * Memo assigned to transaction. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ note?: string; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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; /** - * The object sent in the PUT /quotes/{ID} callback. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ quoteResponse?: { /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ transferAmount: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -11308,16 +11136,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeReceiveAmount?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -11485,16 +11318,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspFee?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -11662,16 +11500,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspCommission?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -11839,167 +11682,190 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * 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). + * 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; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ geoCode?: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; }; /** - * Information for recipient (transport layer information). + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ ilpPacket: string; /** - * Condition that must be attached to the transfer by the Payer. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * The object sent in the PUT /transfers/{ID} callback. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ fulfil?: { /** - * Fulfilment that must be attached to the transfer by the Payee. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ fulfilment?: string; /** - * 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). + * 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; /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ quoteExtensions?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ transferExtensions?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ + /** @description This object represents a Mojaloop API error received at any time during the transfer process */ lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ + /** @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; - /** - * 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. - */ + /** @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?: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -12008,34 +11874,38 @@ export interface components { }; }; }; + /** BulkTransactionResponse */ bulkTransactionResponse: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ bulkHomeTransactionID: string; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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; + /** @enum {string} */ currentState: | "ERROR_OCCURRED" | "WAITING_FOR_PARTY_ACCEPTANCE" | "WAITING_FOR_QUOTE_ACCEPTANCE" | "COMPLETED"; options?: { - /** - * 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. - */ + /** @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: { enabled: false | true }; - /** - * 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. - */ + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -12203,50 +12073,53 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }[]; }; - /** - * 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. - */ + /** @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; - /** - * 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 - */ + /** @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; /** - * 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). + * 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; }; - /** - * List of individual transfer result in a bulk transfer response. - */ + /** @description List of individual transfer result in a bulk transfer response. */ individualTransferResults: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId: string; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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; + transactionId?: string; /** - * Data model for the complex type Party. + * Party + * @description Data model for the complex type Party. */ to: { /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ partyIdInfo: { /** - * Below are the allowed values for the enumeration. + * 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. @@ -12255,6 +12128,7 @@ export interface components { * - 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" @@ -12266,83 +12140,103 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ partyIdentifier: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ partySubIdOrType?: string; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * 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 + * @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; /** - * Name of the Party. Could be a real name or a nickname. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ name?: string; /** - * Data model for the complex type PartyPersonalInfo. + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ personalInfo?: { /** - * Data model for the complex type PartyComplexName. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ complexName?: { /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; }; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; }; }; - /** - * Payer Loan reference - */ + /** @description Payer Loan reference */ reference?: string; /** - * Below are the allowed values for the enumeration AmountType. + * 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -12510,27 +12404,37 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; /** - * Memo assigned to transaction. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ note?: string; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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; /** - * The object sent in the PUT /quotes/{ID} callback. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ quoteResponse?: { /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ transferAmount: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -12698,16 +12602,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeReceiveAmount?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -12875,16 +12784,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspFee?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -13052,16 +12966,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspCommission?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -13229,167 +13148,190 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * 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). + * 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; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ geoCode?: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; }; /** - * Information for recipient (transport layer information). + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ ilpPacket: string; /** - * Condition that must be attached to the transfer by the Payer. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * The object sent in the PUT /transfers/{ID} callback. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ fulfil?: { /** - * Fulfilment that must be attached to the transfer by the Payee. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ fulfilment?: string; /** - * 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). + * 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; /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ quoteExtensions?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ transferExtensions?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ + /** @description This object represents a Mojaloop API error received at any time during the transfer process */ lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ + /** @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; - /** - * 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. - */ + /** @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?: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -13399,19 +13341,20 @@ export interface components { }; }[]; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensions?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -13419,17 +13362,50 @@ export interface components { }; }; responses: { + /** Malformed or missing required headers or parameters */ + 400: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: 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 code as string. */ + statusCode: string; + /** @description Error message text. */ + message?: string; + }; + }; + }; + }; + parameters: { + transferId: string; /** - * Malformed or missing required headers or parameters - */ - "400": { [key: string]: any }; - /** - * The party specified by the provided identifier type and value is not known to the server - */ - "404": { [key: string]: any }; - /** - * An error occurred processing the request + * @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. + * + * - 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. */ - "500": { [key: string]: any }; + idType: "MSISDN" | "ACCOUNT_ID"; + /** @description Identifier of the party. */ + idValue: string; + /** @description Either a sub-identifier of a `{idValue}`, or a sub-type of the `{idType}`, normally a `{personalIdType}` */ + idSubValue: string; + /** @description Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. */ + bulkTransactionId: string; }; } + +export interface operations {} + +export interface external {} 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 d8cdb760..8babcc5d 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 @@ -9820,22 +9820,6 @@ } ] }, - "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." - }, "individualTransfer": { "title": "IndividualTransfer", "type": "object", @@ -12985,7 +12969,8 @@ "required": [ "bulkQuoteId", "individualQuoteResults", - "currentState" + "currentState", + "expiration" ], "properties": { "bulkQuoteId": { @@ -14025,7 +14010,7 @@ { "type": "object", "required": [ - "bulkTansferState" + "bulkQuoteState" ], "properties": { "bulkQuoteState": { @@ -14033,7 +14018,8 @@ "required": [ "bulkQuoteId", "individualQuoteResults", - "currentState" + "currentState", + "expiration" ], "properties": { "bulkQuoteId": { 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 56508ccd..a1cfaa42 100644 --- a/src/sdk-scheme-adapter/v2_0_0/outbound/openapi.ts +++ b/src/sdk-scheme-adapter/v2_0_0/outbound/openapi.ts @@ -5,15 +5,11 @@ export interface paths { "/": { - /** - * This endpoint allows a user of the SDK scheme adapter to check the outbound transfers service is listening. - */ + /** This endpoint allows a user of the SDK scheme adapter to check the outbound transfers service is listening. */ get: { responses: { - /** - * Returns empty body if the scheme adapter outbound transfers service is running. - */ - "200": unknown; + /** Returns empty body if the scheme adapter outbound transfers service is running. */ + 200: unknown; }; }; }; @@ -40,2187 +36,631 @@ export interface paths { * 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: { - requestBody: { - "application/json": { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - quoteRequestExtensions?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - transferRequestExtensions?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - /** - * 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; - }; - }; responses: { - /** - * Transfer completed successfully - */ - "200": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; + /** Transfer completed successfully */ + 200: { + content: { + "application/json": { /** - * 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. + * 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 */ - merchantClassificationCode?: string; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { + transferId?: string; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId: string; + from: { /** - * Extension key. + * 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} */ - key: string; + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Extension value. + * 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} */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { + idType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * Extension key. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - key: string; + idValue: string; /** - * Extension value. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { + idSubValue?: string; /** - * Data model for the complex type Money. + * 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. */ - transferAmount: { + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ExtensionKey + * @description Extension key. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + key: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionValue + * @description Extension value. */ - amount: string; - }; + 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"; /** - * Data model for the complex type Money. + * 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} */ - payeeReceiveAmount?: { + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ExtensionKey + * @description Extension key. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + key: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionValue + * @description Extension value. */ - amount: string; - }; + 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?: { /** - * Data model for the complex type Money. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - payeeFspCommission?: { + body: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Money + * @description Data model for the complex type Money. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + transferAmount: { /** - * Extension key. + * Currency + * @description The currency codes defined in [ISO 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} */ - key: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 value. + * 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 */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + amount: string; + }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Money + * @description Data model for the complex type Money. */ - extensionList?: { + payeeReceiveAmount?: { /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -2388,16 +828,21 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspFee?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -2565,16 +1010,21 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspCommission?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -2742,79 +1192,98 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * 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). + * 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; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ geoCode?: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; }; /** - * Information for recipient (transport layer information). + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ ilpPacket: string; /** - * Condition that must be attached to the transfer by the Payer. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; - headers?: { [key: string]: any }; + headers?: { [key: string]: unknown }; }; - /** - * 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. - */ + /** @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?: { /** - * The object sent in the PUT /transfers/{ID} callback. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ body: { /** - * Fulfilment that must be attached to the transfer by the Payee. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ fulfilment?: string; /** - * 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). + * 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; /** - * Below are the allowed values for the enumeration. + * 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" @@ -2822,64 +1291,64 @@ export interface paths { | "COMMITTED" | "ABORTED"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; - headers?: { [key: string]: any }; + headers?: { [key: string]: unknown }; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ + /** @description This object represents a Mojaloop API error received at any time during the transfer process */ lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ + /** @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; - /** - * 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. - */ + /** @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?: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -2887,1657 +1356,5003 @@ export interface paths { }; }; }; - /** - * 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. - */ + /** @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": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { + /** 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; /** - * Extension key. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - key: string; + middleName?: string; /** - * Extension value. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; + 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; + }[]; + }; /** - * First name of the Party (Name Type). + * 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} */ - firstName?: string; + amountType: "SEND" | "RECEIVE"; /** - * Middle name of the Party (Name Type). + * Currency + * @description The currency codes defined in [ISO 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} */ - middleName?: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Last name of the Party (Name Type). + * 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 */ - lastName?: string; + amount: string; /** - * Date of Birth of the Party. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - dateOfBirth?: string; + transactionType: "TRANSFER"; /** - * 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. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - merchantClassificationCode?: string; + note?: string; + /** @enum {string} */ + currentState?: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; /** - * FSP identifier. + * 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 */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; + quoteId?: string; + getPartiesResponse?: { + body: { [key: string]: unknown }; + headers?: { [key: string]: unknown }; + }; + quoteResponse?: { /** - * Extension value. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { + 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?: { /** - * Data model for the complex type Money. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - transferAmount: { + body: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + fulfilment?: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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 */ - amount: string; + 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; /** - * Data model for the complex type Money. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - payeeReceiveAmount?: { + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ExtensionKey + * @description Extension key. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + key: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionValue + * @description Extension value. */ - amount: string; - }; + 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; /** - * Data model for the complex type Money. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - payeeFspFee?: { + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ExtensionKey + * @description Extension key. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + key: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionValue + * @description Extension value. */ - amount: string; - }; + 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?: { /** - * Data model for the complex type Money. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Money + * @description Data model for the complex type Money. */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { + 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; + }; /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * Money + * @description Data model for the complex type Money. */ - latitude: string; + 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; + }; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * Money + * @description Data model for the complex type Money. */ - longitude: string; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + 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; + }; /** - * Number of Extension elements. + * Money + * @description Data model for the complex type Money. */ - extension: { + payeeFspCommission?: { /** - * Extension key. + * Currency + * @description The currency codes defined in [ISO 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} */ - key: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 value. + * 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 */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + amount: string; + }; /** - * Number of Extension elements. + * 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 */ - extension: { + expiration: string; + /** + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + geoCode?: { /** - * Extension key. + * 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 */ - key: string; + latitude: string; /** - * Extension value. + * 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 */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { + longitude: string; + }; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - errorCode: string; + ilpPacket: string; /** - * Error description string. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - errorDescription: string; + condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; + headers?: { [key: string]: unknown }; }; - }; - /** - * 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; + /** @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": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { + /** 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; /** - * Extension key. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - key: string; + middleName?: string; /** - * Extension value. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; + 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; + }[]; + }; /** - * First name of the Party (Name Type). + * 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} */ - firstName?: string; + amountType: "SEND" | "RECEIVE"; /** - * Middle name of the Party (Name Type). + * Currency + * @description The currency codes defined in [ISO 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} */ - middleName?: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Last name of the Party (Name Type). + * 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 */ - lastName?: string; + amount: string; /** - * Date of Birth of the Party. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - dateOfBirth?: string; + transactionType: "TRANSFER"; /** - * 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. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - merchantClassificationCode?: string; + note?: string; + /** @enum {string} */ + currentState?: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; /** - * FSP identifier. + * 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 */ - fspId?: string; - extensionList?: { + quoteId?: string; + getPartiesResponse?: { + body: { [key: string]: unknown }; + headers?: { [key: string]: unknown }; + }; + quoteResponse?: { /** - * Extension key. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - key: string; + 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?: { /** - * Extension value. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - value: string; - }[]; + 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; }; + }; + }; + }; + }; + /** 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; + from: { /** - * 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. + * 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} */ - amountType: "SEND" | "RECEIVE"; + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + * 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"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - amount: string; + idValue: string; /** - * Type of transaction. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - transactionType: "TRANSFER"; + 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; /** - * Memo assigned to transaction. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - note?: string; - currentState?: + 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; + }; + }; + }; + }; + }; + "/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; + }; + }; + 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"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { + fulfil: { /** - * The object sent in the PUT /quotes/{ID} callback. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ body: { /** - * Data model for the complex type Money. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" + 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; + }; + }; + }; + }; + }; + /** + * 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: string; + }; + }; + 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" @@ -4697,16 +6512,21 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeReceiveAmount?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -4874,16 +6694,21 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspFee?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -5051,16 +6876,21 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspCommission?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -5228,79 +7058,98 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * 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). + * 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; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ geoCode?: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; }; /** - * Information for recipient (transport layer information). + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ ilpPacket: string; /** - * Condition that must be attached to the transfer by the Payer. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; - headers?: { [key: string]: any }; + headers?: { [key: string]: unknown }; }; - /** - * 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. - */ + /** @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?: { /** - * The object sent in the PUT /transfers/{ID} callback. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ body: { /** - * Fulfilment that must be attached to the transfer by the Payee. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ fulfilment?: string; /** - * 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). + * 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; /** - * Below are the allowed values for the enumeration. + * 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" @@ -5308,64 +7157,64 @@ export interface paths { | "COMMITTED" | "ABORTED"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; - headers?: { [key: string]: any }; + headers?: { [key: string]: unknown }; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ + /** @description This object represents a Mojaloop API error received at any time during the transfer process */ lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ + /** @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; - /** - * 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. - */ + /** @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?: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -5373,953 +7222,2883 @@ export interface paths { }; }; }; - /** - * 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. - */ + /** @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; }; }; }; - }; - }; - }; - "/transfers/{transferId}": { - /** - * 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: string; - }; - }; - requestBody: { - "application/json": - | { acceptParty: true | false } - | { acceptQuote: true | false }; - }; - responses: { - /** - * Transfer completed successfully - */ - "200": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { + /** 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; + }[]; + }; /** - * Extension key. + * 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} */ - key: string; + amountType: "SEND" | "RECEIVE"; /** - * Extension value. + * Currency + * @description The currency codes defined in [ISO 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} */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type Money. + * 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 */ - transferAmount: { + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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: { + /** + * 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?: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - amount: string; + 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 }; }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { + /** @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; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + middleName?: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - amount: 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; + extensionList?: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { + 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; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + middleName?: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - amount: 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; + extensionList?: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; /** - * Data model for the complex type Money. + * 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} */ - payeeFspCommission?: { + 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; + }; + }; + }; + }; + }; + 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; + }; + }; + }; + }; + /** 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -6487,348 +10266,273 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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: { /** - * 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). + * 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} */ - expiration: string; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - geoCode?: { - /** - * 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; - /** - * 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; - }; + partyIdentifier: string; /** - * Information for recipient (transport layer information). + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - ilpPacket: string; + partySubIdOrType?: string; /** - * Condition that must be attached to the transfer by the Payer. + * FspId + * @description FSP identifier. */ - condition: string; + fspId?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { /** - * The object sent in the PUT /transfers/{ID} callback. + * 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. */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; + 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?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - extensionList?: { + complexName?: { /** - * Number of Extension elements. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + 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]: any }; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * 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 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; /** - * 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. + * Party + * @description Data model for the complex type Party. */ - mojaloopError?: { + to: { /** - * Data model for the complex type ErrorInformation. + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ - errorInformation?: { + partyIdInfo: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * 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} */ - errorCode: string; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * Error description string. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - errorDescription: string; + 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; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; - }; - }; - /** - * 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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 + * @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; /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ - dateOfBirth?: string; - /** - * 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; + name?: string; /** - * FSP identifier. + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ - fspId?: string; - extensionList?: { + personalInfo?: { /** - * Extension key. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - key: string; + 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; + }; /** - * Extension value. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ - value: string; - }[]; + dateOfBirth?: string; + }; }; + /** @description Payer Loan reference */ + reference?: string; /** - * Below are the allowed values for the enumeration AmountType. + * 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -6996,1005 +10700,781 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; /** - * Type of transaction. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - transactionType: "TRANSFER"; + note?: string; /** - * Memo assigned to transaction. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; + quoteExtensions?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; + transferExtensions?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { + /** @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?: { /** - * Data model for the complex type Money. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - transferAmount: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ErrorDescription + * @description Error description string. */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { + errorDescription: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + 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; + }[]; + }; + }; + }; + }; + }; + }; + "/bulkTransactions/{bulkTransactionId}": { + /** 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. */ + put: { + parameters: { + path: { + /** Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. */ + bulkTransactionId: string; + }; + }; + 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 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. */ + individualTransfers: ({ + /** @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; + } & { + /** @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 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. */ + individualTransfers: ({ + /** @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; + } & { + /** @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; + })); + }; + }; + /** An error occurred processing the bulk transaction */ + 500: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + }; + }; + }; + }; + /** 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. */ + individualTransfers: ({ + /** @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; + } & { + /** @enum {boolean} */ + acceptParty: true | false; + })[]; + } + | { + /** @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. */ + individualTransfers: ({ + /** @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; + } & { + /** @enum {boolean} */ + acceptQuote: true | false; + })[]; + }; + }; + }; + }; + }; + "/bulkTransfers": { + /** 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: { /** - * Data model for the complex type Money. + * ExtensionKey + * @description Extension key. */ - payeeFspFee?: { + 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: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ExtensionKey + * @description Extension key. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + key: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionValue + * @description Extension value. */ - amount: string; + 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; + }[]; + }; + }; }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { + }; + }[]; + }; + }; + }; + /** 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: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ExtensionKey + * @description Extension key. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + key: string; /** - * Number of Extension elements. + * ExtensionValue + * @description Extension value. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + value: string; + }[]; }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; + /** @enum {string} */ + currentState: "ERROR_OCCURRED" | "COMPLETED"; + /** @description List of individual transfer result in a bulk transfer response. */ + individualTransferResults: { /** - * 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). + * 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 */ - completedTimestamp?: string; + transferId: string; /** - * 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. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; + fulfilment?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + /** @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?: { /** - * Number of Extension elements. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - key: string; + errorCode: string; /** - * Extension value. + * ErrorDescription + * @description Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; - }; + }[]; }; - /** - * 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": { + /** Internal Server Error */ + 500: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + }; + }; + }; + }; + /** 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; /** - * Error code as 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 */ - statusCode?: string; + bulkTransferId: string; /** - * Error message text. + * 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 */ - message?: string; - } & { - transferState: { + bulkQuoteId: string; + from: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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} */ - transferId?: string; + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * 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} */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: 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?: { /** - * 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. + * ExtensionKey + * @description Extension key. */ - merchantClassificationCode?: string; + key: string; /** - * FSP identifier. + * ExtensionValue + * @description Extension value. */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + 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: { /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Below are the allowed values for the enumeration. + * 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. @@ -8003,6 +11483,7 @@ export interface paths { * - 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" @@ -8014,15 +11495,19 @@ export interface paths { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ idValue: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ idSubValue?: string; /** - * 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. + * 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 ( ). * @@ -8030,48 +11515,65 @@ export interface paths { */ displayName?: string; /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; /** - * 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 + * @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; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; extensionList?: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; /** - * Below are the allowed values for the enumeration AmountType. + * 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -8239,15412 +11741,2837 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; /** - * Type of transaction. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - transactionType: "TRANSFER"; + 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; /** - * Memo assigned to transaction. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; + extensions?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; - quoteResponse?: { + }[]; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensions?: { + /** @description Number of Extension elements. */ + extension: { /** - * The object sent in the PUT /quotes/{ID} callback. + * ExtensionKey + * @description Extension key. */ - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + }; + }; + "/bulkTransfers/{bulkTransferId}": { + /** The HTTP request `GET /bulkTransfers/{bulkTransferId}` is used to get information regarding a bulk transfer created or requested earlier. The `{bulkTransferId}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. */ + get: { + parameters: { + path: { + /** Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ + bulkTransferId: string; + }; + }; + 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: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ExtensionKey + * @description Extension key. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + key: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionValue + * @description Extension value. */ - amount: string; - }; + value: string; + }[]; + }; + }[]; + }; + }; + }; + /** An error occurred processing the bulk transfer */ + 500: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: 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: { + /** 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: { /** - * Data model for the complex type Money. + * ExtensionKey + * @description Extension key. */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; + key: string; /** - * Data model for the complex type Money. + * ExtensionValue + * @description Extension value. */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; + 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: { /** - * Data model for the complex type 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} */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + amount: string; }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { /** - * The object sent in the PUT /transfers/{ID} callback. + * Money + * @description Data model for the complex type Money. */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; + payeeReceiveAmount?: { /** - * 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. + * Currency + * @description The currency codes defined in [ISO 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} */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + amount: string; }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * Money + * @description Data model for the complex type Money. */ - httpStatusCode?: number; - /** - * 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?: { + payeeFspFee?: { /** - * Data model for the complex type ErrorInformation. + * Currency + * @description The currency codes defined in [ISO 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} */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * 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; - }; - }; - }; - }; - }; - /** - * 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; - }; - }; - responses: { - /** - * Transfer information successfully retrieved - */ - "200": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - currentState: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - fulfil: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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; + }; /** - * Fulfilment that must be attached to the transfer by the Payee. + * Money + * @description Data model for the complex type Money. */ - fulfilment?: string; + 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; + }; /** - * 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). + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - completedTimestamp?: string; + 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; + }; /** - * 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. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; + ilpPacket: string; + /** + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. + */ + condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - }; - headers?: { [key: string]: any }; + /** @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 transfer - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - }; - }; - }; - }; - }; - "/bulkTransactions": { - /** - * The HTTP request `POST /bulkTransactions` is used to request the movement of funds from payer DFSP to payees' DFSP. - */ - post: { - requestBody: { - "application/json": { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - bulkHomeTransactionID: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransactionId: string; - options: { - /** - * 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: { enabled: false | true }; - /** - * 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: { - enabled: true | false; - perTransferFeeLimits?: { + /** 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; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }[]; - }; - /** - * 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; - /** - * 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; - /** - * 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). - */ - bulkExpiration: string; - }; - /** - * Data model for the complex type Party. - */ - from: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * List of individual transfers in a bulk transfer. - */ - individualTransfers: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Data model for the complex type Party. - */ - to: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * Payer Loan reference - */ - reference?: string; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - quoteExtensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - transferExtensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + /** @enum {string} */ + currentState: "ERROR_OCCURRED" | "COMPLETED"; + /** @description List of individualQuoteResults in a bulk transfer response. */ + individualQuoteResults: { /** - * Error description 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 */ - errorDescription: string; + quoteId: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Money + * @description Data model for the complex type Money. */ - extensionList?: { + transferAmount: { /** - * Number of Extension elements. + * Currency + * @description The currency codes defined in [ISO 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} */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Bulk transfer accepted successfully - */ - "202": unknown; - /** - * Malformed or missing required body, headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkTransferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransferId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId?: string; - /** - * 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. - */ - bulkTransferState?: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * 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). - */ - completedTimestamp?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individual transfer result in a bulk transfer response. - */ - individualTransferResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ErrorInformation. + * 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 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + amount: string; }; - }; - }[]; - }; - }; - }; - /** - * Internal Server Error - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - }; - }; - }; - }; - }; - "/bulkTransactions/{bulkTransactionId}": { - /** - * 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. - */ - put: { - parameters: { - path: { - /** - * Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. - */ - bulkTransactionId: string; - }; - }; - requestBody: { - "application/json": - | { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - bulkHomeTransactionID: string; - /** - * List of individual transfers in a bulk transfer with accept party information. - */ - individualTransfers: ({ - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - } & { acceptParty: true | false })[]; - } - | { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - bulkHomeTransactionID: string; - /** - * List of individual transfers in a bulk transfer. - */ - individualTransfers: ({ - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - } & { acceptQuote: true | false })[]; - }; - }; - responses: { - /** - * Bulk transaction information successfully amended - */ - "202": unknown; - /** - * Malformed or missing required body, headers or parameters - */ - "400": { - "application/json": - | ({ - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkTransferState: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * Money + * @description Data model for the complex type Money. */ - bulkHomeTransactionID: string; - /** - * List of individual transfers in a bulk transfer with accept party information. - */ - individualTransfers: ({ + payeeReceiveAmount?: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * Currency + * @description The currency codes defined in [ISO 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} */ - homeTransactionId: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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 */ - transactionId: string; - } & { acceptParty: true | false })[]; - } & { + amount: string; + }; /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * Money + * @description Data model for the complex type Money. */ - httpStatusCode?: number; - /** - * 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?: { + payeeFspFee?: { /** - * Data model for the complex type ErrorInformation. + * Currency + * @description The currency codes defined in [ISO 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} */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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; }; - }; - }) - | ({ - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkTransferState?: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * Money + * @description Data model for the complex type Money. */ - bulkHomeTransactionID: string; + 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; + }; /** - * List of individual transfers in a bulk transfer. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - individualTransfers: ({ + geoCode?: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * 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 */ - homeTransactionId: string; + latitude: string; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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 */ - transactionId: string; - } & { acceptQuote: true | false })[]; - } & { + longitude: string; + }; /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - httpStatusCode?: number; + ilpPacket: string; /** - * 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. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - mojaloopError?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { + 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: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ExtensionKey + * @description Extension key. */ - errorCode: string; + key: string; /** - * Error description string. + * ExtensionValue + * @description Extension value. */ - errorDescription: string; + 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?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extensionList?: { + errorInformation?: { /** - * Number of Extension elements. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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 transaction - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; + }[]; + }; + }; }; }; - }; - }; - }; - "/bulkTransfers": { - /** - * The HTTP request `POST /bulkTransfers` is used to request the movement of funds from payer DFSP to payees' DFSP. - */ - post: { - requestBody: { - "application/json": { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransferId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * List of individual transfers in a bulk transfer. - */ - individualTransfers: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType?: "TRANSFER"; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Bulk transfer completed successfully - */ - "200": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransferId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId?: string; - /** - * 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. - */ - bulkTransferState?: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * 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). - */ - completedTimestamp?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individual transfer result in a bulk transfer response. - */ - individualTransferResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - /** - * Malformed or missing required body, headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkTransferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransferId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId?: string; - /** - * 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. - */ - bulkTransferState?: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * 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). - */ - completedTimestamp?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individual transfer result in a bulk transfer response. - */ - individualTransferResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - /** - * Fulfilment that must be attached to the transfer by the Payee. + /** 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 */ - fulfilment?: string; + expiration: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { + /** @enum {string} */ + currentState: "ERROR_OCCURRED" | "COMPLETED"; + /** @description List of individualQuoteResults in a bulk transfer response. */ + individualQuoteResults: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * 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 */ - httpStatusCode?: number; + quoteId: string; /** - * 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. + * Money + * @description Data model for the complex type Money. */ - mojaloopError?: { + transferAmount: { /** - * Data model for the complex type ErrorInformation. + * Currency + * @description The currency codes defined in [ISO 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} */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - /** - * Internal Server Error - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - }; - }; - }; - }; - }; - "/bulkTransfers/{bulkTransferId}": { - /** - * The HTTP request `GET /bulkTransfers/{bulkTransferId}` is used to get information regarding a bulk transfer created or requested earlier. The `{bulkTransferId}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. - */ - get: { - parameters: { - path: { - /** - * Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. - */ - bulkTransferId: string; - }; - }; - responses: { - /** - * Bulk transfer information successfully retrieved - */ - "200": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransferId: string; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - fulfils: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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; + }; /** - * Extension key. + * Money + * @description Data model for the complex type Money. */ - key: string; + 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; + }; /** - * Extension value. + * Money + * @description Data model for the complex type Money. */ - value: string; - }[]; - }; - }[]; - }; - }; - /** - * An error occurred processing the bulk transfer - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: 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: { - requestBody: { - "application/json": { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId?: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * List of individual quotes in a bulk quote. - */ - individualQuotes: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. + 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 */ - key: string; + expiration: string; /** - * Extension value. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Bulk quote completed successfully - */ - "200": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId?: string; - /** - * 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). - */ - expiration?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individualQuoteResults in a bulk transfer response. - */ - individualQuoteResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the quote process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - /** - * Malformed or missing required body, headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkQuoteState?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId?: string; - /** - * 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). - */ - expiration?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individualQuoteResults in a bulk transfer response. - */ - individualQuoteResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the quote process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - /** - * An error occurred processing the bulk quote - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkQuoteState?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId?: string; - /** - * 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). - */ - expiration?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individualQuoteResults in a bulk transfer response. - */ - individualQuoteResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the quote process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - /** - * Timeout occurred processing the bulk quote - */ - "504": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkQuoteState?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId?: string; - /** - * 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). - */ - expiration?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individualQuoteResults in a bulk transfer response. - */ - individualQuoteResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the quote process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - }; - }; - }; - }; - }; - "/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": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId: string; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - individualQuotes: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; - }; - }; - /** - * An error occurred processing the bulk quote - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - }; - }; - }; - }; - }; - "/requestToPay": { - /** - * The HTTP request `POST /requestToPay` is used to support Pull Funds pattern where in a receiver can request for funds from the Sender. - * The underlying API has two stages: - * - * 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - * 2. Transaction Request. This request enables a Payee to request Payer to send electronic funds to the Payee. - */ - post: { - requestBody: { - "application/json": { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Data model for the complex type TransactionType. - */ - scenario: { - /** - * 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. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - }; - responses: { - /** - * Request to Pay completed successfully - */ - "200": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Data model for the complex type TransactionType. - */ - scenario?: { - /** - * 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. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * 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. - */ - initiator?: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - authenticationType?: "OTP" | "QRCODE" | "U2F"; - /** - * 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. - */ - requestToPayState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - }; - }; - }; - }; - }; - "/requestToPayTransfer": { - /** - * The HTTP request `POST /requestToPayTransfer` 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. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - * 2. Authorization. This facilitates getting OTP from payee DFSP. - * 3. Transfer. The enactment of the previously agreed "contract" - * - * This method has several modes of operation. - * - 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 otp, 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 variable `AUTO_ACCEPT_OTP` is set to `"false"` this method will terminate and return the otp when it has been received from the payee DFSP. - * If the payer 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: { - requestBody: { - "application/json": { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - requestToPayTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Data model for the complex type TransactionType. - */ - scenario: { - /** - * 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. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Memo assigned to transaction. - */ - note?: string; - }; - }; - responses: { - /** - * Transfer completed successfully - */ - "200": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - requestToPayTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - quoteResponse?: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - fulfil?: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * Malformed or missing required body, headers or parameters - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * 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; - }; - }; - }; - }; - }; - }; - "/requestToPayTransfer/{requestToPayTransactionId}": { - /** - * 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 "acceptOTP" or "acceptQuote" property set to `true` as required to continue the transfer. - * - * See the description of the `POST /requestToPayTransfer` HTTP method for more information on modes of transfer. - */ - put: { - parameters: { - path: { - /** - * Identifier of the merchant request to pay transfer to continue as returned in the response to a `POST /requestToPayTransfer` request. - */ - requestToPayTransactionId: string; - }; - }; - requestBody: { - "application/json": - | { acceptQuote: true | false } - | { acceptOTP: true | false }; - }; - responses: { - /** - * Transfer completed successfully - */ - "200": { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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 Number of Extension elements. */ + extension: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionKey + * @description Extension key. */ - amount: string; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + /** @enum {string} */ + currentState: "ERROR_OCCURRED" | "COMPLETED"; + /** @description List of individualQuoteResults in a bulk transfer response. */ + individualQuoteResults: { /** - * Data model for the complex type Money. + * 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 */ - payeeFspCommission?: { + quoteId: string; + /** + * Money + * @description Data model for the complex type Money. + */ + transferAmount: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -23812,551 +14739,203 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. + * Money + * @description Data model for the complex type Money. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + payeeReceiveAmount?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Currency + * @description The currency codes defined in [ISO 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} */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * 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": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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; + }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ - transferAmount: { + payeeFspFee?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -24524,16 +15103,21 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ - payeeReceiveAmount?: { + payeeFspCommission?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -24701,763 +15285,2210 @@ export interface paths { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * 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. */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; + key: string; /** - * Data model for the complex type Money. + * ExtensionValue + * @description Extension value. */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + "/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; /** - * 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). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - expiration: string; + middleName?: string; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - geoCode?: { + 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: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * ExtensionKey + * @description Extension key. */ - latitude: string; + key: string; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * ExtensionValue + * @description Extension value. */ - longitude: string; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; + 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; + }; + }; + }; + }; + }; + }; + "/requestToPay": { + /** + * The HTTP request `POST /requestToPay` is used to support Pull Funds pattern where in a receiver can request for funds from the Sender. + * The underlying API has two stages: + * + * 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. + * 2. Transaction Request. This request enables a Payee to request Payer to send electronic funds to the Payee. + */ + 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?: { /** - * Condition that must be attached to the transfer by the Payer. + * ExtensionKey + * @description Extension key. */ - condition: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; + value: string; + }[]; }; - /** - * 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?: { + to: { /** - * The object sent in the PUT /transfers/{ID} callback. + * 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} */ - body: { + 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?: { /** - * Fulfilment that must be attached to the transfer by the Payee. + * ExtensionKey + * @description Extension key. */ - fulfilment?: string; + key: string; /** - * 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). + * ExtensionValue + * @description Extension value. */ - completedTimestamp?: string; + 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?: { /** - * 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. + * 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 */ - transferState: - | "RECEIVED" - | "RESERVED" - | "COMMITTED" - | "ABORTED"; + originalTransactionId: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * RefundReason + * @description Reason for the refund. + * @example Free text indicating reason for the refund. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + refundReason?: string; }; - headers?: { [key: string]: any }; + /** + * 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; }; /** - * This object represents a Mojaloop API error received at any time during the transfer process + * 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; + }; + }; + }; + }; + /** 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 */ - lastError?: { + 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?: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * ExtensionKey + * @description Extension key. */ - httpStatusCode?: number; + key: string; /** - * 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. + * ExtensionValue + * @description Extension value. */ - mojaloopError?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + value: string; + }[]; + }; + to: { /** - * 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. + * 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} */ - skipPartyLookup?: boolean; + 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; + }[]; }; - }; - }; - }; - }; - }; - "/accounts": { - /** - * 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 - */ - post: { - requestBody: { - "application/json": { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - }; - responses: { - /** - * Accounts creation completed - */ - "200": { - "application/json": { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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} */ - modelId?: string; - accounts: { + 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"; /** - * 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. + * TransactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * @example LOCALLY_DEFINED_SUBSCENARIO */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; + subScenario?: string; /** - * Identifier of the Party. + * 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} */ - idValue: string; + initiator: "PAYER" | "PAYEE"; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * 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} */ - idSubValue?: 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"; + }; + }; + }; + }; + }; + "/requestToPayTransfer": { + /** + * The HTTP request `POST /requestToPayTransfer` 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. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. + * 2. Authorization. This facilitates getting OTP from payee DFSP. + * 3. Transfer. The enactment of the previously agreed "contract" + * + * This method has several modes of operation. + * - 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 otp, 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 variable `AUTO_ACCEPT_OTP` is set to `"false"` this method will terminate and return the otp when it has been received from the payee DFSP. + * If the payer 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: { + /** 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -25624,395 +17655,915 @@ export interface paths { | "ZAR" | "ZMW" | "ZWD"; - }[]; - response?: { /** - * 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. + * 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 */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; + amount: string; /** - * Identifier of the Party. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - idValue: string; + transactionType: "TRANSFER"; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - idSubValue?: string; - error?: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - }; - }[]; - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { + note?: string; + /** @enum {string} */ + currentState?: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * 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 */ - httpStatusCode?: number; + quoteId?: string; /** - * 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. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - mojaloopError?: { + quoteResponse?: { /** - * Data model for the complex type ErrorInformation. + * Money + * @description Data model for the complex type Money. */ - errorInformation?: { + 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"; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * 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 */ - errorCode: string; + amount: string; + }; + /** + * Money + * @description Data model for the complex type Money. + */ + payeeFspFee?: { /** - * Error description 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} */ - errorDescription: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + amount: string; }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - }; - }; - /** - * An error occurred creating accounts - */ - "400": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - executionState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - modelId?: string; - accounts: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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?: { - /** - * 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. + /** + * Money + * @description Data model for the complex type Money. */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; + 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; + }; /** - * Identifier of the Party. + * 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 */ - idValue: string; + expiration: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - idSubValue?: string; - error?: { + geoCode?: { /** - * Error code as 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 */ - statusCode?: string; + latitude: string; /** - * Error message text. + * 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 */ - message?: string; + longitude: string; }; - }[]; - currentState?: "ERROR_OCCURRED" | "COMPLETED"; + /** + * 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; /** - * This object represents a Mojaloop API error received at any time during the transfer process + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - lastError?: { + fulfil?: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - httpStatusCode?: number; + 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"; /** - * 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. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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?: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -26020,63 +18571,242 @@ export interface paths { }; }; }; - postAccountsResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; }; }; }; - /** - * An error occurred creating accounts - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - executionState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - modelId?: string; - accounts: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: 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; + }[]; + }; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * 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} */ - idSubValue?: string; + amountType: "SEND" | "RECEIVE"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -26243,150 +18973,1171 @@ export interface paths { | "ZAR" | "ZMW" | "ZWD"; - }[]; - response?: { /** - * 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. + * 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 */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; + amount: string; /** - * Identifier of the Party. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - idValue: string; + transactionType: "TRANSFER"; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - idSubValue?: string; - error?: { + 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?: { /** - * Error code as string. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - statusCode?: string; + 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?: { /** - * Error message text. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - message?: string; + 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 }; }; - }[]; - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { + /** @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; /** - * Data model for the complex type ErrorInformation. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - errorInformation?: { + 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?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ExtensionKey + * @description Extension key. */ - errorCode: string; + 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?: { /** - * Error description string. + * ExtensionKey + * @description Extension key. */ - errorDescription: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; }; - }; - postAccountsResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - }; - }; - }; - /** - * Timeout occurred creating accounts - */ - "504": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - executionState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - modelId?: string; - accounts: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * 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} */ - idSubValue?: string; + amountType: "SEND" | "RECEIVE"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -26553,576 +20304,2291 @@ export interface paths { | "ZAR" | "ZMW" | "ZWD"; - }[]; - response?: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; /** - * Identifier of the Party. + * 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 */ - idValue: string; + amount: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - idSubValue?: string; - error?: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - }; - }[]; - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { + transactionType: "TRANSFER"; /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - httpStatusCode?: number; + note?: string; + /** @enum {string} */ + currentState?: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; /** - * 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. + * 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 */ - mojaloopError?: { + quoteId?: string; + getPartiesResponse?: { + body: { [key: string]: unknown }; + headers?: { [key: string]: unknown }; + }; + quoteResponse?: { /** - * Data model for the complex type ErrorInformation. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - errorInformation?: { + body: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * Money + * @description Data model for the complex type Money. */ - errorCode: string; + 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; + }; /** - * Error description string. + * Money + * @description Data model for the complex type Money. */ - errorDescription: string; + 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; + }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Money + * @description Data model for the complex type Money. */ - extensionList?: { + 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; /** - * Number of Extension elements. + * 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: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; + headers?: { [key: string]: unknown }; }; - }; - postAccountsResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; + /** @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; }; }; }; }; - }; - }; - }; - "/parties/{Type}/{ID}": { - get: operations["PartiesByTypeAndID"]; - parameters: { - path: { - /** - * The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. - */ - Type: string; - /** - * The identifier value. - */ - ID: string; - }; - }; - }; - "/parties/{Type}/{ID}/{SubId}": { - 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; - }; - }; - }; - "/quotes": { - post: operations["QuotesPost"]; - }; - "/simpleTransfers": { - post: operations["SimpleTransfersPost"]; - }; -} - -export interface operations { - /** - * 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). - */ - PartiesByTypeAndID: { - responses: { - /** - * PartiesByIdSuccess - */ - "200": { - "application/json": { - party: { - /** - * Data model for the complex type Party. - */ - body: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + /** 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; /** - * Number of Extension elements. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - extension: { + 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?: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). + 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; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * 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; + }[]; }; /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - headers: { [key: string]: any }; - }; - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; - }; - /** - * PartiesByIdError404 - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. + * 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} */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * 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). - */ - PartiesSubIdByTypeAndID: { - responses: { - /** - * PartiesByIdSuccess - */ - "200": { - "application/json": { - party: { - /** - * Data model for the complex type Party. - */ - body: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { + amountType: "SEND" | "RECEIVE"; /** - * 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. + * Currency + * @description The currency codes defined in [ISO 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} */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Identifier of the Party. + * 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 */ - partyIdentifier: string; + amount: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - partySubIdOrType?: string; + transactionType: "TRANSFER"; /** - * FSP identifier. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - fspId?: string; + note?: string; + /** @enum {string} */ + currentState?: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { + quoteId?: string; + getPartiesResponse?: { + body: { [key: string]: unknown }; + headers?: { [key: string]: unknown }; + }; + quoteResponse?: { /** - * Number of Extension elements. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - extension: { + body: { /** - * Extension key. + * Money + * @description Data model for the complex type Money. */ - key: string; + 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; + }; /** - * Extension value. + * Money + * @description Data model for the complex type Money. */ - value: string; - }[]; + 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 }; }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: 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; + fulfil?: { /** - * Last name of the Party (Name Type). + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - lastName?: string; + 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 }; }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: 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; + }[]; + }; + }; + }; + }; + /** @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; }; }; - headers: { [key: string]: any }; - }; - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; - }; - /** - * PartiesByIdError404 - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; }; }; }; - }; - }; - /** - * is used to request quotes from other DFSP - */ - QuotesPost: { - requestBody: { - "application/json": { - /** - * FSP identifier. - */ - fspId: string; - /** - * The object sent in the POST /quotes request. - */ - quotesPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId?: string; - /** - * Data model for the complex type Party. - */ - payee: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; + /** 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: { /** - * Date of Birth of the Party. + * 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} */ - dateOfBirth?: string; - }; - }; - /** - * Data model for the complex type Party. - */ - payer: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Below are the allowed values for the enumeration. + * 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. @@ -27131,8 +22597,9 @@ export interface operations { * - 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: + idType: | "MSISDN" | "EMAIL" | "PERSONAL_ID" @@ -27142,260 +22609,186 @@ export interface operations { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { + idValue: string; /** - * Data model for the complex type PartyComplexName. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; + idSubValue?: string; /** - * Date of Birth of the Party. + * 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. */ - dateOfBirth?: string; - }; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * Data model for the complex type Money. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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?: 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; + }[]; + }; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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} */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - fees?: { + amountType: "SEND" | "RECEIVE"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -27563,300 +22956,1688 @@ export interface operations { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; - }; - /** - * Data model for the complex type TransactionType. - */ - transactionType: { - /** - * 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. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * TransactionType + * @description Data model for the complex type TransactionType. */ - subScenario?: string; + 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; + }; /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Data model for the complex type Refund. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - refundInfo?: { + note?: string; + }; + }; + }; + }; + }; + "/requestToPayTransfer/{requestToPayTransactionId}": { + /** + * 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 "acceptOTP" or "acceptQuote" property set to `true` as required to continue the transfer. + * + * See the description of the `POST /requestToPayTransfer` HTTP method for more information on modes of transfer. + */ + put: { + parameters: { + path: { + /** Identifier of the merchant request to pay transfer to continue as returned in the response to a `POST /requestToPayTransfer` request. */ + requestToPayTransactionId: string; + }; + }; + responses: { + /** Transfer completed successfully */ + 200: { + content: { + "application/json": { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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; + 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; + }[]; + }; /** - * Reason for the refund. + * 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} */ - refundReason?: 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; }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * 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). - */ - expiration?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; }; }; - }; - }; - responses: { - /** - * sync response from POST /quotes - */ - "200": { - "application/json": { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - quotes: { - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + /** 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; + }[]; + }; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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} */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { + amountType: "SEND" | "RECEIVE"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -28024,16 +24805,1170 @@ export interface operations { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { + }; + }; + }; + /** 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -28201,16 +26136,1009 @@ export interface operations { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; + }; + }; + }; + }; + }; + requestBody: { + content: { + "application/json": + | { + /** @enum {boolean} */ + acceptQuote: true | false; + } + | { + /** @enum {boolean} */ + acceptOTP: true | false; }; + }; + }; + }; + }; + "/accounts": { + /** + * 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 + */ + post: { + responses: { + /** Accounts creation completed */ + 200: { + content: { + "application/json": { /** - * Data model for the complex type Money. + * 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 */ - payeeFspCommission?: { + 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; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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" @@ -28377,109 +27305,1091 @@ export interface operations { | "ZAR" | "ZMW" | "ZWD"; + }[]; + response?: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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} */ - amount: string; - }; - /** - * Date and time until when the quotation is valid and can be honored when used in the subsequent transaction. - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { + idType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - latitude: string; + idValue: string; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - longitude: string; + 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 }; + }; }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. + }; + }; + }; + /** 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} */ - key: string; - /** - * Extension value. + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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} */ - value: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 }; + }; }; }; - headers: { [key: string]: any }; }; - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; }; }; - /** - * An error occurred processing the quotes request - */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { [key: string]: any }; - }; - }; - }; - /** - * is used to request a transfer - */ - SimpleTransfersPost: { - requestBody: { - "application/json": { - /** - * FSP identifier. - */ - fspId: string; - /** - * The object sent in the POST /transfers request. - */ - transfersPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - /** - * FSP identifier. - */ - payeeFsp: string; - /** - * FSP identifier. - */ - payerFsp: string; - /** - * Data model for the complex type Money. - */ - amount: { + /** Identities list 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; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -28646,531 +28556,2268 @@ export interface operations { | "ZAR" | "ZMW" | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: 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: string; + /** The identifier value. */ + ID: 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: 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; + }; + }; + }; + "/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. + * - 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; + /** + * 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. + * @enum {string} + */ + Currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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} + */ + 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?: { /** - * Information for recipient (transport layer information). + * ExtensionKey + * @description Extension key. */ - ilpPacket: string; + key: string; /** - * Condition that must be attached to the transfer by the Payer. + * ExtensionValue + * @description Extension value. */ - condition: string; + 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?: { /** - * 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). + * ExtensionKey + * @description Extension key. */ - expiration: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; }; - }; - responses: { /** - * sync response from POST /simpleTransfers + * 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} */ - "200": { - "application/json": { - transfer: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers: { [key: string]: any }; - }; - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; - }; + amountType: "SEND" | "RECEIVE"; /** - * An error occurred processing the simple transfers request + * Currency + * @description The currency codes defined in [ISO 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} */ - "500": { - "application/json": { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { [key: string]: any }; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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; }; - }; -} - -export interface components { - parameters: { - /** - * Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. - */ - transferId: string; - /** - * Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request. - */ - bulkTransactionId: string; - /** - * Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. - */ - bulkTransferId: string; - /** - * Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. - */ - bulkQuoteId: string; - /** - * Identifier of the merchant request to pay transfer to continue as returned in the response to a `POST /requestToPayTransfer` request. - */ - requestToPayTransactionId: string; - /** - * 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; - }; - schemas: { - /** - * 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. - */ - TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - PartyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - PartyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - PartySubIdOrType: string; /** - * 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. + * 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 */ - Name: string; + CorrelationId: string; + /** @enum {string} */ + transferStatus: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; /** - * First name of the Party (Name Type). + * Money + * @description Data model for the complex type Money. */ - FirstName: string; + 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; + }; /** - * Middle name of the Party (Name Type). + * 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 */ - MiddleName: string; + DateTime: string; /** - * Last name of the Party (Name Type). + * 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 */ - LastName: string; + Latitude: string; /** - * Date of Birth of the Party. + * 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 */ - DateOfBirth: string; + Longitude: string; /** - * 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. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - MerchantClassificationCode: string; + 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; + }; /** - * FSP identifier. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - FspId: string; + IlpPacket: string; /** - * Extension key. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - ExtensionKey: string; + IlpCondition: string; /** - * Extension value. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - ExtensionValue: string; + ExtensionList: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; /** - * Data model for the complex type Extension. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - Extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }; - extensionListEmptiable: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - transferParty: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; + QuotesIDPutResponse: { /** - * Identifier of the Party. + * Money + * @description Data model for the complex type Money. */ - idValue: string; + 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; + }; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * Money + * @description Data model for the complex type Money. */ - idSubValue?: string; + 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; + }; /** - * 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. + * Money + * @description Data model for the complex type Money. */ - displayName?: string; + 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; + }; /** - * First name of the Party (Name Type). + * Money + * @description Data model for the complex type Money. */ - firstName?: string; + 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; + }; /** - * Middle name of the Party (Name Type). + * 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 */ - middleName?: string; + expiration: string; /** - * Last name of the Party (Name Type). + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - lastName?: string; + 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; + }; /** - * Date of Birth of the Party. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - dateOfBirth?: string; + ilpPacket: string; /** - * 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. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - merchantClassificationCode?: string; + condition: string; /** - * FSP identifier. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - fspId?: string; extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; }; /** - * 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. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - AmountType: "SEND" | "RECEIVE"; + IlpFulfilment: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - Currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + * 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"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - Amount: string; + 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; + }[]; + }; + }; /** - * Type of transaction. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - transferTransactionType: "TRANSFER"; + ErrorCode: string; /** - * Memo assigned to transaction. + * ErrorDescription + * @description Error description string. */ - Note: string; - transferRequest: { + ErrorDescription: 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; + }[]; + }; + }; + 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 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; + }[]; + }; + }; + }; + }; + transferResponse: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * 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: { /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Below are the allowed values for the enumeration. + * 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. @@ -29179,6 +30826,7 @@ export interface components { * - 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" @@ -29190,15 +30838,19 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ idValue: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ idSubValue?: string; /** - * 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. + * 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 ( ). * @@ -29206,578 +30858,1392 @@ export interface components { */ displayName?: string; /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; /** - * 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 + * @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; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; extensionList?: { /** - * Extension key. + * 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 */ - key: string; + expiration: string; /** - * Extension value. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { + 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. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - key: string; + ilpPacket: string; /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - quoteRequestExtensions?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - transferRequestExtensions?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - /** - * 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; - }; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - CorrelationId: string; - transferStatus: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Data model for the complex type Money. - */ - Money: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: 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; }; - /** - * 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). - */ - DateTime: string; - /** - * 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; - /** - * 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; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - GeoCode: { - /** - * 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; - /** - * 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; + errorResponse: { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; }; - /** - * Information for recipient (transport layer information). - */ - IlpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - IlpCondition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - ExtensionList: { - /** - * Number of Extension elements. - */ - extension: { + errorTransferResponse: { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + } & { + transferState: { /** - * Extension key. + * 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 */ - key: string; + 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; + }[]; + }; /** - * Extension value. + * 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} */ - value: string; - }[]; - }; - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - QuotesIDPutResponse: { - /** - * Data model for the complex type Money. - */ - transferAmount: { + amountType: "SEND" | "RECEIVE"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -29945,370 +32411,1194 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; + }; + transferStatusResponse: { /** - * Data model for the complex type Money. + * 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 */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + transferId: string; + /** @enum {string} */ + currentState: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; + fulfil: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - amount: string; + 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 }; }; + }; + transferContinuationAcceptParty: { + /** @enum {boolean} */ + acceptParty: true | false; + }; + transferContinuationAcceptQuote: { + /** @enum {boolean} */ + acceptQuote: true | false; + }; + autoAcceptPartyOption: { + /** @enum {boolean} */ + enabled: false | true; + }; + bulkPerTransferFeeLimit: { /** - * Data model for the complex type 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} */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type Money. + * 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 */ - payeeFspCommission?: { + amount: string; + }; + autoAcceptQuote: { + /** @enum {boolean} */ + enabled: true | false; + perTransferFeeLimits?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -30476,242 +33766,355 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; + }[]; + }; + 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; }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** @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?: { /** - * Extension key. + * Currency + * @description The currency codes defined in [ISO 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} */ - key: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 value. + * 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 */ - value: string; + 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; }; /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - IlpFulfilment: string; - /** - * 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. - */ - TransferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * The object sent in the PUT /transfers/{ID} callback. + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ - TransfersIDPutResponse: { + PartyIdInfo: { /** - * Fulfilment that must be attached to the transfer by the Payee. + * 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} */ - fulfilment?: string; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * 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). + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - completedTimestamp?: string; + partyIdentifier: string; /** - * 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. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + partySubIdOrType?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * FspId + * @description FSP identifier. + */ + fspId?: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - ErrorCode: string; - /** - * Error description string. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ - ErrorDescription: string; + PartyName: string; /** - * Data model for the complex type ErrorInformation. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - ErrorInformation: { + PartyComplexName: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - errorCode: string; + firstName?: string; /** - * Error description string. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - errorDescription: string; + middleName?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + lastName?: string; }; - mojaloopError: { + /** + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. + */ + PartyPersonalInfo: { /** - * Data model for the complex type ErrorInformation. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - errorInformation?: { + complexName?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - errorCode: string; + firstName?: string; /** - * Error description string. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - errorDescription: string; + middleName?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + lastName?: string; }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - transferError: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + dateOfBirth?: string; }; - transferResponse: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; + /** + * Party + * @description Data model for the complex type Party. + */ + Party: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + partyIdInfo: { /** - * Below are the allowed values for the enumeration. + * 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. @@ -30720,8 +34123,9 @@ export interface components { * - 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: + partyIdType: | "MSISDN" | "EMAIL" | "PERSONAL_ID" @@ -30731,144 +34135,225 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; + partyIdentifier: string; /** - * 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. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - merchantClassificationCode?: string; + partySubIdOrType?: string; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; /** - * First name of the Party (Name Type). + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - firstName?: string; + 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?: { /** - * Middle name of the Party (Name Type). + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - middleName?: string; + 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; + }; /** - * Last name of the Party (Name Type). + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ - lastName?: string; + dateOfBirth?: string; + }; + }; + /** + * BulkTransactionIndividualTransfer + * @description Data model for the complex type 'bulkTransactionIndividualTransfer'. + */ + 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: { /** - * Date of Birth of the Party. + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ - dateOfBirth?: string; + 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; + }[]; + }; + }; /** - * 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 + * @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; /** - * FSP identifier. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ - fspId?: string; - extensionList?: { + name?: string; + /** + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. + */ + personalInfo?: { /** - * Extension key. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - key: string; + 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; + }; /** - * Extension value. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ - value: string; - }[]; + dateOfBirth?: string; + }; }; + /** @description Payer Loan reference */ + reference?: string; /** - * Below are the allowed values for the enumeration AmountType. + * 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -31004,604 +34489,157 @@ export interface components { | "STD" | "SVC" | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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: { /** - * Data model for the complex type Money. + * ExtensionKey + * @description Extension key. */ - payeeFspFee?: { + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ErrorDescription + * @description Error description string. */ - amount: string; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { + }; + }; + }; + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -31769,192 +34807,37 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; - }; - /** - * 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?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + }[]; }; - headers?: { [key: string]: any }; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * 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 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; /** - * 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. + * 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 */ - mojaloopError?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + bulkExpiration: string; }; /** - * 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; - }; - errorResponse: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - }; - errorTransferResponse: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. + * Party + * @description Data model for the complex type Party. */ - message?: string; - } & { - transferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId?: string; + from: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ - homeTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + partyIdInfo: { /** - * Below are the allowed values for the enumeration. + * 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. @@ -31963,8 +34846,9 @@ export interface components { * - 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: + partyIdType: | "MSISDN" | "EMAIL" | "PERSONAL_ID" @@ -31974,144 +34858,222 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - middleName?: string; + partyIdentifier: string; /** - * Last name of the Party (Name Type). + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - lastName?: string; + partySubIdOrType?: string; /** - * Date of Birth of the Party. + * FspId + * @description FSP identifier. */ - dateOfBirth?: string; + fspId?: string; /** - * 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. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - merchantClassificationCode?: string; + 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?: { /** - * FSP identifier. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - fspId?: string; - extensionList?: { + complexName?: { /** - * Extension key. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - key: string; + firstName?: string; /** - * Extension value. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; + middleName?: string; + /** + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson + */ + lastName?: string; + }; /** - * Middle name of the Party (Name Type). + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ - middleName?: string; + 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: { /** - * Last name of the Party (Name Type). + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ - lastName?: string; + 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; + }[]; + }; + }; /** - * Date of Birth of the 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. */ - dateOfBirth?: string; + merchantClassificationCode?: string; /** - * 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. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ - merchantClassificationCode?: string; + name?: string; /** - * FSP identifier. + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ - fspId?: string; - extensionList?: { + personalInfo?: { /** - * Extension key. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - key: string; + 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; + }; /** - * Extension value. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ - value: string; - }[]; + dateOfBirth?: string; + }; }; + /** @description Payer Loan reference */ + reference?: string; /** - * Below are the allowed values for the enumeration AmountType. + * 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -32279,945 +35241,1746 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; /** - * Type of transaction. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - transactionType: "TRANSFER"; + note?: string; /** - * Memo assigned to transaction. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; + quoteExtensions?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - quoteId?: string; - getPartiesResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; + transferExtensions?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; - quoteResponse?: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - body: { + /** @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?: { /** - * Data model for the complex type Money. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - transferAmount: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ErrorDescription + * @description Error description string. */ - amount: string; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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; + }[]; + }; + }; + /** @enum {string} */ + bulkTransferStatus: "ERROR_OCCURRED" | "COMPLETED"; + 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?: { /** - * 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 */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; + }; + }; + }; + }; + 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; + /** @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: { /** - * Data model for the complex type Money. + * ExtensionKey + * @description Extension key. */ - payeeFspFee?: { + 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?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ErrorDescription + * @description Error description string. */ - amount: string; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { + /** @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: { /** - * Data model for the complex type Money. + * ExtensionKey + * @description Extension key. */ - payeeFspCommission?: { + 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: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ExtensionKey + * @description Extension key. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + 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; + }[]; + }; + }; + }; + }; + }[]; + }; + }; + /** @description Data model for the 'individualTransfer' while accepting party or quote. */ + bulkTransactionIndividualTransferAccept: { + /** @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; + }; + /** @description The object sent back as confirmation of payee parties when autoAcceptParty is false. */ + bulkTransactionContinuationAcceptParty: { + /** @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. */ + individualTransfers: ({ + /** @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; + } & { + /** @enum {boolean} */ + acceptParty: true | false; + })[]; + }; + /** @description The object sent back as confirmation of quotes when autoAcceptQuotes is false. */ + bulkTransactionContinuationAcceptQuote: { + /** @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. */ + individualTransfers: ({ + /** @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; + } & { + /** @enum {boolean} */ + acceptQuote: true | false; + })[]; + }; + /** @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: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionKey + * @description Extension key. */ - amount: string; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + bulkTransactionAcceptPartyErrorResponse: { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + } & { + bulkTransferState: { + /** @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. */ + individualTransfers: ({ + /** @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; + } & { + /** @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?: { /** - * 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). + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - expiration: string; + errorCode: string; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * ErrorDescription + * @description Error description string. */ - geoCode?: { + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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 */ + 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: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * ExtensionKey + * @description Extension key. */ - latitude: string; + key: string; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * ExtensionValue + * @description Extension value. */ - longitude: string; - }; + value: string; + }[]; + }; + }; + }; + }; + bulkTransactionAcceptQuoteErrorResponse: { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + } & ({ + bulkTransferState?: { + /** @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. */ + individualTransfers: ({ + /** @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; + } & { + /** @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?: { /** - * Information for recipient (transport layer information). + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - ilpPacket: string; + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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; + }); + /** + * 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?: { /** - * Condition that must be attached to the transfer by the Payer. + * ExtensionKey + * @description Extension key. */ - condition: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; + value: string; + }[]; }; /** - * 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. + * 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} */ - quoteResponseSource?: string; - fulfil?: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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: { /** - * 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. + * ExtensionKey + * @description Extension key. */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; + value: string; + }[]; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { + }[]; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensions?: { + /** @description Number of Extension elements. */ + extension: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * ExtensionKey + * @description Extension key. */ - httpStatusCode?: number; + key: string; /** - * 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. + * ExtensionValue + * @description Extension value. */ - mojaloopError?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * 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; + value: string; + }[]; }; }; - transferStatusResponse: { + /** @description A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer */ + individualTransferFulfilment: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - transferId: string; - currentState: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - fulfil: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { + 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: { /** - * Fulfilment that must be attached to the transfer by the Payee. + * ExtensionKey + * @description Extension key. */ - fulfilment?: string; + key: string; /** - * 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). + * ExtensionValue + * @description Extension value. */ - completedTimestamp?: string; + 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?: { /** - * 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. + * ExtensionKey + * @description Extension key. */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - headers?: { [key: string]: any }; + value: string; + }[]; }; - }; - transferContinuationAcceptParty: { acceptParty: true | false }; - transferContinuationAcceptQuote: { acceptQuote: true | false }; - autoAcceptPartyOption: { enabled: false | true }; - bulkPerTransferFeeLimit: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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" @@ -33385,15 +37148,275 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; + }[]; + }; }; - autoAcceptQuote: { - enabled: true | false; - perTransferFeeLimits?: { + 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -33561,1440 +37584,1748 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; - }[]; - }; - bulkTransactionOptions: { - /** - * 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: { enabled: false | true }; - /** - * 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: { - enabled: true | false; - perTransferFeeLimits?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }[]; - }; - /** - * 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; - /** - * 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; - /** - * 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). - */ - bulkExpiration: string; - }; - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - PartyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * Name of the Party. Could be a real name or a nickname. - */ - PartyName: string; - /** - * Data model for the complex type PartyComplexName. - */ - PartyComplexName: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Data model for the complex type PartyPersonalInfo. - */ - PartyPersonalInfo: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - /** - * Data model for the complex type Party. - */ - Party: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * Data model for the complex type 'bulkTransactionIndividualTransfer'. - */ - bulkTransactionIndividualTransfer: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Data model for the complex type Party. - */ - to: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; /** - * 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. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - merchantClassificationCode?: string; + transactionType: "TRANSFER"; /** - * Name of the Party. Could be a real name or a nickname. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - name?: string; + note?: string; /** - * Data model for the complex type PartyPersonalInfo. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; + extensions?: { + /** @description Number of Extension elements. */ + extension: { /** - * Middle name of the Party (Name Type). + * ExtensionKey + * @description Extension key. */ - middleName?: string; + key: string; /** - * Last name of the Party (Name Type). + * ExtensionValue + * @description Extension value. */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; + value: string; + }[]; }; - }; - /** - * Payer Loan reference - */ - reference?: string; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Memo assigned to transaction. - */ - note?: string; + }[]; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - quoteExtensions?: { - /** - * Number of Extension elements. - */ + extensions?: { + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; + }; + individualQuoteResult: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - transferExtensions?: { + 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"; /** - * Number of Extension elements. + * 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 */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + amount: string; }; /** - * This object represents a Mojaloop API error received at any time during the transfer process + * Money + * @description Data model for the complex type Money. */ - lastError?: { + payeeFspFee?: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * Currency + * @description The currency codes defined in [ISO 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} */ - httpStatusCode?: number; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * 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. + * 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 */ - mojaloopError?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + amount: string; }; - }; - bulkTransactionRequest: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - bulkHomeTransactionID: string; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * Money + * @description Data model for the complex type Money. */ - bulkTransactionId: string; - options: { - /** - * 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: { enabled: false | true }; + payeeFspCommission?: { /** - * 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. + * Currency + * @description The currency codes defined in [ISO 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} */ - autoAcceptQuote: { - enabled: true | false; - perTransferFeeLimits?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }[]; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * 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. + * 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 */ - skipPartyLookup?: boolean; + amount: string; + }; + /** + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + geoCode?: { /** - * 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 + * 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 */ - synchronous?: boolean; + latitude: string; /** - * 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). + * 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 */ - bulkExpiration: string; + longitude: string; }; /** - * Data model for the complex type Party. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - from: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { + 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: { /** - * 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. + * ExtensionKey + * @description Extension key. */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; + key: string; /** - * Identifier of the Party. + * ExtensionValue + * @description Extension value. */ - partyIdentifier: string; + 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?: { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - partySubIdOrType?: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * FSP identifier. + * ExtensionKey + * @description Extension key. */ - fspId?: string; + 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"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + amount: string; }; /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. + * Money + * @description Data model for the complex type Money. */ - personalInfo?: { + payeeFspFee?: { /** - * Data model for the complex type PartyComplexName. + * Currency + * @description The currency codes defined in [ISO 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} */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Date of Birth of the Party. + * 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 */ - dateOfBirth?: string; + amount: string; }; - }; - /** - * List of individual transfers in a bulk transfer. - */ - individualTransfers: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; /** - * Data model for the complex type Party. + * Money + * @description Data model for the complex type Money. */ - to: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; + payeeFspCommission?: { /** - * Data model for the complex type PartyPersonalInfo. + * Currency + * @description The currency codes defined in [ISO 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} */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * Payer Loan reference - */ - reference?: string; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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; + }; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - amount: string; + 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; + }; /** - * Memo assigned to transaction. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - note?: string; + ilpPacket: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - quoteExtensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - transferExtensions?: { - /** - * Number of Extension elements. - */ + extensionList?: { + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ + /** @description This object represents a Mojaloop API error received at any time during the quote process */ lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ + /** @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; - /** - * 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. - */ + /** @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?: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -35003,342 +39334,870 @@ export interface components { }; }; }[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; }; - bulkTransferStatus: "ERROR_OCCURRED" | "COMPLETED"; - individualTransferResult: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + bulkQuoteErrorResponse: { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + } & { + bulkQuoteState: { /** - * Number of Extension elements. + * 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 */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { + bulkQuoteId: string; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId?: string; /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * 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 */ - httpStatusCode?: number; + expiration: string; /** - * 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. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - mojaloopError?: { + 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: { /** - * Data model for the complex type ErrorInformation. + * 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 */ - errorInformation?: { + quoteId: string; + /** + * Money + * @description Data model for the complex type Money. + */ + transferAmount: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * Currency + * @description The currency codes defined in [ISO 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} */ - errorCode: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Error description string. + * 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 */ - errorDescription: string; + 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"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + amount: string; }; - }; - }; - }; - bulkTransferResponse: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransferId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId?: string; - /** - * 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. - */ - bulkTransferState?: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * 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). - */ - completedTimestamp?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individual transfer result in a bulk transfer response. - */ - individualTransferResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { /** - * Number of Extension elements. + * Money + * @description Data model for the complex type Money. */ - extension: { + payeeFspFee?: { /** - * Extension key. + * Currency + * @description The currency codes defined in [ISO 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} */ - key: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 value. + * 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 */ - value: string; - }[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; + amount: string; + }; /** - * 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. + * Money + * @description Data model for the complex type Money. */ - mojaloopError?: { + payeeFspCommission?: { /** - * Data model for the complex type ErrorInformation. + * Currency + * @description The currency codes defined in [ISO 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} */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }[]; - }; - bulkTransferErrorResponse: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkTransferState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransferId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId?: string; - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId?: string; - /** - * 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. - */ - bulkTransferState?: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * 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). - */ - completedTimestamp?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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; + }; /** - * Number of Extension elements. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - extension: { + geoCode?: { /** - * Extension key. + * 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 */ - key: string; + latitude: string; /** - * Extension value. + * 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 */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individual transfer result in a bulk transfer response. - */ - individualTransferResults: { + longitude: string; + }; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - transferId: string; + ilpPacket: string; /** - * Fulfilment that must be attached to the transfer by the Payee. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - fulfilment?: string; + condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ + /** @description This object represents a Mojaloop API error received at any time during the quote process */ lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ + /** @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; - /** - * 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. - */ + /** @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?: { /** - * Data model for the complex type ErrorInformation. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ errorInformation?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ errorCode: string; /** - * Error description string. + * ErrorDescription + * @description Error description string. */ errorDescription: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; @@ -35349,322 +40208,592 @@ export interface components { }[]; }; }; - /** - * Data model for the 'individualTransfer' while accepting party or quote. - */ - bulkTransactionIndividualTransferAccept: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - }; - /** - * The object sent back as confirmation of payee parties when autoAcceptParty is false. - */ - bulkTransactionContinuationAcceptParty: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - bulkHomeTransactionID: string; - /** - * List of individual transfers in a bulk transfer with accept party information. - */ - individualTransfers: ({ - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - } & { acceptParty: true | false })[]; - }; - /** - * The object sent back as confirmation of quotes when autoAcceptQuotes is false. - */ - bulkTransactionContinuationAcceptQuote: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - bulkHomeTransactionID: string; - /** - * List of individual transfers in a bulk transfer. - */ - individualTransfers: ({ - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - } & { acceptQuote: true | false })[]; - }; - /** - * This object represents a Mojaloop API error received at any time during the party discovery process - */ - partyError: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; + /** @enum {string} */ + bulkQuoteStatus: "ERROR_OCCURRED" | "COMPLETED"; + bulkQuoteStatusResponse: { /** - * 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. + * 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 */ - mojaloopError?: { + bulkQuoteId: string; + /** @enum {string} */ + currentState: "ERROR_OCCURRED" | "COMPLETED"; + individualQuotes: { /** - * Data model for the complex type ErrorInformation. + * 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 */ - errorInformation?: { + 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"; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * 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} */ - errorCode: string; + idType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * Error description string. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - errorDescription: string; + 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; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * FspId + * @description FSP identifier. */ + fspId?: string; extensionList?: { /** - * Number of Extension elements. + * ExtensionKey + * @description Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; - }; - }; - bulkTransactionAcceptPartyErrorResponse: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkTransferState: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * 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} */ - bulkHomeTransactionID: string; + amountType: "SEND" | "RECEIVE"; /** - * List of individual transfers in a bulk transfer with accept party information. + * Currency + * @description The currency codes defined in [ISO 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} */ - individualTransfers: ({ - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - } & { acceptParty: true | false })[]; - } & { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * 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 */ - httpStatusCode?: number; + amount: string; /** - * 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. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - mojaloopError?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: 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: { /** - * Error description string. + * ExtensionKey + * @description Extension key. */ - errorDescription: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; }; - }; + }[]; }; /** - * This object represents a Mojaloop API error received at any time during the quote process + * 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} */ - quoteError: { + 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: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * 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 */ - httpStatusCode?: number; + originalTransactionId: string; /** - * 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. + * RefundReason + * @description Reason for the refund. + * @example Free text indicating reason for the refund. */ - mojaloopError?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + refundReason?: string; }; - bulkTransactionAcceptQuoteErrorResponse: { + /** + * 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"; /** - * Error code as string. + * TransactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * @example LOCALLY_DEFINED_SUBSCENARIO */ - statusCode?: string; + subScenario?: string; /** - * Error message text. + * 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} */ - message?: string; - } & { - bulkTransferState?: { + 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"; /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - bulkHomeTransactionID: string; + idValue: string; /** - * List of individual transfers in a bulk transfer. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - individualTransfers: ({ - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - } & { acceptQuote: true | false })[]; - } & { + 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; /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - httpStatusCode?: number; + firstName?: string; /** - * 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. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - mojaloopError?: { + 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?: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - ilpCondition: string; - /** - * Data model for the complex type 'individualTransfer'. - */ - individualTransfer: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; to: { /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Below are the allowed values for the enumeration. + * 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. @@ -35673,6 +40802,7 @@ export interface components { * - 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" @@ -35684,15 +40814,19 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ idValue: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ idSubValue?: string; /** - * 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. + * 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 ( ). * @@ -35700,48 +40834,65 @@ export interface components { */ displayName?: string; /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; /** - * 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 + * @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; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; extensionList?: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; /** - * Below are the allowed values for the enumeration AmountType. + * 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -35909,68 +41060,143 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; /** - * Type of transaction. - */ - transactionType?: "TRANSFER"; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Memo assigned to transaction. + * TransactionType + * @description Data model for the complex type TransactionType. */ - note?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { + scenario: { /** - * Number of Extension elements. + * 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} */ - extension: { + 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?: { /** - * Extension key. + * 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 */ - key: string; + originalTransactionId: string; /** - * Extension value. + * RefundReason + * @description Reason for the refund. + * @example Free text indicating reason for the refund. */ - value: string; - }[]; + 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; }; - }; - bulkTransferRequest: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * 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} */ - homeTransactionId: string; + initiator: "PAYER" | "PAYEE"; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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} */ - bulkTransferId: 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: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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; + transactionRequestId: string; from: { /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Below are the allowed values for the enumeration. + * 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. @@ -35979,6 +41205,7 @@ export interface components { * - 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" @@ -35990,15 +41217,19 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ idValue: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ idSubValue?: string; /** - * 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. + * 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 ( ). * @@ -36006,437 +41237,67 @@ export interface components { */ displayName?: string; /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; /** - * 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 + * @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; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; extensionList?: { /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * List of individual transfers in a bulk transfer. - */ - individualTransfers: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType?: "TRANSFER"; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer - */ - individualTransferFulfilment: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - }; - bulkTransferStatusResponse: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkTransferId: string; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - fulfils: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; - }; - /** - * Data model for the complex type 'individualQuote'. - */ - individualQuote: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; to: { /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Below are the allowed values for the enumeration. + * 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. @@ -36445,6 +41306,7 @@ export interface components { * - 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" @@ -36456,15 +41318,19 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ idValue: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ idSubValue?: string; /** - * 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. + * 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 ( ). * @@ -36472,48 +41338,65 @@ export interface components { */ displayName?: string; /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; /** - * 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 + * @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; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; extensionList?: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; /** - * Below are the allowed values for the enumeration AmountType. + * 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -36681,56 +41564,141 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * TransactionType + * @description Data model for the complex type TransactionType. */ - extensions?: { + 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; /** - * Number of Extension elements. + * 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} */ - extension: { + 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?: { /** - * Extension key. + * 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 */ - key: string; + originalTransactionId: string; /** - * Extension value. + * RefundReason + * @description Reason for the refund. + * @example Free text indicating reason for the refund. */ - value: string; - }[]; + 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; }; - }; - bulkQuoteRequest: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * 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} */ - homeTransactionId: 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"; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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} */ - bulkQuoteId?: 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: { /** - * Below are the allowed values for the enumeration. + * 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"; /** - * Below are the allowed values for the enumeration. + * 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. @@ -36739,6 +41707,7 @@ export interface components { * - 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" @@ -36750,15 +41719,19 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ idValue: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ idSubValue?: string; /** - * 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. + * 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 ( ). * @@ -36766,1196 +41739,867 @@ export interface components { */ displayName?: string; /** - * First name of the Party (Name Type). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ firstName?: string; /** - * Middle name of the Party (Name Type). + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ middleName?: string; /** - * Last name of the Party (Name Type). + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ lastName?: string; /** - * Date of Birth of the Party. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ dateOfBirth?: string; /** - * 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 + * @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; /** - * FSP identifier. + * FspId + * @description FSP identifier. */ fspId?: string; extensionList?: { /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * List of individual quotes in a bulk quote. - */ - individualQuotes: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - }; - individualQuoteResult: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Data model for the complex type Money. - */ - transferAmount: { + to: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + * 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"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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} */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { + idType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + idValue: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { + idSubValue?: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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?: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - amount: string; + 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; + }[]; }; /** - * Data model for the complex type Money. + * 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 */ - payeeFspCommission?: { + amount: string; + /** + * TransactionType + * @description Data model for the complex type TransactionType. + */ + scenario: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * TransactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * @example LOCALLY_DEFINED_SUBSCENARIO */ - amount: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { + subScenario?: string; /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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} */ - latitude: string; + initiator: "PAYER" | "PAYEE"; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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} */ - longitude: 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; }; /** - * Information for recipient (transport layer information). + * 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} */ - ilpPacket: string; + initiator: "PAYER" | "PAYEE"; /** - * Condition that must be attached to the transfer by the Payer. + * 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} */ - condition: string; + initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - extensionList?: { + 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: { /** - * Number of Extension elements. + * 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} */ - extension: { + 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?: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; - /** - * This object represents a Mojaloop API error received at any time during the quote process - */ - lastError?: { + to: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * 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} */ - httpStatusCode?: number; + 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"; /** - * 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. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - mojaloopError?: { + 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?: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; - }; - bulkQuoteResponse: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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 */ - bulkQuoteId: string; + amount: string; /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - homeTransactionId?: string; + transactionType: "TRANSFER"; /** - * 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). + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - expiration?: string; + note?: string; + /** @enum {string} */ + currentState?: + | "ERROR_OCCURRED" + | "WAITING_FOR_PARTY_ACCEPTANCE" + | "WAITING_FOR_QUOTE_ACCEPTANCE" + | "COMPLETED"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; + quoteId?: string; /** - * List of individualQuoteResults in a bulk transfer response. + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. */ - individualQuoteResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; + quoteResponse?: { /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ transferAmount: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -38123,16 +42767,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeReceiveAmount?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -38300,16 +42949,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspFee?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -38477,16 +43131,21 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type Money. + * Money + * @description Data model for the complex type Money. */ payeeFspCommission?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -38654,1041 +43313,1613 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; }; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * 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?: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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; }; /** - * Information for recipient (transport layer information). + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ ilpPacket: string; /** - * Condition that must be attached to the transfer by the Payer. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ condition: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * 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?: { /** - * This object represents a Mojaloop API error received at any time during the quote process + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; + 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?: { /** - * 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. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - mojaloopError?: { + errorInformation?: { /** - * Data model for the complex type ErrorInformation. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Number of Extension elements. + * ExtensionKey + * @description Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; }; }; + }; + }; + transferContinuationAcceptOTP: { + /** @enum {boolean} */ + acceptOTP: true | false; + }; + 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"; }[]; - }; - bulkQuoteErrorResponse: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - bulkQuoteState?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - bulkQuoteId: string; + response?: { /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * 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} */ - homeTransactionId?: string; + idType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * 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). + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - expiration?: string; + idValue: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + idSubValue?: string; + error?: { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; }; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - /** - * List of individualQuoteResults in a bulk transfer response. - */ - individualQuoteResults: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: 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?: { /** - * Data model for the complex type Money. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorInformation?: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { + errorCode: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * ErrorDescription + * @description Error description string. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorDescription: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - amount: string; + 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 }; + }; + }; + 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: { /** - * Data model for the complex type Money. + * 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} */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + 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?: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - amount: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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 }; + }; + }; + }; + /** @enum {string} */ + async2SyncCurrentState: + | "WAITING_FOR_ACTION" + | "COMPLETED" + | "ERROR_OCCURRED"; + /** + * partiesByIdResponse + * @description GET /parties/{Type}/{ID} response object + */ + partiesByIdResponse: { + party: { + /** + * Party + * @description Data model for the complex type Party. + */ + body: { /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 */ - geoCode?: { + partyIdInfo: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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} */ - latitude: string; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - longitude: string; + 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; + }[]; + }; }; /** - * Information for recipient (transport layer information). + * 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. */ - ilpPacket: string; + merchantClassificationCode?: string; /** - * Condition that must be attached to the transfer by the Payer. + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ - condition: string; + name?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ - extensionList?: { + 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; + }; /** - * Number of Extension elements. + * 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"; + }; + /** + * 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: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * 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?: { /** - * This object represents a Mojaloop API error received at any time during the quote process + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - lastError?: { + complexName?: { /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - httpStatusCode?: number; + firstName?: string; /** - * 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. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - mojaloopError?: { + 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: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + 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; }; - }; - bulkQuoteStatus: "ERROR_OCCURRED" | "COMPLETED"; - bulkQuoteStatusResponse: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * Money + * @description Data model for the complex type Money. */ - bulkQuoteId: string; - currentState: "ERROR_OCCURRED" | "COMPLETED"; - individualQuotes: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; + fees?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -39856,3175 +45087,11723 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensions?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; - }; - /** - * 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. - */ - TransactionScenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - TransactionSubScenario: string; - /** - * 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. - */ - TransactionInitiator: "PAYER" | "PAYEE"; - /** - * Reason for the refund. - */ - RefundReason: string; - /** - * Data model for the complex type Refund. - */ - Refund: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (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. - */ - BalanceOfPayments: string; - /** - * Data model for the complex type TransactionType. - */ - TransactionType: { - /** - * 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. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + }; /** - * Data model for the complex type Refund. + * TransactionType + * @description Data model for the complex type TransactionType. */ - refundInfo?: { + transactionType: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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} */ - originalTransactionId: string; + scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; /** - * Reason for the refund. + * TransactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * @example LOCALLY_DEFINED_SUBSCENARIO */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - requestToPayRequest: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - homeTransactionId: string; - from: { + subScenario?: string; /** - * Below are the allowed values for the enumeration. + * 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} */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; + initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * FSP identifier. + * Refund + * @description Data model for the complex type Refund. */ - fspId?: string; - extensionList?: { + refundInfo?: { /** - * Extension key. + * 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 */ - key: string; + originalTransactionId: string; /** - * Extension value. + * RefundReason + * @description Reason for the refund. + * @example Free text indicating reason for the refund. */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; + refundReason?: string; + }; /** - * Date of Birth of the Party. + * 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 */ - dateOfBirth?: string; + balanceOfPayments?: string; + }; + /** + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + geoCode?: { /** - * 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. + * 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 */ - merchantClassificationCode?: string; + latitude: string; /** - * FSP identifier. + * 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 */ - fspId?: string; - extensionList?: { + 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: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; + }; + /** simpleQuotesPostRequest */ + simpleQuotesPostRequest: { /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * FspId + * @description FSP identifier. */ - amount: string; + fspId: string; /** - * Data model for the complex type TransactionType. + * QuotesPostRequest + * @description The object sent in the POST /quotes request. */ - scenario: { + quotesPostRequest: { /** - * 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. + * 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 */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; + quoteId: string; /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * 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 */ - subScenario?: string; + transactionId: string; /** - * 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. + * 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 */ - initiator: "PAYER" | "PAYEE"; + transactionRequestId?: string; /** - * 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. + * Party + * @description Data model for the complex type Party. */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + 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; + }; /** - * Data model for the complex type Refund. + * TransactionType + * @description Data model for the complex type TransactionType. */ - refundInfo?: { + transactionType: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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} */ - originalTransactionId: string; + scenario: + | "DEPOSIT" + | "WITHDRAWAL" + | "TRANSFER" + | "PAYMENT" + | "REFUND"; /** - * Reason for the refund. + * TransactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * @example LOCALLY_DEFINED_SUBSCENARIO */ - refundReason?: string; + 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; }; /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - }; - /** - * 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. - */ - AuthenticationType: "OTP" | "QRCODE" | "U2F"; - /** - * 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. - */ - TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - requestToPayResponse: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - fspId?: string; - extensionList?: { + geoCode?: { /** - * Extension key. + * 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 */ - key: string; + latitude: string; /** - * Extension value. + * 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 */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; + longitude: string; + }; /** - * Date of Birth of the Party. + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - dateOfBirth?: string; + note?: string; /** - * 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. + * 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 */ - merchantClassificationCode?: string; + expiration?: string; /** - * FSP identifier. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - fspId?: string; extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + /** QuotesPostResponse */ + quotesPostResponse: { + /** + * QuotesIDPutResponse + * @description The object sent in the PUT /quotes/{ID} callback. + */ + quotes: { + body: { /** - * Extension key. + * Money + * @description Data model for the complex type Money. */ - key: string; + 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; + }; /** - * Extension value. + * Money + * @description Data model for the complex type Money. */ - value: string; - }[]; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Data model for the complex type TransactionType. - */ - scenario?: { - /** - * 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. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { + 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; + }; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * Money + * @description Data model for the complex type Money. */ - originalTransactionId: string; + 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; + }; /** - * Reason for the refund. + * @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 */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * 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. - */ - initiator?: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - authenticationType?: "OTP" | "QRCODE" | "U2F"; - /** - * 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. - */ - requestToPayState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - }; - requestToPayTransferRequest: { - /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. - */ - requestToPayTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { + expiration: string; /** - * Extension key. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - key: string; + 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 value. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { + ilpPacket: string; /** - * Extension key. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - key: string; + condition: string; /** - * Extension value. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - value: string; - }[]; + 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"; + }; + 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: { /** - * 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. + * 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 */ - amountType: "SEND" | "RECEIVE"; + transferId: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * FspId + * @description FSP identifier. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + payeeFsp: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * FspId + * @description FSP identifier. */ - amount: string; + payerFsp: string; /** - * Data model for the complex type TransactionType. + * Money + * @description Data model for the complex type Money. */ - scenario: { - /** - * 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. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + amount: { /** - * Data model for the complex type Refund. + * Currency + * @description The currency codes defined in [ISO 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} */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * (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. + * 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 */ - balanceOfPayments?: string; + amount: string; }; /** - * 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. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - initiator: "PAYER" | "PAYEE"; + ilpPacket: string; /** - * 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. + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + condition: string; /** - * Memo assigned to transaction. + * 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 */ - note?: string; + 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; + }[]; + }; }; - requestToPayTransferResponse: { + /** SimpleTransfersPostRequest */ + simpleTransfersPostRequest: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * FspId + * @description FSP identifier. */ - transferId?: string; + fspId: string; /** - * Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. + * TransfersPostRequest + * @description The object sent in the POST /transfers request. */ - requestToPayTransactionId: string; - from: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; + transfersPostRequest: { /** - * Identifier of the Party. + * 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 */ - idValue: string; + transferId: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * FspId + * @description FSP identifier. */ - idSubValue?: string; + payeeFsp: string; /** - * 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. + * FspId + * @description FSP identifier. */ - displayName?: string; + payerFsp: string; /** - * First name of the Party (Name Type). + * Money + * @description Data model for the complex type Money. */ - firstName?: string; + 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; + }; /** - * Middle name of the Party (Name Type). + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - middleName?: string; + ilpPacket: string; /** - * Last name of the Party (Name Type). + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - lastName?: string; + condition: string; /** - * Date of Birth of the Party. + * 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 */ - dateOfBirth?: string; + expiration: string; /** - * 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. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - merchantClassificationCode?: string; + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + /** SimpleTransfersPostResponse */ + simpleTransfersPostResponse: { + transfer: { /** - * FSP identifier. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - fspId?: string; - extensionList?: { + 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"; + }; + 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; + }[]; + }; /** - * Extension key. + * 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} */ - key: string; + amountType: "SEND" | "RECEIVE"; /** - * Extension value. + * Currency + * @description The currency codes defined in [ISO 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} */ - value: string; - }[]; - }; - to: { - /** - * 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. - */ - type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * 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; - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - /** - * 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; - /** - * FSP identifier. - */ - fspId?: string; - extensionList?: { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 key. + * 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 */ - key: string; + amount: string; /** - * Extension value. + * transferTransactionType + * @description Type of transaction. + * @enum {string} */ - value: 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; + }; }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - /** - * Type of transaction. - */ - transactionType: "TRANSFER"; - /** - * Memo assigned to transaction. - */ - note?: string; - currentState?: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId?: string; - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - quoteResponse?: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + }; + /** Malformed or missing required body, headers or parameters */ + transferBadRequest: { + 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 */ + transferServerError: { + 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 */ + transferTimeout: { + 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; + }; }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + }; + }; + /** Bulk transfer accepted successfully */ + bulkTransactionAccepted: unknown; + /** 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; + }[]; + }; + }; + }; + }; + }[]; + }; + }; + }; + }; + /** Internal Server Error */ + errorResponse: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + }; + }; + }; + /** 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 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. */ + individualTransfers: ({ + /** @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; + } & { + /** @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 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. */ + individualTransfers: ({ + /** @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; + } & { + /** @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; + })); + }; + }; + /** Bulk transfer completed successfully */ + bulkTransferSuccess: { + content: { + "application/json": { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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 */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { + bulkTransferId: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + bulkQuoteId?: string; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId?: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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} */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { + bulkTransferState?: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + completedTimestamp?: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - amount: string; + 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; + }[]; + }; + }; + }; + }; + }[]; }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { + }; + }; + /** Bulk quote completed successfully */ + bulkQuoteSuccess: { + content: { + "application/json": { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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 */ - latitude: string; + bulkQuoteId: string; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId?: string; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * 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 */ - longitude: string; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + expiration: string; /** - * Number of Extension elements. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - extension: { + 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; + }; /** - * Extension key. + * Money + * @description Data model for the complex type Money. */ - key: string; + 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; + }; /** - * Extension value. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - value: string; + 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; + }[]; + }; + }; + }; + }; }[]; }; }; - /** - * 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; - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - fulfil?: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + }; + /** Malformed or missing required body, headers or parameters */ + bulkQuoteBadRequest: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + } & { + bulkQuoteState: { /** - * Extension key. + * 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 */ - key: string; + bulkQuoteId: string; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId?: string; /** - * Extension value. + * 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 */ - value: string; - }[]; + 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; + }[]; + }; + }; + }; + }; + }[]; + }; }; }; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { + }; + /** An error occurred processing the bulk quote */ + bulkQuoteServerError: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + } & { + bulkQuoteState: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * 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 */ - errorCode: string; + bulkQuoteId: string; + /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ + homeTransactionId?: string; /** - * Error description 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: string; + expiration: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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; + }; /** - * Number of Extension elements. + * Money + * @description Data model for the complex type Money. */ - extension: { + payeeFspCommission?: { /** - * Extension key. + * Currency + * @description The currency codes defined in [ISO 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} */ - key: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 value. + * 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 */ - value: string; - }[]; - }; - }; - }; - }; - }; - transferContinuationAcceptOTP: { acceptOTP: true | false }; - accountsRequest: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; + 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; + }[]; + }; + }; + }; + }; + }[]; + }; + }; }; - }[]; - accountsCreationState: "ERROR_OCCURRED" | "COMPLETED"; - accountsResponse: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - modelId?: string; - accounts: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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?: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** - * Error code as string. - */ + }; + /** Timeout occurred processing the bulk quote */ + bulkQuoteTimeout: { + content: { + "application/json": { + /** @description Error code as string. */ statusCode?: string; - /** - * Error message text. - */ + /** @description Error message text. */ message?: string; - }; - }[]; - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { + } & { + 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; + }[]; + }; + }; + }; + }; + }[]; + }; + }; + }; + }; + /** Request to Pay completed successfully */ + requestToPaySuccess: { + content: { + "application/json": { /** - * Data model for the complex type ErrorInformation. + * 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 */ - errorInformation?: { + transactionRequestId: string; + from: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * 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} */ - errorCode: string; + type?: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; /** - * Error description string. + * 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} */ - errorDescription: 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; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * FspId + * @description FSP identifier. */ + fspId?: string; extensionList?: { /** - * Number of Extension elements. + * ExtensionKey + * @description Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + 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; + }[]; }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - }; - errorAccountsResponse: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { - executionState: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - modelId?: string; - accounts: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * 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} */ - idSubValue?: string; + amountType: "SEND" | "RECEIVE"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -43151,930 +56930,198 @@ export interface components { | "SCR" | "SDG" | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "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?: { - /** - * 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. - */ - idType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - idValue: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - idSubValue?: string; - error?: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - }; - }[]; - currentState?: "ERROR_OCCURRED" | "COMPLETED"; - /** - * This object represents a Mojaloop API error received at any time during the transfer process - */ - lastError?: { - /** - * The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. - */ - httpStatusCode?: number; - /** - * 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?: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - postAccountsResponse?: { - body: { [key: string]: any }; - headers?: { [key: string]: any }; - }; - }; - }; - async2SyncCurrentState: - | "WAITING_FOR_ACTION" - | "COMPLETED" - | "ERROR_OCCURRED"; - /** - * GET /parties/{Type}/{ID} response object - */ - partiesByIdResponse: { - party: { - /** - * Data model for the complex type Party. - */ - body: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - headers: { [key: string]: any }; - }; - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; - }; - /** - * The object sent in the POST /quotes request. - */ - QuotesPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId?: string; - /** - * Data model for the complex type Party. - */ - payee: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * Data model for the complex type Party. - */ - payer: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * FSP identifier. + * 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 */ - fspId?: string; + amount: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * TransactionType + * @description Data model for the complex type TransactionType. */ - extensionList?: { + scenario?: { /** - * Number of Extension elements. + * 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} */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { + scenario: + | "DEPOSIT" + | "WITHDRAWAL" + | "TRANSFER" + | "PAYMENT" + | "REFUND"; /** - * First name of the Party (Name Type). + * TransactionSubScenario + * @description Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * @example LOCALLY_DEFINED_SUBSCENARIO */ - firstName?: string; + subScenario?: string; /** - * Middle name of the Party (Name Type). + * 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} */ - middleName?: string; + initiator: "PAYER" | "PAYEE"; /** - * Last name of the Party (Name Type). + * 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} */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * Data model for the complex type Money. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - fees?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type TransactionType. - */ - transactionType: { - /** - * 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. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * 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). - */ - expiration?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + 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; + }; /** - * Extension key. + * 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} */ - key: string; + initiator?: "PAYER" | "PAYEE"; /** - * Extension value. - */ - value: string; - }[]; + * 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; + }; }; }; - simpleQuotesPostRequest: { - /** - * FSP identifier. - */ - fspId: string; - /** - * The object sent in the POST /quotes request. - */ - quotesPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId?: string; - /** - * Data model for the complex type Party. - */ - payee: { + /** Transfer completed successfully */ + requestToPayTransferSuccess: { + content: { + "application/json": { /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 + * 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 */ - partyIdInfo: { + 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"; /** - * Below are the allowed values for the enumeration. + * 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. @@ -44083,8 +57130,9 @@ export interface components { * - 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: + idType: | "MSISDN" | "EMAIL" | "PERSONAL_ID" @@ -44094,632 +57142,1500 @@ export interface components { | "IBAN" | "ALIAS"; /** - * Identifier of the Party. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - partyIdentifier: string; + idValue: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - partySubIdOrType?: string; + 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; /** - * FSP identifier. + * 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; + }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Money + * @description Data model for the complex type Money. */ - extensionList?: { + payeeReceiveAmount?: { /** - * Number of Extension elements. + * Currency + * @description The currency codes defined in [ISO 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} */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "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; }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { /** - * Data model for the complex type PartyComplexName. + * Money + * @description Data model for the complex type Money. */ - complexName?: { + payeeFspFee?: { /** - * First name of the Party (Name Type). + * Currency + * @description The currency codes defined in [ISO 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} */ - firstName?: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Middle name of the Party (Name Type). + * 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 */ - middleName?: string; + 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"; /** - * Last name of the Party (Name Type). + * 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 */ - lastName?: string; + amount: string; }; /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * Data model for the complex type Party. - */ - payer: { - /** - * Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { + expiration: string; /** - * Data model for the complex type PartyComplexName. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; + geoCode?: { /** - * Middle name of the Party (Name Type). + * 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 */ - middleName?: string; + latitude: string; /** - * Last name of the Party (Name Type). + * 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 */ - lastName?: string; + longitude: string; }; /** - * Date of Birth of the Party. + * IlpPacket + * @description Information for recipient (transport layer information). + * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA */ - dateOfBirth?: string; - }; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * Data model for the complex type Money. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - fees?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type TransactionType. - */ - transactionType: { - /** - * 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. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { + ilpPacket: string; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * IlpCondition + * @description Condition that must be attached to the transfer by the Payer. */ - originalTransactionId: string; + condition: string; /** - * Reason for the refund. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * 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). - */ - expiration?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + 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; /** - * Number of Extension elements. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - extension: { + fulfil?: { /** - * Extension key. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - key: string; + fulfilment?: string; /** - * Extension value. + * 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 */ - value: string; - }[]; + 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; + }[]; + }; + }; + }; + }; }; }; }; - quotesPostResponse: { - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - quotes: { - body: { - /** - * Data model for the complex type Money. - */ - transferAmount: { + /** 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"; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -44887,193 +58803,985 @@ export interface components { | "ZMW" | "ZWD"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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": { /** - * Data model for the complex type Money. + * 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 */ - payeeReceiveAmount?: { + modelId?: string; + accounts: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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} */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + idType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { + idValue: string; + /** + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + idSubValue?: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Currency + * @description The currency codes defined in [ISO 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" @@ -45240,856 +59948,4082 @@ export interface components { | "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"; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - amount: string; + 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 }; + }; }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { + }; + }; + }; + /** Timeout occurred creating accounts */ + accountsCreationTimeout: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + } & { + executionState: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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 */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + 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: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Party + * @description Data model for the complex type Party. */ - amount: string; + 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 */ + partiesByIdError404: { + content: { + "application/json": { /** - * Date and time until when the quotation is valid and can be honored when used in the subsequent transaction. - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - geoCode?: { + errorInformation?: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - latitude: string; + errorCode: string; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * ErrorDescription + * @description Error description string. */ - longitude: string; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + }; + /** sync response from POST /quotes */ + quotesPostSuccess: { + 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 }; }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + /** @enum {string} */ + currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; + }; + }; + }; + /** An error occurred processing the quotes request */ + quotesServerError: { + content: { + "application/json": { + /** @description Error code as string. */ + statusCode?: string; + /** @description Error message text. */ + message?: string; + } & { [key: string]: unknown }; + }; + }; + /** sync response from POST /simpleTransfers */ + simpleTransfersPostSuccess: { + content: { + "application/json": { + transfer: { /** - * Number of Extension elements. + * TransfersIDPutResponse + * @description The object sent in the PUT /transfers/{ID} callback. */ - extension: { + body: { /** - * Extension key. + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 */ - key: string; + fulfilment?: string; /** - * Extension value. + * 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 */ - value: string; - }[]; + 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"; }; - headers: { [key: string]: any }; }; - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; }; - errorQuotesResponse: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { [key: string]: any }; - /** - * The object sent in the POST /transfers request. - */ - TransfersPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - /** - * FSP identifier. - */ - payeeFsp: string; - /** - * FSP identifier. - */ - payerFsp: string; - /** - * Data model for the complex type Money. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + /** 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 }; + }; + }; + }; + 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; + /** @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; + /** @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; + }; +} + +export interface operations { + /** 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). */ + PartiesByTypeAndID: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: string; + /** The identifier value. */ + ID: string; }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + }; + 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; + }[]; + }; + }; + }; + }; }; }; - simpleTransfersPostRequest: { - /** - * FSP identifier. - */ - fspId: string; - /** - * The object sent in the POST /transfers request. - */ - transfersPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transferId: string; - /** - * FSP identifier. - */ - payeeFsp: string; - /** - * FSP identifier. - */ - payerFsp: string; - /** - * Data model for the complex type Money. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + }; + /** 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). */ + 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; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + }; + /** 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 }; + }; + }; + }; + /** Quotes request payload */ + requestBody: { + content: { + "application/json": { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * FspId + * @description FSP identifier. */ - amount: string; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + fspId: string; /** - * Number of Extension elements. + * QuotesPostRequest + * @description The object sent in the POST /quotes request. */ - extension: { + 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; + }; /** - * Extension key. + * TransactionType + * @description Data model for the complex type TransactionType. */ - key: string; + 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; + }; /** - * Extension value. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - value: string; - }[]; + 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; + }[]; + }; + }; }; }; }; - simpleTransfersPostResponse: { - transfer: { - /** - * The object sent in the PUT /transfers/{ID} callback. - */ - body: { - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - fulfilment?: string; - /** - * 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). - */ - completedTimestamp?: string; + }; + /** 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 }; + }; + }; + }; + /** Simple Transfer request payload */ + requestBody: { + content: { + "application/json": { /** - * 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. + * FspId + * @description FSP identifier. */ - transferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; + fspId: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * TransfersPostRequest + * @description The object sent in the POST /transfers request. */ - extensionList?: { + transfersPostRequest: { /** - * Number of Extension elements. + * 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 */ - extension: { + transferId: string; + /** + * FspId + * @description FSP identifier. + */ + payeeFsp: string; + /** + * FspId + * @description FSP identifier. + */ + payerFsp: string; + /** + * Money + * @description Data model for the complex type Money. + */ + amount: { /** - * Extension key. + * Currency + * @description The currency codes defined in [ISO 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} */ - key: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "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 value. + * 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 */ - value: string; - }[]; + 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; + }[]; + }; }; }; - headers: { [key: string]: any }; }; - currentState: "WAITING_FOR_ACTION" | "COMPLETED" | "ERROR_OCCURRED"; }; - errorSimpleTransfersResponse: { - /** - * Error code as string. - */ - statusCode?: string; - /** - * Error message text. - */ - message?: string; - } & { [key: string]: any }; - }; - responses: { - /** - * Transfer completed successfully - */ - transferSuccess: { [key: string]: any }; - /** - * Malformed or missing required body, headers or parameters - */ - transferBadRequest: { [key: string]: any }; - /** - * An error occurred processing the transfer - */ - transferServerError: { [key: string]: any }; - /** - * Timeout occurred processing the transfer - */ - transferTimeout: { [key: string]: any }; - /** - * Bulk transfer accepted successfully - */ - bulkTransactionAccepted: { [key: string]: any }; - /** - * Malformed or missing required body, headers or parameters - */ - bulkTransferBadRequest: { [key: string]: any }; - /** - * Internal Server Error - */ - errorResponse: { [key: string]: any }; - /** - * Malformed or missing required body, headers or parameters - */ - bulkTransactionPutBadRequest: { [key: string]: any }; - /** - * Bulk transfer completed successfully - */ - bulkTransferSuccess: { [key: string]: any }; - /** - * Bulk quote completed successfully - */ - bulkQuoteSuccess: { [key: string]: any }; - /** - * Malformed or missing required body, headers or parameters - */ - bulkQuoteBadRequest: { [key: string]: any }; - /** - * An error occurred processing the bulk quote - */ - bulkQuoteServerError: { [key: string]: any }; - /** - * Timeout occurred processing the bulk quote - */ - bulkQuoteTimeout: { [key: string]: any }; - /** - * Request to Pay completed successfully - */ - requestToPaySuccess: { [key: string]: any }; - /** - * Transfer completed successfully - */ - requestToPayTransferSuccess: { [key: string]: any }; - /** - * Malformed or missing required body, headers or parameters - */ - requestToPayTransferBadRequest: { [key: string]: any }; - /** - * Accounts creation completed - */ - accountsCreationCompleted: { [key: string]: any }; - /** - * An error occurred creating accounts - */ - accountsCreationError: { [key: string]: any }; - /** - * Timeout occurred creating accounts - */ - accountsCreationTimeout: { [key: string]: any }; - /** - * PartiesByIdSuccess - */ - partiesByIdSuccess: { [key: string]: any }; - /** - * PartiesByIdError404 - */ - partiesByIdError404: { [key: string]: any }; - /** - * sync response from POST /quotes - */ - quotesPostSuccess: { [key: string]: any }; - /** - * An error occurred processing the quotes request - */ - quotesServerError: { [key: string]: any }; - /** - * sync response from POST /simpleTransfers - */ - simpleTransfersPostSuccess: { [key: string]: any }; - /** - * An error occurred processing the simple transfers request - */ - simpleTransfersServerError: { [key: string]: any }; }; } + +export interface external {} 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 00dd9d23..0a37fac7 100644 --- a/src/sdk-scheme-adapter/v2_0_0/outbound/schemas.ts +++ b/src/sdk-scheme-adapter/v2_0_0/outbound/schemas.ts @@ -74,8 +74,6 @@ export namespace Schemas { export const bulkTransactionAcceptPartyErrorResponse = JsonSchemas.bulkTransactionAcceptPartyErrorResponse export const quoteError = JsonSchemas.quoteError export const bulkTransactionAcceptQuoteErrorResponse = JsonSchemas.bulkTransactionAcceptQuoteErrorResponse - export const ilpPacket = JsonSchemas.ilpPacket - export const ilpCondition = JsonSchemas.ilpCondition export const individualTransfer = JsonSchemas.individualTransfer export const bulkTransferRequest = JsonSchemas.bulkTransferRequest export const individualTransferFulfilment = JsonSchemas.individualTransferFulfilment 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 494792a9..48287275 100644 --- a/src/sdk-scheme-adapter/v2_0_0/outbound/types.ts +++ b/src/sdk-scheme-adapter/v2_0_0/outbound/types.ts @@ -74,8 +74,6 @@ export namespace Types { export type bulkTransactionAcceptPartyErrorResponse = components['schemas']['bulkTransactionAcceptPartyErrorResponse'] export type quoteError = components['schemas']['quoteError'] export type bulkTransactionAcceptQuoteErrorResponse = components['schemas']['bulkTransactionAcceptQuoteErrorResponse'] - export type ilpPacket = components['schemas']['ilpPacket'] - export type ilpCondition = components['schemas']['ilpCondition'] export type individualTransfer = components['schemas']['individualTransfer'] export type bulkTransferRequest = components['schemas']['bulkTransferRequest'] export type individualTransferFulfilment = components['schemas']['individualTransferFulfilment'] diff --git a/src/thirdparty/openapi.ts b/src/thirdparty/openapi.ts index 0af0751d..b0787674 100644 --- a/src/thirdparty/openapi.ts +++ b/src/thirdparty/openapi.ts @@ -5,26 +5,23 @@ export interface paths { "/interface": { + /** Essential path to include schema definitions that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions. */ post: operations["test"]; }; "/accounts/{ID}": { + /** The HTTP request `GET /accounts/{ID}` is used to retrieve the list of potential accounts available for linking. */ get: operations["GetAccountsByUserId"]; + /** The HTTP request `PUT /accounts/{ID}` is used to return the list of potential accounts available for linking */ put: operations["UpdateAccountsByUserId"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -32,50 +29,33 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/accounts/{ID}/error": { + /** The HTTP request `PUT /accounts/{ID}/error` is used to return error information */ put: operations["UpdateAccountsByUserIdError"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -83,50 +63,40 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/health": { + /** The HTTP request GET /health is used to return the current status of the API. */ get: operations["HealthGet"]; }; "/metrics": { + /** The HTTP request GET /metrics is used to return metrics for the API. */ get: operations["MetricsGet"]; }; "/consentRequests": { + /** + * 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. + */ post: operations["CreateConsentRequest"]; parameters: { header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -134,52 +104,51 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/consentRequests/{ID}": { + /** + * The HTTP request `GET /consentRequests/{ID}` is used to get information about a previously + * requested consent. The *{ID}* in the URI should contain the consentRequestId that was assigned to the + * request by the PISP when the PISP originated the request. + */ get: operations["GetConsentRequestsById"]; + /** + * A DFSP uses this callback to (1) inform the PISP that the consentRequest has been accepted, + * and (2) communicate to the PISP which `authChannel` it should use to authenticate their user + * with. + * + * When a PISP requests a series of permissions from a DFSP on behalf of a DFSP’s customer, not all + * the permissions requested may be granted by the DFSP. Conversely, the out-of-band authorization + * process may result in additional privileges being granted by the account holder to the PISP. The + * **PUT /consentRequests/**_{ID}_ resource returns the current state of the permissions relating to a + * particular authorization request. + */ put: operations["UpdateConsentRequest"]; + /** 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. */ patch: operations["PatchConsentRequest"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -187,50 +156,33 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/consentRequests/{ID}/error": { + /** DFSP responds to the PISP if something went wrong with validating an OTP or secret. */ put: operations["NotifyErrorConsentRequests"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -238,44 +190,29 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/consents": { + /** The **POST /consents** request is used to request the creation of a 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. */ post: operations["PostConsents"]; parameters: { header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -283,53 +220,63 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/consents/{ID}": { + /** The **GET /consents/**_{ID}_ resource allows a party to enquire after the status of a consent. The *{ID}* used in the URI of the request should be the consent request ID which was used to identify the consent when it was created. */ get: operations["GetConsent"]; - patch: operations["PatchConsentByID"]; + /** + * The HTTP request `PUT /consents/{ID}` is used by the PISP and Auth Service. + * + * - Called by a `PISP` to after signing a challenge. Sent to an DFSP for verification. + * - Called by a `auth-service` to notify a DFSP that a credential has been verified and registered. + */ put: operations["PutConsentByID"]; + /** + * Used by PISP, DFSP + * + * The **DELETE /consents/**_{ID}_ request is used to request the revocation of a previously agreed consent. + * For tracing and auditing purposes, the switch should be sure not to delete the consent physically; + * instead, information relating to the consent should be marked as deleted and requests relating to the + * consent should not be honoured. + */ delete: operations["DeleteConsentByID"]; + /** + * The HTTP request `PATCH /consents/{ID}` is used + * + * - In account linking in the Credential Registration phase. Used by a DFSP + * to notify a PISP a credential has been verified and registered with an + * Auth service. + * + * - In account unlinking by a hub hosted auth service and by DFSPs + * in non-hub hosted scenarios to notify participants of a consent being revoked. + * + * Called by a `auth-service` to notify a PISP and DFSP of consent status in hub hosted scenario. + * Called by a `DFSP` to notify a PISP of consent status in non-hub hosted scenario. + */ + patch: operations["PatchConsentByID"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -337,50 +284,33 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/consents/{ID}/error": { + /** DFSP responds to the PISP if something went wrong with validating or storing consent. */ put: operations["NotifyErrorConsents"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -388,44 +318,29 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/participants": { + /** The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. */ post: operations["Participants1"]; parameters: { header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -433,50 +348,33 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/participants/{ID}": { + /** The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. */ put: operations["PutParticipantsByID"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -484,50 +382,33 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/participants/{ID}/error": { + /** If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. */ put: operations["PutParticipantsByIDAndError"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -535,57 +416,45 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/participants/{Type}/{ID}": { - post: operations["ParticipantsByIDAndType"]; + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ get: operations["ParticipantsByTypeAndID"]; + /** 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. */ put: operations["ParticipantsByTypeAndID3"]; + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 */ + post: operations["ParticipantsByIDAndType"]; + /** + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + * + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + */ delete: operations["ParticipantsByTypeAndID2"]; parameters: { path: { - /** - * The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. - */ + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ Type: string; - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -593,54 +462,35 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/participants/{Type}/{ID}/error": { + /** 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. */ put: operations["ParticipantsErrorByTypeAndID"]; parameters: { path: { - /** - * The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. - */ + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ Type: string; - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -648,51 +498,41 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/services/{ServiceType}": { + /** + * The HTTP request `GET /services/{ServiceType}` is used to retrieve the list of participants + * that support a specified service. + */ get: operations["GetServicesByServiceType"]; + /** + * The HTTP request `PUT /services/{ServiceType}` is used to return list of participants + * that support a specified service. + */ put: operations["PutServicesByServiceType"]; parameters: { path: { - /** - * The type of the service identifier. For example, `THIRD_PARTY_DFSP` - */ + /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ ServiceType: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -700,50 +540,33 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/services/{ServiceType}/error": { + /** The HTTP request `PUT /services/{ServiceType}/error` is used to return error information */ put: operations["PutServicesByServiceTypeAndError"]; parameters: { path: { - /** - * The type of the service identifier. For example, `THIRD_PARTY_DFSP` - */ + /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ ServiceType: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -751,44 +574,29 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/thirdpartyRequests/transactions": { + /** The HTTP request POST `/thirdpartyRequests/transactions` is used by a PISP to initiate a 3rd party Transaction request with a DFSP */ post: operations["ThirdpartyRequestsTransactionsPost"]; parameters: { header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -796,52 +604,50 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/thirdpartyRequests/transactions/{ID}": { + /** + * The HTTP request `GET /thirdpartyRequests/transactions/{ID}` is used to request the + * retrieval of a third party transaction request. + */ get: operations["GetThirdpartyTransactionRequests"]; + /** + * The HTTP request `PUT /thirdpartyRequests/transactions/{ID}` is used by the DFSP to inform the client about + * the status of a previously requested thirdparty transaction request. + * + * Switch(Thirdparty API Adapter) -> PISP + */ put: operations["UpdateThirdPartyTransactionRequests"]; + /** + * The HTTP request `PATCH /thirdpartyRequests/transactions/{ID}` is used to + * notify a thirdparty of the outcome of a transaction request. + * + * Switch(Thirdparty API Adapter) -> PISP + */ patch: operations["NotifyThirdpartyTransactionRequests"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -849,50 +655,38 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/thirdpartyRequests/transactions/{ID}/error": { + /** + * If the server is unable to find the transaction request, or another processing error occurs, + * the error callback `PUT /thirdpartyRequests/transactions/{ID}/error` is used. + * The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of + * the thirdparty transaction request. + */ put: operations["ThirdpartyTransactionRequestsError"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -900,44 +694,29 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/thirdpartyRequests/authorizations": { + /** The HTTP request **POST /thirdpartyRequests/authorizations** is used to request the validation by a customer for the transfer described in the request. */ post: operations["PostThirdpartyRequestsAuthorizations"]; parameters: { header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -945,51 +724,45 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/thirdpartyRequests/authorizations/{ID}": { + /** + * The HTTP request **GET /thirdpartyRequests/authorizations/**_{ID}_ is used to get information relating + * to a previously issued authorization request. The *{ID}* in the request should match the + * `authorizationRequestId` which was given when the authorization request was created. + */ get: operations["GetThirdpartyRequestsAuthorizationsById"]; + /** + * After receiving the **POST /thirdpartyRequests/authorizations**, the PISP will present the details of the + * transaction to their user, and request that the client sign the `challenge` field using the credential + * they previously registered. + * + * The signed challenge will be sent back by the PISP in **PUT /thirdpartyRequests/authorizations/**_{ID}_: + */ put: operations["PutThirdpartyRequestsAuthorizationsById"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -997,50 +770,42 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/thirdpartyRequests/authorizations/{ID}/error": { + /** + * The HTTP request `PUT /thirdpartyRequests/authorizations/{ID}/error` is used by the DFSP or PISP to inform + * the other party that something went wrong with a Thirdparty Transaction Authorization Request. + * + * The PISP may use this to tell the DFSP that the Thirdparty Transaction Authorization Request is invalid or doesn't + * match a `transactionRequestId`. + * + * The DFSP may use this to tell the PISP that the signed challenge returned in `PUT /thirdpartyRequest/authorizations/{ID}` + * was invalid. + */ put: operations["PutThirdpartyRequestsAuthorizationsByIdAndError"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -1048,44 +813,29 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/thirdpartyRequests/verifications": { + /** The HTTP request `POST /thirdpartyRequests/verifications` is used by the DFSP to verify a third party authorization. */ post: operations["PostThirdpartyRequestsVerifications"]; parameters: { header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -1093,51 +843,43 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/thirdpartyRequests/verifications/{ID}": { + /** + * The HTTP request `/thirdpartyRequests/verifications/{ID}` is used to get + * information regarding a previously created or requested authorization. The *{ID}* + * in the URI should contain the verification request ID + */ get: operations["GetThirdpartyRequestsVerificationsById"]; + /** + * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}` is used by the Auth-Service to inform the DFSP of a successful result in validating the verification of a Thirdparty Transaction Request. + * If the validation fails, the auth-service will send back `PUT /thirdpartyRequests/verifications/{ID}` with `authenticationResponse: 'REJECTED'`. + * In unplanned error cases the Auth-Service MUST use `PUT /thirdpartyRequests/verifications/{ID}/error`. + */ put: operations["PutThirdpartyRequestsVerificationsById"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -1145,50 +887,36 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; "/thirdpartyRequests/verifications/{ID}/error": { + /** + * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}/error` is used by the Auth-Service to inform + * the DFSP of a failure in validating or looking up the verification of a Thirdparty Transaction Request. + */ put: operations["PutThirdpartyRequestsVerificationsByIdAndError"]; parameters: { path: { - /** - * The identifier value. - */ + /** The identifier value. */ ID: string; }; header: { - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ + /** The `Date` header field indicates the date when the request was sent. */ Date: string; /** * 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. @@ -1196,26265 +924,33332 @@ export interface paths { * **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; - /** - * 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`). - */ + /** 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; - /** - * 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. - */ + /** 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; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ + /** 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; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ + /** 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; - /** - * 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). - */ + /** 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; - /** - * 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). - */ + /** 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; }; }; }; } -export interface operations { - /** - * Essential path to include schema definitions that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions. - */ - test: { - requestBody: { - "application/json": - | { - /** - * List of PartyResult elements that were either created or failed to be created. - */ - partyList: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyId: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }[]; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - /** - * Data model for the complex type Party. - */ - party: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - } - | { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transactionRequestState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; - /** - * 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. - */ - transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | ("ACCEPTED" | "REJECTED") - | "ISSUED" - | string - | string - | string - | { - /** - * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - */ - partyIdType: "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * Data model for the complex type PartyIdInfo. - */ - partyId: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - } - | ("THIRD_PARTY_DFSP" | "PISP" | "AUTH_SERVICE") - | { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - requestId: string; - /** - * List of PartyIdInfo elements that the client would like to update - * or create FSP information about. - */ - partyList: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId?: string; - /** - * Data model for the complex type Party. - */ - payee: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * Data model for the complex type Party. - */ - payer: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * Data model for the complex type Money. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - fees?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type TransactionType. - */ - transactionType: { - /** - * 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. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; - }; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * 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). - */ - expiration?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Ok - */ - "200": unknown; - }; - }; - /** - * The HTTP request `GET /accounts/{ID}` is used to retrieve the list of potential accounts available for linking. - */ - GetAccountsByUserId: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `PUT /accounts/{ID}` is used to return the list of potential accounts available for linking - */ - UpdateAccountsByUserId: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * 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: { - /** - * 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; - /** - * 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; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `PUT /accounts/{ID}/error` is used to return error information - */ - UpdateAccountsByUserIdError: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request GET /health is used to return the current status of the API. - */ - HealthGet: { - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request GET /metrics is used to return metrics for the API. - */ - MetricsGet: { - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * 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. - */ - CreateConsentRequest: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - consentRequestId: string; - /** - * The identifier used in the **GET /accounts/**_{ID}_. Used by the DFSP to correlate an account lookup to a `consentRequest` - */ - userId: string; - scopes: { - /** - * 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")[]; - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `GET /consentRequests/{ID}` is used to get information about a previously - * requested consent. The *{ID}* in the URI should contain the consentRequestId that was assigned to the - * request by the PISP when the PISP originated the request. - */ - GetConsentRequestsById: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * A DFSP uses this callback to (1) inform the PISP that the consentRequest has been accepted, - * and (2) communicate to the PISP which `authChannel` it should use to authenticate their user - * with. - * - * When a PISP requests a series of permissions from a DFSP on behalf of a DFSP’s customer, not all - * the permissions requested may be granted by the DFSP. Conversely, the out-of-band authorization - * process may result in additional privileges being granted by the account holder to the PISP. The - * **PUT /consentRequests/**_{ID}_ resource returns the current state of the permissions relating to a - * particular authorization request. - */ - UpdateConsentRequest: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": - | { - scopes: { - /** - * 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"[]; - /** - * 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; - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | { - scopes: { - /** - * 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"[]; - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * 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. - */ - PatchConsentRequest: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * DFSP responds to the PISP if something went wrong with validating an OTP or secret. - */ - NotifyErrorConsentRequests: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The **POST /consents** request is used to request the creation of a 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. - */ - PostConsents: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": - | { - /** - * Common ID between the PISP and FSP for the Consent object - * determined by the DFSP who creates the Consent. - */ - consentId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - consentRequestId?: string; - scopes: { - /** - * 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: { - /** - * 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 - */ - credentialType: "FIDO" | "GENERIC"; - /** - * The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - */ - status: "PENDING"; - /** - * A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** - * 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; - /** - * 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; - }; - /** - * 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?: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** - * raw credential id: identifier of pair of keys, base64 encoded - */ - rawId?: string; - /** - * AuthenticatorAttestationResponse - */ - response: { - /** - * JSON string with client data - */ - clientDataJSON: string; - /** - * CBOR.encoded attestation object - */ - attestationObject: string; - }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; - }; - }; - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * - REVOKED - The consent has been revoked - */ - status: "ISSUED" | "REVOKED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * 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; - /** - * The ID given to the original consent request on which this consent is based. - */ - consentRequestId: string; - scopes: { - /** - * 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" - )[]; - }[]; - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * - REVOKED - The consent has been revoked - */ - status: "ISSUED" | "REVOKED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The **GET /consents/**_{ID}_ resource allows a party to enquire after the status of a consent. The *{ID}* used in the URI of the request should be the consent request ID which was used to identify the consent when it was created. - */ - GetConsent: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `PATCH /consents/{ID}` is used - * - * - In account linking in the Credential Registration phase. Used by a DFSP - * to notify a PISP a credential has been verified and registered with an - * Auth service. - * - * - In account unlinking by a hub hosted auth service and by DFSPs - * in non-hub hosted scenarios to notify participants of a consent being revoked. - * - * Called by a `auth-service` to notify a PISP and DFSP of consent status in hub hosted scenario. - * Called by a `DFSP` to notify a PISP of consent status in non-hub hosted scenario. - */ - PatchConsentByID: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": - | { - credential: { - /** - * The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - */ - status: "VERIFIED"; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * Allowed values for the enumeration ConsentStatus - * - REVOKED - The consent has been revoked - */ - status: "REVOKED"; - /** - * 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). - */ - revokedAt: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `PUT /consents/{ID}` is used by the PISP and Auth Service. - * - * - Called by a `PISP` to after signing a challenge. Sent to an DFSP for verification. - * - Called by a `auth-service` to notify a DFSP that a credential has been verified and registered. - */ - PutConsentByID: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": - | { - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - */ - status?: "ISSUED"; - scopes: { - /** - * 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" - )[]; - }[]; - /** - * 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: { - /** - * 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 - */ - credentialType: "FIDO" | "GENERIC"; - /** - * The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - */ - status: "PENDING"; - /** - * A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** - * 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; - /** - * 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; - }; - /** - * 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?: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** - * raw credential id: identifier of pair of keys, base64 encoded - */ - rawId?: string; - /** - * AuthenticatorAttestationResponse - */ - response: { - /** - * JSON string with client data - */ - clientDataJSON: string; - /** - * CBOR.encoded attestation object - */ - attestationObject: string; - }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; - }; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - */ - status?: "ISSUED"; - scopes: { - /** - * 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" - )[]; - }[]; - /** - * 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: { - /** - * 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 - */ - credentialType: "FIDO" | "GENERIC"; - /** - * The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - */ - status: "VERIFIED"; - /** - * A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** - * 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; - /** - * 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; - }; - /** - * 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?: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** - * raw credential id: identifier of pair of keys, base64 encoded - */ - rawId?: string; - /** - * AuthenticatorAttestationResponse - */ - response: { - /** - * JSON string with client data - */ - clientDataJSON: string; - /** - * CBOR.encoded attestation object - */ - attestationObject: string; - }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; - }; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * Used by PISP, DFSP - * - * The **DELETE /consents/**_{ID}_ request is used to request the revocation of a previously agreed consent. - * For tracing and auditing purposes, the switch should be sure not to delete the consent physically; - * instead, information relating to the consent should be marked as deleted and requests relating to the - * consent should not be honoured. - */ - DeleteConsentByID: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * DFSP responds to the PISP if something went wrong with validating or storing consent. - */ - NotifyErrorConsents: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. - */ - Participants1: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - requestId: string; - /** - * List of PartyIdInfo elements that the client would like to update - * or create FSP information about. - */ - partyList: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. - */ - PutParticipantsByID: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * List of PartyResult elements that were either created or failed to be created. - */ - partyList: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyId: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }[]; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. - */ - PutParticipantsByIDAndError: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 - */ - ParticipantsByIDAndType: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * FSP identifier. - */ - fspId: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - */ - ParticipantsByTypeAndID: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * 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. - */ - ParticipantsByTypeAndID3: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * FSP identifier. - */ - fspId?: string; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - * - * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. - */ - ParticipantsByTypeAndID2: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * 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. - */ - ParticipantsErrorByTypeAndID: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `GET /services/{ServiceType}` is used to retrieve the list of participants - * that support a specified service. - */ - GetServicesByServiceType: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `PUT /services/{ServiceType}` is used to return list of participants - * that support a specified service. - */ - PutServicesByServiceType: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - providers: string[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `PUT /services/{ServiceType}/error` is used to return error information - */ - PutServicesByServiceTypeAndError: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request POST `/thirdpartyRequests/transactions` is used by a PISP to initiate a 3rd party Transaction request with a DFSP - */ - ThirdpartyRequestsTransactionsPost: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { - /** - * 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; - /** - * Information about the Payee in the proposed financial transaction. - */ - payee: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * Information about the Payer in the proposed financial transaction. - */ - payer: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * SEND for sendAmount, RECEIVE for receiveAmount. - */ - amountType: "SEND" | "RECEIVE"; - /** - * Requested amount to be transferred from the Payer to Payee. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Type of transaction. - */ - transactionType: { - /** - * 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. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * A memo that will be attached to the transaction. - */ - note?: string; - /** - * 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. - */ - expiration: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `GET /thirdpartyRequests/transactions/{ID}` is used to request the - * retrieval of a third party transaction request. - */ - GetThirdpartyTransactionRequests: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; +export interface components { + schemas: { + /** + * 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; + /** + * ExtensionKey + * @description Extension key. + */ + ExtensionKey: string; + /** + * ExtensionValue + * @description Extension value. + */ + ExtensionValue: string; + /** + * Extension + * @description Data model for the complex type Extension. + */ + Extension: { /** - * Service Unavailable + * ExtensionKey + * @description Extension key. */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `PUT /thirdpartyRequests/transactions/{ID}` is used by the DFSP to inform the client about - * the status of a previously requested thirdparty transaction request. - * - * Switch(Thirdparty API Adapter) -> PISP - */ - UpdateThirdPartyTransactionRequests: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; }; - requestBody: { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId?: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + ExtensionList: { + /** @description Number of Extension elements. */ + extension: { /** - * 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. + * ExtensionKey + * @description Extension key. */ - transactionRequestState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + /** + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. + */ + PartyIdInfo: { /** - * Unauthorized + * 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} */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * Forbidden + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + partyIdentifier: string; /** - * Not Found + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + partySubIdOrType?: string; /** - * Method Not Allowed + * FspId + * @description FSP identifier. */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + fspId?: string; /** - * Not Acceptable + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "406": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { + key: string; /** - * Data model for the complex type ErrorInformation. + * ExtensionValue + * @description Extension value. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + value: 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 + */ + ErrorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + ErrorDescription: string; + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + ErrorInformation: { /** - * Service Unavailable + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - "503": { - "application/json": { + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; }; - }; - /** - * The HTTP request `PATCH /thirdpartyRequests/transactions/{ID}` is used to - * notify a thirdparty of the outcome of a transaction request. - * - * Switch(Thirdparty API Adapter) -> PISP - */ - NotifyThirdpartyTransactionRequests: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; + /** + * PartyResult + * @description Data model for the complex type PartyResult. + */ + PartyResult: { + /** + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. + */ + partyId: { /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * 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. * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + * @example PERSONAL_ID + * @enum {string} */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * 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). + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - completedTimestamp?: string; + partyIdentifier: string; /** - * 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. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - transactionRequestState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; + partySubIdOrType?: string; /** - * 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. + * FspId + * @description FSP identifier. */ - transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; + fspId?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; /** - * Not Found + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Error description string. + * ExtensionKey + * @description Extension key. */ - errorDescription: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; }; }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { + }; + /** + * Currency + * @description The currency codes defined in [ISO 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"; + /** + * ParticipantsIDPutResponse + * @description The object sent in the PUT /participants/{ID} callback. + */ + 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"; /** - * Data model for the complex type ErrorInformation. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + 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: { /** - * Number of Extension elements. + * ExtensionKey + * @description Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { /** - * Data model for the complex type ErrorInformation. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Number of Extension elements. + * ExtensionKey + * @description Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + 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"; + }; + /** + * 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. + */ + PartyName: 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; + /** + * PartyComplexName + * @description Data model for the complex type PartyComplexName. + */ + PartyComplexName: { /** - * Not Implemented + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + firstName?: string; /** - * Service Unavailable + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + middleName?: string; + /** + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson + */ + lastName?: string; }; - }; - /** - * If the server is unable to find the transaction request, or another processing error occurs, - * the error callback `PUT /thirdpartyRequests/transactions/{ID}/error` is used. - * The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of - * the thirdparty transaction request. - */ - ThirdpartyTransactionRequestsError: { - parameters: { - header: { + /** + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 + */ + DateOfBirth: string; + /** + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. + */ + PartyPersonalInfo: { + /** + * PartyComplexName + * @description Data model for the complex type PartyComplexName. + */ + complexName?: { /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { + firstName?: string; /** - * Data model for the complex type ErrorInformation. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + middleName?: string; + /** + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson + */ + lastName?: string; }; /** - * Unauthorized + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + dateOfBirth?: string; + }; + /** + * Party + * @description Data model for the complex type Party. + */ + Party: { /** - * Forbidden + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + 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: { /** - * Error description string. + * ExtensionKey + * @description Extension key. */ - errorDescription: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; }; }; /** - * Not Found + * 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. */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + merchantClassificationCode?: string; /** - * Method Not Allowed + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + name?: string; /** - * Not Acceptable + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ - "406": { - "application/json": { + personalInfo?: { + /** + * PartyComplexName + * @description Data model for the complex type PartyComplexName. + */ + complexName?: { /** - * Data model for the complex type ErrorInformation. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { + firstName?: string; /** - * Data model for the complex type ErrorInformation. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { + middleName?: string; /** - * Data model for the complex type ErrorInformation. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + lastName?: string; }; - }; - }; - }; - /** - * The HTTP request **POST /thirdpartyRequests/authorizations** is used to request the validation by a customer for the transfer described in the request. - */ - PostThirdpartyRequestsAuthorizations: { - parameters: { - header: { /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ - "Content-Length"?: number; + dateOfBirth?: string; }; }; - requestBody: { - "application/json": { + /** + * PartiesTypeIDPutResponse + * @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. + */ + PartiesTypeIDPutResponse: { + /** + * Party + * @description Data model for the complex type Party. + */ + party: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. */ - authorizationRequestId: string; + 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; + }[]; + }; + }; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * 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. */ - transactionRequestId: string; + merchantClassificationCode?: string; /** - * The challenge that the PISP's client is to sign + * PartyName + * @description Name of the Party. Could be a real name or a nickname. */ - challenge: string; + name?: string; /** - * The amount that will be debited from the sending customer's account as a consequence of the transaction. + * PartyPersonalInfo + * @description Data model for the complex type PartyPersonalInfo. */ - transferAmount: { + personalInfo?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + 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; + }; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 */ - amount: string; + dateOfBirth?: string; }; + }; + }; + /** + * 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. + */ + 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; + }; + /** + * 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; + /** + * 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 + * @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. + */ + IlpCondition: string; + /** + * QuotesIDPutResponse + * @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"; /** - * The amount that will be credited to the receiving customer's account as a consequence of the transaction. + * 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 */ - payeeReceiveAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; + 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"; /** - * The amount of fees that the paying customer will be charged as part of the transaction. + * 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 */ - fees: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; + 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?: { /** - * Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction. + * 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 */ - payer: { + 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: { /** - * 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. + * ExtensionKey + * @description Extension key. */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: 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"; + /** + * ThirdpartyRequestsTransactionsIDPatchResponse + * @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 + */ + 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: { /** - * Identifier of the Party. + * ExtensionKey + * @description Extension key. */ - partyIdentifier: string; + key: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * ExtensionValue + * @description Extension value. */ - partySubIdOrType?: string; + value: string; + }[]; + }; + }; + /** + * AuthorizationResponseType + * @description Enum containing authorization response information; if the customer + * accepted the terms of the transfer, or rejected the terms. + * + * @enum {string} + */ + AuthorizationResponseType: "ACCEPTED" | "REJECTED"; + /** + * ConsentStatusIssued + * @description Allowed values for the enumeration ConsentStatus + * - ISSUED - The consent has been issued by the DFSP + * @enum {string} + */ + ConsentStatusIssued: "ISSUED"; + /** + * IlpFulfilment + * @description Fulfilment that must be attached to the transfer by the Payee. + * @example WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + */ + IlpFulfilment: string; + /** + * Integer + * @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. + */ + Integer: string; + /** + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. + */ + Note: 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} + */ + PartyIdTypeTPLink: "THIRD_PARTY_LINK"; + /** + * PartyIdInfo + * @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: { /** - * FSP identifier. + * ExtensionKey + * @description Extension key. */ - fspId?: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; + }; + }; + /** + * ServiceType + * @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 {string} + */ + ServiceType: "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 + */ + CorrelationId: string; + /** + * ParticipantsPostRequest + * @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; + /** + * @description List of PartyIdInfo elements that the client would like to update + * or create FSP information about. + */ + partyList: { /** - * Information about the Payee in the proposed financial transaction. + * 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} */ - payee: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * Data model for the complex type TransactionType. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - transactionType: { - /** - * 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. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { + 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: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * ExtensionKey + * @description Extension key. */ - originalTransactionId: string; + key: string; /** - * Reason for the refund. + * ExtensionValue + * @description Extension value. */ - refundReason?: string; - }; - /** - * (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. - */ - balanceOfPayments?: string; + 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"; + }; + /** + * 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"; + /** + * 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"; + /** + * 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"; + /** + * 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?: { /** - * The time by which the transfer must be completed, set by the payee DFSP. + * 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 */ - expiration: string; + originalTransactionId: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * RefundReason + * @description Reason for the refund. + * @example Free text indicating reason for the refund. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + 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; }; - responses: { + /** + * QuotesPostRequest + * @description The object sent in the POST /quotes request. + */ + QuotesPostRequest: { /** - * Accepted + * 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 */ - "202": unknown; + quoteId: string; /** - * Bad Request + * 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 */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + transactionId: string; /** - * Unauthorized + * 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 */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + transactionRequestId?: string; /** - * Forbidden + * Party + * @description Data model for the complex type Party. */ - "403": { - "application/json": { + 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"; /** - * Data model for the complex type ErrorInformation. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { + partyIdentifier: string; /** - * Data model for the complex type ErrorInformation. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { + partySubIdOrType?: string; /** - * Data model for the complex type ErrorInformation. + * FspId + * @description FSP identifier. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + 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: { /** - * Number of Extension elements. + * ExtensionKey + * @description Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { + /** + * 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?: { /** - * Data model for the complex type ErrorInformation. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - errorInformation?: { + complexName?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - errorCode: string; + firstName?: string; /** - * Error description string. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - errorDescription: string; + middleName?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + lastName?: string; }; + /** + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 + */ + dateOfBirth?: string; }; }; /** - * Not Implemented + * Party + * @description Data model for the complex type Party. */ - "501": { - "application/json": { + 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"; /** - * Data model for the complex type ErrorInformation. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + 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: { /** - * Number of Extension elements. + * ExtensionKey + * @description Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { + /** + * 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?: { /** - * Data model for the complex type ErrorInformation. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - errorInformation?: { + complexName?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - errorCode: string; + firstName?: string; /** - * Error description string. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - errorDescription: string; + middleName?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + lastName?: string; }; + /** + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 + */ + dateOfBirth?: string; }; }; - }; - }; - /** - * The HTTP request **GET /thirdpartyRequests/authorizations/**_{ID}_ is used to get information relating - * to a previously issued authorization request. The *{ID}* in the request should match the - * `authorizationRequestId` which was given when the authorization request was created. - */ - GetThirdpartyRequestsAuthorizationsById: { - parameters: { - header: { + /** + * 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"; /** - * The `Accept` header field indicates the version of the API the client would like the server to use. + * 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 */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + amount: string; }; /** - * Unauthorized + * Money + * @description Data model for the complex type Money. */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + 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; }; /** - * Forbidden + * TransactionType + * @description Data model for the complex type TransactionType. */ - "403": { - "application/json": { + 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?: { /** - * Data model for the complex type ErrorInformation. + * 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 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { + originalTransactionId: string; /** - * Data model for the complex type ErrorInformation. + * RefundReason + * @description Reason for the refund. + * @example Free text indicating reason for the refund. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + 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; }; /** - * Method Not Allowed + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + 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; }; /** - * Not Acceptable + * Note + * @description Memo assigned to transaction. + * @example Note sent to Payee. */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + note?: string; /** - * Not Implemented + * 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 */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + expiration?: string; /** - * Service Unavailable + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "503": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; }; - }; - /** - * After receiving the **POST /thirdpartyRequests/authorizations**, the PISP will present the details of the - * transaction to their user, and request that the client sign the `challenge` field using the credential - * they previously registered. - * - * The signed challenge will be sent back by the PISP in **PUT /thirdpartyRequests/authorizations/**_{ID}_: - */ - PutThirdpartyRequestsAuthorizationsById: { - parameters: { - header: { + /** + * 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?: { /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": - | { - /** - * The customer rejected the terms of the transfer. - */ - responseType: "REJECTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | { - /** - * The customer accepted the terms of the transfer - */ - responseType: "ACCEPTED"; - signedPayload: { - /** - * Describes a challenge that has been signed with FIDO Attestation flows - */ - signedPayloadType: "FIDO"; - /** - * 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: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** - * raw credential id: identifier of pair of keys, base64 encoded. - */ - rawId: string; - /** - * AuthenticatorAssertionResponse - */ - response: { - /** - * Authenticator data object. - */ - authenticatorData: string; - /** - * JSON string with client data. - */ - clientDataJSON: string; - /** - * The signature generated by the private key associated with this credential. - */ - signature: string; - /** - * This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. - */ - userHandle?: string; - }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; - }; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | { + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * The customer accepted the terms of the transfer + * ExtensionKey + * @description Extension key. */ - responseType: "ACCEPTED"; - signedPayload: { - /** - * Describes a challenge that has been signed with a private key - */ - signedPayloadType: "GENERIC"; - /** - * 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; - }; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: 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; + /** + * 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 + */ + AccountAddress: string; + /** + * Account + * @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 + */ + 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"; }; - responses: { + /** + * 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: { /** - * OK + * 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. */ - "200": unknown; + accountNickname: string; /** - * Bad Request + * 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 */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + address: string; /** - * Unauthorized + * Currency + * @description The currency codes defined in [ISO 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} */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "XTS" + | "XXX" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + }[]; + /** + * AccountsIDPutResponse + * @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 + */ + AccountsIDPutResponse: { /** - * Forbidden + * 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 */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + 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"; + }[]; /** - * Not Found + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "404": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { + key: string; /** - * Data model for the complex type ErrorInformation. + * ExtensionValue + * @description Extension value. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + value: string; + }[]; }; + }; + /** + * ErrorInformationObject + * @description Data model for the complex type object that contains ErrorInformation. + */ + ErrorInformationObject: { /** - * Not Acceptable + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + errorInformation: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Error description string. + * ExtensionKey + * @description Extension key. */ - errorDescription: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; }; }; + }; + /** + * ScopeAction + * @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 {string} + */ + ScopeAction: + | "ACCOUNTS_GET_BALANCE" + | "ACCOUNTS_TRANSFER" + | "ACCOUNTS_STATEMENT"; + /** + * Scope + * @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 + */ + Scope: { /** - * Not Implemented + * 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 */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + address: string; + actions: ( + | "ACCOUNTS_GET_BALANCE" + | "ACCOUNTS_TRANSFER" + | "ACCOUNTS_STATEMENT" + )[]; + }; + /** + * ConsentRequestChannelType + * @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. + * + * @enum {string} + */ + ConsentRequestChannelType: "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. + */ + Uri: string; + /** + * ConsentRequestsPostRequest + * @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 + */ + ConsentRequestsPostRequest: { /** - * Service Unavailable + * 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 */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; - /** - * The HTTP request `PUT /thirdpartyRequests/authorizations/{ID}/error` is used by the DFSP or PISP to inform - * the other party that something went wrong with a Thirdparty Transaction Authorization Request. - * - * The PISP may use this to tell the DFSP that the Thirdparty Transaction Authorization Request is invalid or doesn't - * match a `transactionRequestId`. - * - * The DFSP may use this to tell the PISP that the signed challenge returned in `PUT /thirdpartyRequest/authorizations/{ID}` - * was invalid. - */ - PutThirdpartyRequestsAuthorizationsByIdAndError: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { + 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: { /** - * Data model for the complex type ErrorInformation. + * 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 */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + 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: { /** - * Error description string. + * ExtensionKey + * @description Extension key. */ - errorDescription: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; }; }; - responses: { + /** + * ConsentRequestChannelTypeWeb + * @description The web auth channel being used for `PUT /consentRequest/{ID}` request. + * + * @enum {string} + */ + ConsentRequestChannelTypeWeb: "WEB"; + /** + * ConsentRequestsIDPutResponseWeb + * @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). + */ + 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"[]; /** - * OK + * 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. */ - "200": unknown; + callbackUri: string; /** - * Bad Request + * 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. */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + authUri: string; /** - * Unauthorized + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "401": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { + key: string; /** - * Data model for the complex type ErrorInformation. + * ExtensionValue + * @description Extension value. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + value: string; + }[]; }; + }; + /** + * ConsentRequestChannelTypeOTP + * @description The OTP auth channel being used for `PUT /consentRequests/{ID}` request. + * + * @enum {string} + */ + ConsentRequestChannelTypeOTP: "OTP"; + /** + * ConsentRequestsIDPutResponseOTP + * @description The object sent in a `PUT /consentRequests/{ID}` request. + * + * 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"[]; /** - * Not Found + * 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. */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + callbackUri?: string; /** - * Method Not Allowed + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "405": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { + key: string; /** - * Data model for the complex type ErrorInformation. + * ExtensionValue + * @description Extension value. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + value: 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. */ + BinaryString: string; + /** + * ConsentRequestsIDPatchRequest + * @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 + */ + 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; /** - * Not Implemented + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "501": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { + key: string; /** - * Data model for the complex type ErrorInformation. + * ExtensionValue + * @description Extension value. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + value: string; + }[]; }; }; - }; - /** - * The HTTP request `POST /thirdpartyRequests/verifications` is used by the DFSP to verify a third party authorization. - */ - PostThirdpartyRequestsVerifications: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; + /** + * 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} + */ + CredentialStatusPending: "PENDING"; + /** + * GenericCredential + * @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; }; - requestBody: { - "application/json": - | { - verificationRequestId: string; - /** - * Base64 encoded bytes - The challenge generated by the DFSP. - */ - challenge: string; - /** - * The id of the stored consent object that contains the credential with which to verify - * the signed challenge against. - */ - consentId: string; - /** - * Describes a challenge that has been signed with FIDO Attestation flows - */ - signedPayloadType: "FIDO"; - /** - * 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: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** - * raw credential id: identifier of pair of keys, base64 encoded. - */ - rawId: string; - /** - * AuthenticatorAssertionResponse - */ - response: { - /** - * Authenticator data object. - */ - authenticatorData: string; - /** - * JSON string with client data. - */ - clientDataJSON: string; - /** - * The signature generated by the private key associated with this credential. - */ - signature: string; - /** - * This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. - */ - userHandle?: string; - }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - } - | { - verificationRequestId: string; - /** - * Base64 encoded bytes - The challenge generated by the DFSP. - */ - challenge: string; - /** - * The id of the stored consent object that contains the credential with which to verify - * the signed challenge against. - */ - consentId: string; - /** - * Describes a challenge that has been signed with a private key - */ - signedPayloadType: "GENERIC"; - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: 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. + */ + FIDOPublicKeyCredentialAttestation: { + /** + * @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"; }; - responses: { + /** + * 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. + */ + 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"; /** - * Accepted + * CredentialStatusPending + * @description The status of the Credential. + * - "PENDING" - The credential has been created, but has not been verified + * + * @enum {string} */ - "202": unknown; + status: "PENDING"; /** - * Bad Request + * GenericCredential + * @description A publicKey + signature of a challenge for a generic public/private keypair. */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + 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; }; /** - * Unauthorized + * 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. */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + 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} + */ + ConsentStatus: "ISSUED" | "REVOKED"; + /** + * ConsentPostRequestAUTH + * @description The object sent in a `POST /consents` request to the Auth-Service + * by a DFSP to store registered Consent and credential + */ + ConsentsPostRequestAUTH: { /** - * Forbidden + * @description Common ID between the PISP and FSP for the Consent object + * determined by the DFSP who creates the Consent. */ - "403": { - "application/json": { + 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?: { /** - * Data model for the complex type ErrorInformation. + * @description credential id: identifier of pair of keys, base64 encoded + * https://w3c.github.io/webauthn/#ref-for-dom-credential-id */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + 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"; }; }; /** - * Not Found + * 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. */ - "404": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; + }; + /** + * ConsentPostRequestPISP + * @description The provisional Consent object sent by the DFSP in `POST /consents`. + */ + ConsentsPostRequestPISP: { /** - * Method Not Allowed + * @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. */ - "405": { - "application/json": { + 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: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; + }; + /** + * ConsentsIDPutResponseSigned + * @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. + */ + ConsentsIDPutResponseSigned: { /** - * Not Acceptable + * ConsentStatusIssued + * @description Allowed values for the enumeration ConsentStatus + * - ISSUED - The consent has been issued by the DFSP + * @enum {string} */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: 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; }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { + /** + * 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?: { /** - * Data model for the complex type ErrorInformation. + * @description credential id: identifier of pair of keys, base64 encoded + * https://w3c.github.io/webauthn/#ref-for-dom-credential-id */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + 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"; }; }; /** - * Service Unavailable + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "503": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; }; - }; - /** - * The HTTP request `/thirdpartyRequests/verifications/{ID}` is used to get - * information regarding a previously created or requested authorization. The *{ID}* - * in the URI should contain the verification request ID - */ - GetThirdpartyRequestsVerificationsById: { - parameters: { - header: { + /** + * CredentialStatusVerified + * @description The status of the Credential. + * - "VERIFIED" - The Credential is valid and verified. + * + * @enum {string} + */ + CredentialStatusVerified: "VERIFIED"; + /** + * 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. + */ + 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?: { /** - * The `Accept` header field indicates the version of the API the client would like the server to use. + * @description credential id: identifier of pair of keys, base64 encoded + * https://w3c.github.io/webauthn/#ref-for-dom-credential-id */ - Accept: string; + 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"; }; }; - responses: { + /** + * ConsentsIDPutResponseVerified + * @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. + */ + ConsentsIDPutResponseVerified: { /** - * Accepted + * ConsentStatusIssued + * @description Allowed values for the enumeration ConsentStatus + * - ISSUED - The consent has been issued by the DFSP + * @enum {string} */ - "202": unknown; + 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" + )[]; + }[]; /** - * Bad Request + * 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. */ - "400": { - "application/json": { + 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?: { /** - * Data model for the complex type ErrorInformation. + * @description credential id: identifier of pair of keys, base64 encoded + * https://w3c.github.io/webauthn/#ref-for-dom-credential-id */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + 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"; }; }; /** - * Unauthorized + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "401": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + /** + * 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. + */ + ConsentsIDPatchResponseVerified: { + credential: { + /** + * CredentialStatusVerified + * @description The status of the Credential. + * - "VERIFIED" - The Credential is valid and verified. + * + * @enum {string} + */ + status: "VERIFIED"; }; /** - * Forbidden + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "403": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; + }; + /** + * ConsentStatusRevoked + * @description Allowed values for the enumeration ConsentStatus + * - REVOKED - The consent has been revoked + * @enum {string} + */ + ConsentStatusRevoked: "REVOKED"; + /** + * 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. + */ + ConsentsIDPatchResponseRevoked: { + /** + * ConsentStatusRevoked + * @description Allowed values for the enumeration ConsentStatus + * - REVOKED - The consent has been revoked + * @enum {string} + */ + status: "REVOKED"; /** - * Not Found + * 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 */ - "404": { - "application/json": { + 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: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; + }; + /** + * ParticipantsTypeIDPutResponse + * @description The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. + */ + ParticipantsTypeIDPutResponse: { + /** + * FspId + * @description FSP identifier. + */ + fspId?: string; + }; + /** + * 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"; /** - * Method Not Allowed + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "405": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; + }; + /** + * ServicesServiceTypePutResponse + * @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 + */ + ServicesServiceTypePutResponse: { + providers: string[]; /** - * Not Acceptable + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "406": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; - /** - * Not Implemented - */ - "501": { - "application/json": { + }; + /** + * ThirdpartyRequestsTransactionsPostRequest + * @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 + */ + 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; + /** @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"; /** - * Data model for the complex type ErrorInformation. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + 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: { /** - * Number of Extension elements. + * ExtensionKey + * @description Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { + /** + * 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?: { /** - * Data model for the complex type ErrorInformation. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - errorInformation?: { + complexName?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - errorCode: string; + firstName?: string; /** - * Error description string. + * MiddleName + * @description Middle name of the Party (Name Type). + * @example Johannes */ - errorDescription: string; + middleName?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * LastName + * @description Last name of the Party (Name Type). + * @example Karlsson */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + lastName?: string; }; + /** + * DateofBirth (type Date) + * @description Date of Birth of the Party. + * @example 1966-06-16 + */ + dateOfBirth?: string; }; }; - }; - }; - /** - * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}` is used by the Auth-Service to inform the DFSP of a successful result in validating the verification of a Thirdparty Transaction Request. - * If the validation fails, the auth-service will send back `PUT /thirdpartyRequests/verifications/{ID}` with `authenticationResponse: 'REJECTED'`. - * In unplanned error cases the Auth-Service MUST use `PUT /thirdpartyRequests/verifications/{ID}/error`. - */ - PutThirdpartyRequestsVerificationsById: { - parameters: { - header: { + /** @description Information about the Payer in the proposed financial transaction. */ + payer: { /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * 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. * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + * @example PERSONAL_ID + * @enum {string} */ - "Content-Length"?: number; - }; - }; - requestBody: { - "application/json": { + 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; /** - * 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. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - authenticationResponse: "VERIFIED"; + partySubIdOrType?: string; + /** + * FspId + * @description FSP identifier. + */ + fspId?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; - }; - responses: { + /** @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; /** - * OK + * @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 */ - "200": unknown; + expiration: string; /** - * Bad Request + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "400": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { + key: string; /** - * Data model for the complex type ErrorInformation. + * ExtensionValue + * @description Extension value. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + value: string; + }[]; }; + }; + /** + * ThirdpartyRequestsTransactionsIDPutResponse + * @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 + */ + ThirdpartyRequestsTransactionsIDPutResponse: { /** - * Forbidden + * 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 */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + transactionId?: string; /** - * Not Found + * 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} */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; + transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; /** - * Method Not Allowed + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - "405": { - "application/json": { + extensionList?: { + /** @description Number of Extension elements. */ + extension: { /** - * Data model for the complex type ErrorInformation. + * ExtensionKey + * @description Extension key. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { + key: string; /** - * Data model for the complex type ErrorInformation. + * ExtensionValue + * @description Extension value. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + value: string; + }[]; }; + }; + /** + * 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 + */ + ThirdpartyRequestsAuthorizationsPostRequest: { /** - * Not Implemented + * 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 */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + 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; }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: 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; }; - }; - }; - /** - * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}/error` is used by the Auth-Service to inform - * the DFSP of a failure in validating or looking up the verification of a Thirdparty Transaction Request. - */ - PutThirdpartyRequestsVerificationsByIdAndError: { - parameters: { - header: { + /** @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"; /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + * 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 */ - "Content-Length"?: number; + amount: string; }; - }; - requestBody: { - "application/json": { + /** @description Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction. */ + payer: { /** - * Data model for the complex type ErrorInformation. + * 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} */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: 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: { /** - * Error description string. + * ExtensionKey + * @description Extension key. */ - errorDescription: string; + key: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionValue + * @description Extension value. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + value: string; + }[]; }; }; - /** - * Not Found - */ - "404": { - "application/json": { + /** @description Information about the Payee in the proposed financial transaction. */ + payee: { + /** + * PartyIdInfo + * @description Data model for the complex type PartyIdInfo. + */ + partyIdInfo: { /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "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. + * - 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"; /** - * Data model for the complex type ErrorInformation. + * PartyIdentifier + * @description Identifier of the Party. + * @example 16135551212 */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { + partyIdentifier: string; /** - * Data model for the complex type ErrorInformation. + * PartySubIdOrType + * @description Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { + partySubIdOrType?: string; /** - * Data model for the complex type ErrorInformation. + * FspId + * @description FSP identifier. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + 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: { /** - * Number of Extension elements. + * ExtensionKey + * @description Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; }; }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { + /** + * 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?: { /** - * Data model for the complex type ErrorInformation. + * PartyComplexName + * @description Data model for the complex type PartyComplexName. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + complexName?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * FirstName + * @description First name of the Party (Name Type). + * @example Henrik */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - }; - }; -} - -export interface components { - parameters: { - /** - * The identifier value. - */ - ID: string; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ - Date: string; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * 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; - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length": number; - /** - * The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. - */ - Type: string; - /** - * The type of the service identifier. For example, `THIRD_PARTY_DFSP` - */ - ServiceType: string; - }; - schemas: { - /** - * 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. - */ - PartyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - PartyIdentifier: string; + 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; + }[]; + }; + }; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * AuthorizationResponseTypeRejected + * @description The customer rejected the terms of the transfer. + * + * @enum {string} */ - PartySubIdOrType: string; + AuthorizationResponseTypeRejected: "REJECTED"; /** - * FSP identifier. + * ThirdpartyRequestsAuthorizationsIDPutResponseRejected + * @description The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. */ - FspId: string; + 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; + }[]; + }; + }; /** - * Extension key. + * AuthorizationResponseType + * @description The customer accepted the terms of the transfer + * + * @enum {string} */ - ExtensionKey: string; + AuthorizationResponseTypeAccepted: "ACCEPTED"; /** - * Extension value. + * SignedPayloadTypeFIDO + * @description Describes a challenge that has been signed with FIDO Attestation flows + * @enum {string} */ - ExtensionValue: string; + SignedPayloadTypeFIDO: "FIDO"; /** - * Data model for the complex type Extension. + * 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 */ - Extension: { + FIDOPublicKeyCredentialAssertion: { /** - * Extension key. + * @description credential id: identifier of pair of keys, base64 encoded + * https://w3c.github.io/webauthn/#ref-for-dom-credential-id */ - key: string; + 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; + }; /** - * Extension value. + * @description response type, we need only the type of public-key + * @enum {string} */ - value: string; + type: "public-key"; + }; + /** 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"; + }; }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ThirdpartyRequestsAuthorizationsIDPutResponseFIDO + * @description The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. */ - ExtensionList: { + ThirdpartyRequestsAuthorizationsIDPutResponseFIDO: { /** - * Number of Extension elements. + * AuthorizationResponseType + * @description The customer accepted the terms of the transfer + * + * @enum {string} */ - extension: { + responseType: "ACCEPTED"; + /** SignedPayloadFIDO */ + signedPayload: { /** - * Extension key. + * SignedPayloadTypeFIDO + * @description Describes a challenge that has been signed with FIDO Attestation flows + * @enum {string} */ - key: string; + signedPayloadType: "FIDO"; /** - * Extension value. + * 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 */ - value: string; - }[]; + 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; + }[]; + }; }; /** - * Data model for the complex type PartyIdInfo. + * SignedPayloadTypeGeneric + * @description Describes a challenge that has been signed with a private key + * @enum {string} */ - PartyIdInfo: { + SignedPayloadTypeGeneric: "GENERIC"; + /** SignedPayloadGeneric */ + SignedPayloadGeneric: { /** - * 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. + * SignedPayloadTypeGeneric + * @description Describes a challenge that has been signed with a private key + * @enum {string} */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + 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; + }; + /** + * ThirdpartyRequestsAuthorizationsIDPutResponseGeneric + * @description The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. + */ + ThirdpartyRequestsAuthorizationsIDPutResponseGeneric: { /** - * Identifier of the Party. + * AuthorizationResponseType + * @description The customer accepted the terms of the transfer + * + * @enum {string} */ - partyIdentifier: 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; + }; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - partySubIdOrType?: string; + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + /** + * ThirdpartyRequestsVerificationsPostRequestFIDO + * @description The object sent in the POST /thirdpartyRequests/verifications request. + */ + ThirdpartyRequestsVerificationsPostRequestFIDO: { + 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; /** - * FSP identifier. + * SignedPayloadTypeFIDO + * @description Describes a challenge that has been signed with FIDO Attestation flows + * @enum {string} */ - fspId?: string; + signedPayloadType: "FIDO"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * 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 */ - extensionList?: { + 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; + }; /** - * Number of Extension elements. + * @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: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - ErrorCode: string; - /** - * Error description string. + * ThirdpartyRequestsVerificationsPostRequestGeneric + * @description The object sent in the POST /thirdpartyRequests/verifications request. */ - ErrorDescription: string; - /** - * Data model for the complex type ErrorInformation. - */ - ErrorInformation: { + ThirdpartyRequestsVerificationsPostRequestGeneric: { + verificationRequestId: string; + /** @description Base64 encoded bytes - The challenge generated by the DFSP. */ + challenge: string; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @description The id of the stored consent object that contains the credential with which to verify + * the signed challenge against. */ - errorCode: string; + consentId: string; /** - * Error description string. + * SignedPayloadTypeGeneric + * @description Describes a challenge that has been signed with a private key + * @enum {string} */ - errorDescription: 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; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ extensionList?: { - /** - * Number of Extension elements. - */ + /** @description Number of Extension elements. */ extension: { /** - * Extension key. + * ExtensionKey + * @description Extension key. */ key: string; /** - * Extension value. + * ExtensionValue + * @description Extension value. */ value: string; }[]; }; }; /** - * Data model for the complex type PartyResult. + * 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} */ - PartyResult: { + AuthenticationResponse: "VERIFIED"; + /** + * ThirdpartyRequestsVerificationsIDPutResponse + * @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 + */ + ThirdpartyRequestsVerificationsIDPutResponse: { /** - * Data model for the complex type PartyIdInfo. + * 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} */ - partyId: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: 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; + }[]; + }; + }; + }; + responses: { + /** OK */ + 200: unknown; + /** Accepted */ + 202: unknown; + /** Bad Request */ + 400: { + headers: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extensionList?: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Number of Extension elements. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - key: string; + errorCode: string; /** - * Extension value. + * ErrorDescription + * @description Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + }; + /** Unauthorized */ + 401: { + headers: { /** - * Error description string. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - errorDescription: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extensionList?: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Number of Extension elements. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - key: string; + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; /** - * Extension value. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - value: string; - }[]; + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; }; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - Currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The object sent in the PUT /participants/{ID} callback. - */ - ParticipantsIDPutResponse: { - /** - * List of PartyResult elements that were either created or failed to be created. - */ - partyList: { + /** Not Found */ + 404: { + headers: { /** - * Data model for the complex type PartyIdInfo. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyId: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * 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. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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": { /** - * Identifier of the Party. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - partyIdentifier: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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": { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - partySubIdOrType?: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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": { /** - * FSP identifier. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - fspId?: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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": { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extensionList?: { + errorInformation?: { /** - * Number of Extension elements. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - extension: { + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + }; + }; + parameters: { + /** @description The identifier value. */ + ID: string; + /** @description The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** @description The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * @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`. + */ + "X-Forwarded-For": string; + /** @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`). */ + "FSPIOP-Source": string; + /** @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. */ + "FSPIOP-Destination": string; + /** @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. */ + "FSPIOP-Encryption": string; + /** @description 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; + /** @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). */ + "FSPIOP-URI": string; + /** @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). */ + "FSPIOP-HTTP-Method": string; + /** @description The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + /** + * @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-Length": number; + /** @description The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: string; + /** @description The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ + ServiceType: string; + }; + headers: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; +} + +export interface operations { + /** Essential path to include schema definitions that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions. */ + test: { + responses: { + /** Ok */ + 200: unknown; + }; + 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"; + } + | { /** - * Extension key. + * Party + * @description Data model for the complex type Party. */ - key: string; + 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; + }; /** - * Extension value. + * 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 */ - value: string; - }[]; - }; - }; - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + expiration: string; /** - * Extension key. + * GeoCode + * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - key: string; + 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; + }[]; + }; + }; /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }[]; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - PartyName: string; - /** - * First name of the Party (Name Type). - */ - FirstName: string; - /** - * Middle name of the Party (Name Type). - */ - MiddleName: string; - /** - * Last name of the Party (Name Type). - */ - LastName: string; - /** - * Data model for the complex type PartyComplexName. - */ - PartyComplexName: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: 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; + }[]; + }; + }; + }; }; - /** - * Date of Birth of the Party. - */ - DateOfBirth: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - PartyPersonalInfo: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; + }; + /** The HTTP request `GET /accounts/{ID}` is used to retrieve the list of potential accounts available for linking. */ + GetAccountsByUserId: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * Last name of the Party (Name Type). + * 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`. */ - lastName?: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; }; - /** - * Data model for the complex type Party. - */ - Party: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + 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: { /** - * Number of Extension elements. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extension: { - /** - * Extension key. - */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Extension value. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; + /** Forbidden */ + 403: { + headers: { /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - lastName?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; }; - }; - /** - * 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. - */ - PartiesTypeIDPutResponse: { - /** - * Data model for the complex type Party. - */ - party: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + /** Not Found */ + 404: { + headers: { /** - * Identifier of the Party. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyIdentifier: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partySubIdOrType?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * FSP identifier. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - fspId?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extensionList?: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Number of Extension elements. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - key: string; + errorCode: string; /** - * Extension value. + * ErrorDescription + * @description Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { + }; + /** Service Unavailable */ + 503: { + headers: { /** - * Data model for the complex type PartyComplexName. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Last name of the Party (Name Type). + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - lastName?: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; }; }; }; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - Amount: string; - /** - * Data model for the complex type Money. - */ - Money: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * 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). - */ - DateTime: string; - /** - * 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; - /** - * 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; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - GeoCode: { - /** - * 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; - /** - * 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; - }; - /** - * Information for recipient (transport layer information). - */ - IlpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - IlpCondition: string; - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - QuotesIDPutResponse: { - /** - * Data model for the complex type Money. - */ - transferAmount: { + }; + /** The HTTP request `PUT /accounts/{ID}` is used to return the list of potential accounts available for linking */ + UpdateAccountsByUserId: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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`. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + /** The HTTP request `PUT /accounts/{ID}/error` is used to return error information */ + UpdateAccountsByUserIdError: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + }; + /** + * 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. + */ + CreateConsentRequest: { + parameters: { + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + /** + * The HTTP request `GET /consentRequests/{ID}` is used to get information about a previously + * requested consent. The *{ID}* in the URI should contain the consentRequestId that was assigned to the + * request by the PISP when the PISP originated the request. + */ + GetConsentRequestsById: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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`. */ - amount: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + }; + }; + 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; + }[]; + }; + }; + }; + }; }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + }; + /** + * A DFSP uses this callback to (1) inform the PISP that the consentRequest has been accepted, + * and (2) communicate to the PISP which `authChannel` it should use to authenticate their user + * with. + * + * When a PISP requests a series of permissions from a DFSP on behalf of a DFSP’s customer, not all + * the permissions requested may be granted by the DFSP. Conversely, the out-of-band authorization + * process may result in additional privileges being granted by the account holder to the PISP. The + * **PUT /consentRequests/**_{ID}_ resource returns the current state of the permissions relating to a + * particular authorization request. + */ + UpdateConsentRequest: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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`. */ - amount: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + /** 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. */ + PatchConsentRequest: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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`. */ - amount: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { + }; + 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; + }[]; + }; + }; + }; + }; + }; + /** DFSP responds to the PISP if something went wrong with validating an OTP or secret. */ + NotifyErrorConsentRequests: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * 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`. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - amount: string; + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; }; - /** - * 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). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; + /** 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; + }[]; + }; + }; + }; + }; }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Forbidden */ + 403: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - }; - /** - * 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. - */ - TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - /** - * 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. - */ - TransactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - /** - * 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 - */ - ThirdpartyRequestsTransactionsIDPatchResponse: { - /** - * 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). - */ - completedTimestamp?: string; - /** - * 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. - */ - transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - /** - * 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. - */ - transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Method Not Allowed */ + 405: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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; + }[]; + }; + }; + }; + }; + }; + }; + /** Error information returned. */ + requestBody: { + content: { + "application/json": { /** - * Extension value. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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 containing authorization response information; if the customer - * accepted the terms of the transfer, or rejected the terms. - */ - AuthorizationResponseType: "ACCEPTED" | "REJECTED"; - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - */ - ConsentStatusIssued: "ISSUED"; - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - IlpFulfilment: string; - /** - * 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. - */ - Integer: string; - /** - * Memo assigned to transaction. - */ - Note: string; - /** - * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - */ - PartyIdTypeTPLink: "THIRD_PARTY_LINK"; - /** - * Data model for the complex type PartyIdInfo. - */ - PartyIdInfoTPLink: { - /** - * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - */ - partyIdType: "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + }; + /** The **POST /consents** request is used to request the creation of a 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. */ + PostConsents: { + parameters: { + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * Number of Extension elements. + * 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`. */ - extension: { + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + responses: { + /** Accepted */ + 202: unknown; + /** Bad Request */ + 400: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - }; - /** - * 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 - */ - ServiceType: "THIRD_PARTY_DFSP" | "PISP" | "AUTH_SERVICE"; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - CorrelationId: string; - /** - * The object sent in the POST /participants request. - */ - ParticipantsPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - requestId: string; - /** - * List of PartyIdInfo elements that the client would like to update - * or create FSP information about. - */ - partyList: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + /** 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: { /** - * Number of Extension elements. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extension: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Extension key. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - key: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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": { /** - * Extension value. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; - }[]; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; }; - /** - * 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. - */ - AmountType: "SEND" | "RECEIVE"; - /** - * 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. - */ - TransactionScenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - TransactionSubScenario: string; - /** - * 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. - */ - TransactionInitiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Reason for the refund. - */ - RefundReason: string; - /** - * Data model for the complex type Refund. - */ - Refund: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; + 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; + }[]; + }; + }; + }; }; - /** - * (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. - */ - BalanceOfPayments: string; - /** - * Data model for the complex type TransactionType. - */ - TransactionType: { - /** - * 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. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; + }; + /** The **GET /consents/**_{ID}_ resource allows a party to enquire after the status of a consent. The *{ID}* used in the URI of the request should be the consent request ID which was used to identify the consent when it was created. */ + GetConsent: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * Reason for the refund. + * 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`. */ - refundReason?: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + }; + }; + 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; + }[]; + }; + }; + }; + }; }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * The object sent in the POST /quotes request. - */ - QuotesPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - quoteId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId?: string; - /** - * Data model for the complex type Party. - */ - payee: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { + /** Unauthorized */ + 401: { + headers: { /** - * 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. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Identifier of the Party. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyIdentifier: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partySubIdOrType?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * FSP identifier. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - fspId?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extensionList?: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Number of Extension elements. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - key: string; + errorCode: string; /** - * Extension value. + * ErrorDescription + * @description Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; + }; + }; + }; + /** + * The HTTP request `PUT /consents/{ID}` is used by the PISP and Auth Service. + * + * - Called by a `PISP` to after signing a challenge. Sent to an DFSP for verification. + * - Called by a `auth-service` to notify a DFSP that a credential has been verified and registered. + */ + PutConsentByID: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. + * 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?: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; /** - * Data model for the complex type PartyPersonalInfo. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. + "Content-Length"?: number; + }; + }; + 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). */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Last name of the Party (Name Type). + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - lastName?: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; }; }; - /** - * Data model for the complex type Party. - */ - payer: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { + /** Unauthorized */ + 401: { + headers: { /** - * 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. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Identifier of the Party. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyIdentifier: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partySubIdOrType?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * FSP identifier. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - fspId?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extensionList?: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Number of Extension elements. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - key: string; + errorCode: string; /** - * Extension value. + * ErrorDescription + * @description Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { + }; + /** Not Implemented */ + 501: { + headers: { /** - * Data model for the complex type PartyComplexName. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Last name of the Party (Name Type). + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** - * 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. - */ - amountType: "SEND" | "RECEIVE"; - /** - * Data model for the complex type Money. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - /** - * Data model for the complex type Money. - */ - fees?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + /** + * Used by PISP, DFSP + * + * The **DELETE /consents/**_{ID}_ request is used to request the revocation of a previously agreed consent. + * For tracing and auditing purposes, the switch should be sure not to delete the consent physically; + * instead, information relating to the consent should be marked as deleted and requests relating to the + * consent should not be honoured. + */ + DeleteConsentByID: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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`. */ - amount: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + }; + }; + 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; + }[]; + }; + }; + }; + }; }; - /** - * Data model for the complex type TransactionType. - */ - transactionType: { - /** - * 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. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; + }; + }; + /** + * The HTTP request `PATCH /consents/{ID}` is used + * + * - In account linking in the Credential Registration phase. Used by a DFSP + * to notify a PISP a credential has been verified and registered with an + * Auth service. + * + * - In account unlinking by a hub hosted auth service and by DFSPs + * in non-hub hosted scenarios to notify participants of a consent being revoked. + * + * Called by a `auth-service` to notify a PISP and DFSP of consent status in hub hosted scenario. + * Called by a `DFSP` to notify a PISP of consent status in non-hub hosted scenario. + */ + PatchConsentByID: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * 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. + * 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`. */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; /** - * Data model for the complex type Refund. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - refundInfo?: { + "Content-Length"?: number; + }; + }; + responses: { + /** OK */ + 200: unknown; + /** Bad Request */ + 400: { + headers: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - originalTransactionId: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Reason for the refund. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - refundReason?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; - /** - * (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. - */ - balanceOfPayments?: string; - }; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * 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; - /** - * 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; }; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * 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). - */ - expiration?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Forbidden */ + 403: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - }; - /** - * Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. - */ - ErrorInformationResponse: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + /** 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: { /** - * Number of Extension elements. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extension: { - /** - * Extension key. - */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Extension value. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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; + }[]; + }; + }; + }; }; }; }; - /** - * 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; - /** - * 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 - */ - AccountAddress: string; - /** - * 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 - */ - Account: { - /** - * 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; - /** - * 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; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }; - /** - * 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: { - /** - * 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; - /** - * 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; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - /** - * 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 - */ - AccountsIDPutResponse: { - /** - * 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: { + 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; + }[]; + }; + }; + }; + }; + }; + /** DFSP responds to the PISP if something went wrong with validating or storing consent. */ + NotifyErrorConsents: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + /** The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. */ + Participants1: { + parameters: { + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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"; + }; + }; + }; + }; + /** The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. */ + PutParticipantsByID: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * 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 ( ). + * 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:** 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; - /** - * 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 + * **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`. */ - address: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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"; + }; + }; + }; + }; + /** If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. */ + PutParticipantsByIDAndError: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + /** The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. */ + ParticipantsByTypeAndID: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: string; + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + }; + /** 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. */ + ParticipantsByTypeAndID3: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: string; + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** Participant information returned. */ + requestBody: { + content: { + "application/json": { + /** + * FspId + * @description FSP identifier. + */ + fspId?: string; + }; + }; + }; + }; + /** The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 */ + ParticipantsByIDAndType: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: string; + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + /** + * The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + * + * **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + */ + ParticipantsByTypeAndID2: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: string; + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + }; + /** 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. */ + ParticipantsErrorByTypeAndID: { + parameters: { + path: { + /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ + Type: string; + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + /** + * The HTTP request `GET /services/{ServiceType}` is used to retrieve the list of participants + * that support a specified service. + */ + GetServicesByServiceType: { + parameters: { + path: { + /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ + ServiceType: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + }; + /** + * The HTTP request `PUT /services/{ServiceType}` is used to return list of participants + * that support a specified service. + */ + PutServicesByServiceType: { + parameters: { + path: { + /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ + ServiceType: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + /** The HTTP request `PUT /services/{ServiceType}/error` is used to return error information */ + PutServicesByServiceTypeAndError: { + parameters: { + path: { + /** The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ + ServiceType: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * Number of Extension elements. + * 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`. */ - extension: { + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + responses: { + /** OK */ + 200: unknown; + /** Bad Request */ + 400: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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; + }[]; + }; + }; + }; + }; }; - }; - /** - * Data model for the complex type object that contains ErrorInformation. - */ - ErrorInformationObject: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + /** Not Implemented */ + 501: { + headers: { /** - * Number of Extension elements. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extension: { - /** - * Extension key. - */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Extension value. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; - }; - /** - * 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 - */ - ScopeAction: - | "ACCOUNTS_GET_BALANCE" - | "ACCOUNTS_TRANSFER" - | "ACCOUNTS_STATEMENT"; - /** - * 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 - */ - Scope: { - /** - * 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" - )[]; - }; - /** - * 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. - */ - ConsentRequestChannelType: "WEB" | "OTP"; - /** - * The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons. - */ - Uri: string; - /** - * 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 - */ - ConsentRequestsPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - consentRequestId: string; - /** - * The identifier used in the **GET /accounts/**_{ID}_. Used by the DFSP to correlate an account lookup to a `consentRequest` - */ - userId: string; - scopes: { - /** - * 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")[]; - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Service Unavailable */ + 503: { + headers: { /** - * Extension key. - */ - key: string; - /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; }; - /** - * The web auth channel being used for `PUT /consentRequest/{ID}` request. - */ - ConsentRequestChannelTypeWeb: "WEB"; - /** - * 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). - */ - ConsentRequestsIDPutResponseWeb: { - scopes: { - /** - * 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"[]; - /** - * 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; - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; + /** Details of the error returned. */ + requestBody: { + content: { + "application/json": { /** - * Extension value. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; - /** - * The OTP auth channel being used for `PUT /consentRequests/{ID}` request. - */ - ConsentRequestChannelTypeOTP: "OTP"; - /** - * The object sent in a `PUT /consentRequests/{ID}` request. - * - * Schema used in the request consent phase of the account linking OTP/SMS flow. - */ - ConsentRequestsIDPutResponseOTP: { - scopes: { - /** - * 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"[]; - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + }; + /** The HTTP request POST `/thirdpartyRequests/transactions` is used by a PISP to initiate a 3rd party Transaction request with a DFSP */ + ThirdpartyRequestsTransactionsPost: { + parameters: { + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * Number of Extension elements. + * 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`. */ - extension: { + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + responses: { + /** Accepted */ + 202: unknown; + /** Bad Request */ + 400: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - }; - /** - * 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; - /** - * 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 - */ - ConsentRequestsIDPatchRequest: { - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Forbidden */ + 403: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; - }; - }; - /** - * 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 - */ - CredentialType: "FIDO" | "GENERIC"; - /** - * The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - */ - CredentialStatusPending: "PENDING"; - /** - * A publicKey + signature of a challenge for a generic public/private keypair. - */ - GenericCredential: { - /** - * 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; - /** - * 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; - }; - /** - * 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. - */ - FIDOPublicKeyCredentialAttestation: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** - * raw credential id: identifier of pair of keys, base64 encoded - */ - rawId?: string; - /** - * AuthenticatorAttestationResponse - */ - response: { - /** - * JSON string with client data - */ - clientDataJSON: string; - /** - * CBOR.encoded attestation object - */ - attestationObject: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; - }; - /** - * 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. - */ - SignedCredential: { - /** - * 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 - */ - credentialType: "FIDO" | "GENERIC"; - /** - * The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - */ - status: "PENDING"; - /** - * A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** - * 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; - /** - * 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; + /** 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; + }[]; + }; + }; + }; + }; }; - /** - * 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?: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** - * raw credential id: identifier of pair of keys, base64 encoded - */ - rawId?: string; - /** - * AuthenticatorAttestationResponse - */ - response: { + /** Not Acceptable */ + 406: { + headers: { /** - * JSON string with client data + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - clientDataJSON: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * CBOR.encoded attestation object + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - attestationObject: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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; + }[]; + }; + }; + }; }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; }; }; - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * - REVOKED - The consent has been revoked - */ - ConsentStatus: "ISSUED" | "REVOKED"; - /** - * The object sent in a `POST /consents` request to the Auth-Service - * by a DFSP to store registered Consent and credential - */ - ConsentsPostRequestAUTH: { - /** - * Common ID between the PISP and FSP for the Consent object - * determined by the DFSP who creates the Consent. - */ - consentId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - consentRequestId?: string; - scopes: { - /** - * 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: { - /** - * 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 - */ - credentialType: "FIDO" | "GENERIC"; - /** - * The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified - */ - status: "PENDING"; - /** - * A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { + /** 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; /** - * 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. + * @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 */ - publicKey: string; + expiration: string; /** - * 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 + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - signature: string; + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; }; + }; + }; + }; + /** + * The HTTP request `GET /thirdpartyRequests/transactions/{ID}` is used to request the + * retrieval of a third party transaction request. + */ + GetThirdpartyTransactionRequests: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * A data model representing a FIDO Attestation result. Derived from - * [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential). + * 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. * - * 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. + * **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`. */ - fidoPayload?: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + }; + }; + responses: { + /** Accepted */ + 202: unknown; + /** Bad Request */ + 400: { + headers: { /** - * raw credential id: identifier of pair of keys, base64 encoded + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - rawId?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * AuthenticatorAttestationResponse + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - response: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * JSON string with client data + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - clientDataJSON: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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": { /** - * CBOR.encoded attestation object + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - attestationObject: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * response type, we need only the type of public-key + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - type: "public-key"; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * - REVOKED - The consent has been revoked - */ - status: "ISSUED" | "REVOKED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Method Not Allowed */ + 405: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; - }; - }; - /** - * The provisional Consent object sent by the DFSP in `POST /consents`. - */ - ConsentsPostRequestPISP: { - /** - * 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; - /** - * The ID given to the original consent request on which this consent is based. - */ - consentRequestId: string; - scopes: { - /** - * 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" - )[]; - }[]; - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - * - REVOKED - The consent has been revoked - */ - status: "ISSUED" | "REVOKED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; }; - /** - * 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. - */ - ConsentsIDPutResponseSigned: { - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - */ - status?: "ISSUED"; - scopes: { - /** - * 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" - )[]; - }[]; - /** - * 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: { - /** - * 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 - */ - credentialType: "FIDO" | "GENERIC"; + }; + /** + * The HTTP request `PUT /thirdpartyRequests/transactions/{ID}` is used by the DFSP to inform the client about + * the status of a previously requested thirdparty transaction request. + * + * Switch(Thirdparty API Adapter) -> PISP + */ + UpdateThirdPartyTransactionRequests: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The status of the Credential. - * - "PENDING" - The credential has been created, but has not been verified + * 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`. */ - status: "PENDING"; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; /** - * A publicKey + signature of a challenge for a generic public/private keypair. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - genericPayload?: { + "Content-Length"?: number; + }; + }; + responses: { + /** OK */ + 200: unknown; + /** Bad Request */ + 400: { + headers: { /** - * 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. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - publicKey: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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 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. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - signature: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; }; - /** - * 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?: { + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - id: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * raw credential id: identifier of pair of keys, base64 encoded + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - rawId?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * AuthenticatorAttestationResponse + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - response: { - /** - * JSON string with client data - */ - clientDataJSON: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * CBOR.encoded attestation object + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - attestationObject: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * response type, we need only the type of public-key + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - type: "public-key"; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Not Implemented */ + 501: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; }; - /** - * The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - */ - CredentialStatusVerified: "VERIFIED"; - /** - * 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. - */ - VerifiedCredential: { - /** - * 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 - */ - credentialType: "FIDO" | "GENERIC"; - /** - * The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - */ - status: "VERIFIED"; - /** - * A publicKey + signature of a challenge for a generic public/private keypair. - */ - genericPayload?: { - /** - * 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; - /** - * 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; - }; - /** - * 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?: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** - * raw credential id: identifier of pair of keys, base64 encoded - */ - rawId?: string; - /** - * AuthenticatorAttestationResponse - */ - response: { + requestBody: { + content: { + "application/json": { /** - * JSON string with client data + * 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 */ - clientDataJSON: string; + transactionId?: string; /** - * CBOR.encoded attestation object + * 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} */ - attestationObject: 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; + }[]; + }; }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; }; }; - /** - * 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. - */ - ConsentsIDPutResponseVerified: { - /** - * Allowed values for the enumeration ConsentStatus - * - ISSUED - The consent has been issued by the DFSP - */ - status?: "ISSUED"; - scopes: { - /** - * 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" - )[]; - }[]; - /** - * 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: { - /** - * 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 - */ - credentialType: "FIDO" | "GENERIC"; + }; + /** + * The HTTP request `PATCH /thirdpartyRequests/transactions/{ID}` is used to + * notify a thirdparty of the outcome of a transaction request. + * + * Switch(Thirdparty API Adapter) -> PISP + */ + NotifyThirdpartyTransactionRequests: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. + * 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`. */ - status: "VERIFIED"; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; /** - * A publicKey + signature of a challenge for a generic public/private keypair. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - genericPayload?: { - /** - * 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; + "Content-Length"?: number; + }; + }; + responses: { + /** OK */ + 200: unknown; + /** Bad Request */ + 400: { + headers: { /** - * 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. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - signature: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; }; - /** - * 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?: { + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - id: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * raw credential id: identifier of pair of keys, base64 encoded + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - rawId?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * AuthenticatorAttestationResponse + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - response: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * JSON string with client data + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - clientDataJSON: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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": { /** - * CBOR.encoded attestation object + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - attestationObject: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * response type, we need only the type of public-key + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - type: "public-key"; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Not Implemented */ + 501: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; }; - /** - * 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. - */ - ConsentsIDPatchResponseVerified: { - credential: { - /** - * The status of the Credential. - * - "VERIFIED" - The Credential is valid and verified. - */ - status: "VERIFIED"; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + requestBody: { + content: { + "application/json": { /** - * Extension key. + * 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 */ - key: string; + completedTimestamp?: string; /** - * Extension value. + * 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} */ - value: string; - }[]; - }; - }; - /** - * Allowed values for the enumeration ConsentStatus - * - REVOKED - The consent has been revoked - */ - ConsentStatusRevoked: "REVOKED"; - /** - * 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. - */ - ConsentsIDPatchResponseRevoked: { - /** - * Allowed values for the enumeration ConsentStatus - * - REVOKED - The consent has been revoked - */ - status: "REVOKED"; - /** - * 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). - */ - revokedAt: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + transactionRequestState: + | "RECEIVED" + | "PENDING" + | "ACCEPTED" + | "REJECTED"; /** - * Extension key. + * 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} */ - key: string; + transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; /** - * Extension value. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - value: string; - }[]; + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; - /** - * The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. - */ - ParticipantsTypeIDPutResponse: { - /** - * FSP identifier. - */ - fspId?: string; - }; - /** - * 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: { - /** - * FSP identifier. - */ - fspId: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + }; + /** + * If the server is unable to find the transaction request, or another processing error occurs, + * the error callback `PUT /thirdpartyRequests/transactions/{ID}/error` is used. + * The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of + * the thirdparty transaction request. + */ + ThirdpartyTransactionRequestsError: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; + /** + * 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; /** - * Number of Extension elements. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extension: { - /** - * Extension key. - */ - key: string; + "Content-Length"?: number; + }; + }; + responses: { + /** OK */ + 200: unknown; + /** Bad Request */ + 400: { + headers: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - }; - /** - * 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 - */ - ServicesServiceTypePutResponse: { - providers: string[]; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Unauthorized */ + 401: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - }; - /** - * 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 - */ - ThirdpartyRequestsTransactionsPostRequest: { - /** - * 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; - /** - * Information about the Payee in the proposed financial transaction. - */ - payee: { - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { + /** Not Found */ + 404: { + headers: { /** - * 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. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Identifier of the Party. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyIdentifier: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partySubIdOrType?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * FSP identifier. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - fspId?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extensionList?: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Number of Extension elements. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - key: string; + errorCode: string; /** - * Extension value. + * ErrorDescription + * @description Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { + }; + }; + /** Error information returned. */ + requestBody: { + content: { + "application/json": { /** - * Data model for the complex type PartyComplexName. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - complexName?: { + errorInformation: { /** - * First name of the Party (Name Type). + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 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?: string; + errorCode: string; /** - * Middle name of the Party (Name Type). + * ErrorDescription + * @description Error description string. */ - middleName?: string; + errorDescription: string; /** - * Last name of the Party (Name Type). + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - lastName?: string; + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; }; }; - /** - * Information about the Payer in the proposed financial transaction. - */ - payer: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; + }; + }; + /** The HTTP request **POST /thirdpartyRequests/authorizations** is used to request the validation by a customer for the transfer described in the request. */ + PostThirdpartyRequestsAuthorizations: { + parameters: { + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * FSP identifier. + * 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`. */ - fspId?: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extensionList?: { + "Content-Length"?: number; + }; + }; + 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: { /** - * Number of Extension elements. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extension: { - /** - * Extension key. - */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Extension value. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; - /** - * SEND for sendAmount, RECEIVE for receiveAmount. - */ - amountType: "SEND" | "RECEIVE"; - /** - * Requested amount to be transferred from the Payer to Payee. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Type of transaction. - */ - transactionType: { - /** - * 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. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { + /** Method Not Allowed */ + 405: { + headers: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - originalTransactionId: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Reason for the refund. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - refundReason?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; - /** - * (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. - */ - balanceOfPayments?: string; }; - /** - * A memo that will be attached to the transaction. - */ - note?: string; - /** - * 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. - */ - expiration: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Not Implemented */ + 501: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; }; - /** - * 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 - */ - ThirdpartyRequestsTransactionsIDPutResponse: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId?: string; - /** - * 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. - */ - transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Authorization request details */ + requestBody: { + content: { + "application/json": { /** - * Extension key. + * 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 */ - key: string; + 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; + }; + }; /** - * Extension value. + * TransactionType + * @description Data model for the complex type TransactionType. */ - value: string; - }[]; - }; - }; - /** - * 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 - */ - ThirdpartyRequestsAuthorizationsPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - authorizationRequestId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId: string; - /** - * The challenge that the PISP's client is to sign - */ - challenge: string; - /** - * The amount that will be debited from the sending customer's account as a consequence of the transaction. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + 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; + }[]; + }; + }; }; - /** - * The amount that will be credited to the receiving customer's account as a consequence of the transaction. - */ - payeeReceiveAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + }; + }; + /** + * The HTTP request **GET /thirdpartyRequests/authorizations/**_{ID}_ is used to get information relating + * to a previously issued authorization request. The *{ID}* in the request should match the + * `authorizationRequestId` which was given when the authorization request was created. + */ + GetThirdpartyRequestsAuthorizationsById: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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`. */ - amount: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + }; + }; + 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; + }[]; + }; + }; + }; + }; }; - /** - * The amount of fees that the paying customer will be charged as part of the transaction. - */ - fees: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + }; + /** + * After receiving the **POST /thirdpartyRequests/authorizations**, the PISP will present the details of the + * transaction to their user, and request that the client sign the `challenge` field using the credential + * they previously registered. + * + * The signed challenge will be sent back by the PISP in **PUT /thirdpartyRequests/authorizations/**_{ID}_: + */ + PutThirdpartyRequestsAuthorizationsById: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * 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`. */ - amount: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; }; - /** - * Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction. - */ - payer: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + /** + * The HTTP request `PUT /thirdpartyRequests/authorizations/{ID}/error` is used by the DFSP or PISP to inform + * the other party that something went wrong with a Thirdparty Transaction Authorization Request. + * + * The PISP may use this to tell the DFSP that the Thirdparty Transaction Authorization Request is invalid or doesn't + * match a `transactionRequestId`. + * + * The DFSP may use this to tell the PISP that the signed challenge returned in `PUT /thirdpartyRequest/authorizations/{ID}` + * was invalid. + */ + PutThirdpartyRequestsAuthorizationsByIdAndError: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * Identifier of the Party. + * 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`. */ - partyIdentifier: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partySubIdOrType?: string; + "Content-Length"?: number; + }; + }; + 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; + }[]; + }; + }; + }; + }; + }; + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + }; + /** The HTTP request `POST /thirdpartyRequests/verifications` is used by the DFSP to verify a third party authorization. */ + PostThirdpartyRequestsVerifications: { + parameters: { + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * FSP identifier. + * 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`. */ - fspId?: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extensionList?: { + "Content-Length"?: number; + }; + }; + 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: { /** - * Number of Extension elements. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extension: { - /** - * Extension key. - */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Extension value. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; - /** - * Information about the Payee in the proposed financial transaction. - */ - payee: { + }; + /** 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; + }[]; + }; + }; + }; + }; + }; + /** + * The HTTP request `/thirdpartyRequests/verifications/{ID}` is used to get + * information regarding a previously created or requested authorization. The *{ID}* + * in the URI should contain the verification request ID + */ + GetThirdpartyRequestsVerificationsById: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * Data model for the complex type PartyIdInfo. + * 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`. */ - partyIdInfo: { - /** - * 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. - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** The `Accept` header field indicates the version of the API the client would like the server to use. */ + Accept: string; + }; + }; + responses: { + /** Accepted */ + 202: unknown; + /** Bad Request */ + 400: { + headers: { /** - * Identifier of the Party. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partyIdentifier: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - partySubIdOrType?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * FSP identifier. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - fspId?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - extensionList?: { + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Number of Extension elements. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 */ - key: string; + errorCode: string; /** - * Extension value. + * ErrorDescription + * @description Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; - /** - * 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; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { + }; + /** Method Not Allowed */ + 405: { + headers: { /** - * Data model for the complex type PartyComplexName. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * Last name of the Party (Name Type). + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - lastName?: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; }; }; - /** - * Data model for the complex type TransactionType. - */ - transactionType: { - /** - * 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. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * 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. - */ - initiator: "PAYER" | "PAYEE"; - /** - * 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. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { + /** Not Acceptable */ + 406: { + headers: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - refundReason?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; - /** - * (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. - */ - balanceOfPayments?: string; }; - /** - * The time by which the transfer must be completed, set by the payee DFSP. - */ - expiration: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; + /** Not Implemented */ + 501: { + headers: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - }; - /** - * The customer rejected the terms of the transfer. - */ - AuthorizationResponseTypeRejected: "REJECTED"; - /** - * The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. - */ - ThirdpartyRequestsAuthorizationsIDPutResponseRejected: { - /** - * The customer rejected the terms of the transfer. - */ - responseType: "REJECTED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Service Unavailable */ + 503: { + headers: { /** - * Extension key. - */ - key: string; - /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; - }; - }; - /** - * The customer accepted the terms of the transfer - */ - AuthorizationResponseTypeAccepted: "ACCEPTED"; - /** - * Describes a challenge that has been signed with FIDO Attestation flows - */ - SignedPayloadTypeFIDO: "FIDO"; - /** - * 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 - */ - FIDOPublicKeyCredentialAssertion: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; - /** - * raw credential id: identifier of pair of keys, base64 encoded. - */ - rawId: string; - /** - * AuthenticatorAssertionResponse - */ - response: { - /** - * Authenticator data object. - */ - authenticatorData: string; - /** - * JSON string with client data. - */ - clientDataJSON: string; - /** - * The signature generated by the private key associated with this credential. - */ - signature: string; - /** - * This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. - */ - userHandle?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; }; - SignedPayloadFIDO: { - /** - * Describes a challenge that has been signed with FIDO Attestation flows - */ - signedPayloadType: "FIDO"; - /** - * 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: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; + }; + /** + * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}` is used by the Auth-Service to inform the DFSP of a successful result in validating the verification of a Thirdparty Transaction Request. + * If the validation fails, the auth-service will send back `PUT /thirdpartyRequests/verifications/{ID}` with `authenticationResponse: 'REJECTED'`. + * In unplanned error cases the Auth-Service MUST use `PUT /thirdpartyRequests/verifications/{ID}/error`. + */ + PutThirdpartyRequestsVerificationsById: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * raw credential id: identifier of pair of keys, base64 encoded. + * 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`. */ - rawId: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; /** - * AuthenticatorAssertionResponse + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - response: { + "Content-Length"?: number; + }; + }; + responses: { + /** OK */ + 200: unknown; + /** Bad Request */ + 400: { + headers: { /** - * Authenticator data object. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - authenticatorData: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * JSON string with client data. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - clientDataJSON: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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 signature generated by the private key associated with this credential. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - signature: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - userHandle?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; }; - }; - /** - * The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. - */ - ThirdpartyRequestsAuthorizationsIDPutResponseFIDO: { - /** - * The customer accepted the terms of the transfer - */ - responseType: "ACCEPTED"; - signedPayload: { - /** - * Describes a challenge that has been signed with FIDO Attestation flows - */ - signedPayloadType: "FIDO"; - /** - * 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: { + /** Method Not Allowed */ + 405: { + headers: { /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - id: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * raw credential id: identifier of pair of keys, base64 encoded. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - rawId: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * AuthenticatorAssertionResponse + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - response: { - /** - * Authenticator data object. - */ - authenticatorData: string; - /** - * JSON string with client data. - */ - clientDataJSON: string; - /** - * The signature generated by the private key associated with this credential. - */ - signature: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { /** - * This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - userHandle?: string; + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; }; }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; + /** Service Unavailable */ + 503: { + headers: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; }; - /** - * Describes a challenge that has been signed with a private key - */ - SignedPayloadTypeGeneric: "GENERIC"; - SignedPayloadGeneric: { - /** - * Describes a challenge that has been signed with a private key - */ - signedPayloadType: "GENERIC"; - /** - * 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; - }; - /** - * The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback. - */ - ThirdpartyRequestsAuthorizationsIDPutResponseGeneric: { - /** - * The customer accepted the terms of the transfer - */ - responseType: "ACCEPTED"; - signedPayload: { - /** - * Describes a challenge that has been signed with a private key - */ - signedPayloadType: "GENERIC"; - /** - * 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; - }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** The result of validating the Thirdparty Transaction Request */ + requestBody: { + content: { + "application/json": { /** - * Extension key. + * 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} */ - key: string; + authenticationResponse: "VERIFIED"; /** - * Extension value. + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - value: string; - }[]; + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; }; }; - /** - * The object sent in the POST /thirdpartyRequests/verifications request. - */ - ThirdpartyRequestsVerificationsPostRequestFIDO: { - verificationRequestId: string; - /** - * Base64 encoded bytes - The challenge generated by the DFSP. - */ - challenge: string; - /** - * The id of the stored consent object that contains the credential with which to verify - * the signed challenge against. - */ - consentId: string; - /** - * Describes a challenge that has been signed with FIDO Attestation flows - */ - signedPayloadType: "FIDO"; - /** - * 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: { - /** - * credential id: identifier of pair of keys, base64 encoded - * https://w3c.github.io/webauthn/#ref-for-dom-credential-id - */ - id: string; + }; + /** + * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}/error` is used by the Auth-Service to inform + * the DFSP of a failure in validating or looking up the verification of a Thirdparty Transaction Request. + */ + PutThirdpartyRequestsVerificationsByIdAndError: { + parameters: { + path: { + /** The identifier value. */ + ID: string; + }; + header: { + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + /** The `Date` header field indicates the date when the request was sent. */ + Date: string; /** - * raw credential id: identifier of pair of keys, base64 encoded. + * 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`. */ - rawId: string; + "X-Forwarded-For"?: string; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; + /** 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; /** - * AuthenticatorAssertionResponse + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - response: { + "Content-Length"?: number; + }; + }; + responses: { + /** OK */ + 200: unknown; + /** Bad Request */ + 400: { + headers: { /** - * Authenticator data object. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - authenticatorData: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * JSON string with client data. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - clientDataJSON: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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 signature generated by the private key associated with this credential. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - signature: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * This field is optionally provided by the authenticator, and - * represents the user.id that was supplied during registration. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - userHandle?: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; - /** - * response type, we need only the type of public-key - */ - type: "public-key"; }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Method Not Allowed */ + 405: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - }; - /** - * The object sent in the POST /thirdpartyRequests/verifications request. - */ - ThirdpartyRequestsVerificationsPostRequestGeneric: { - verificationRequestId: string; - /** - * Base64 encoded bytes - The challenge generated by the DFSP. - */ - challenge: string; - /** - * The id of the stored consent object that contains the credential with which to verify - * the signed challenge against. - */ - consentId: string; - /** - * Describes a challenge that has been signed with a private key - */ - signedPayloadType: "GENERIC"; - /** - * 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; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + /** Not Implemented */ + 501: { + headers: { /** - * Extension key. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - key: string; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list 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: { /** - * Extension value. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - value: string; - }[]; + "Content-Length"?: number; + /** The `Content-Type` header indicates the specific version of the API used to send the payload body. */ + "Content-Type": string; + }; + content: { + "application/json": { + /** + * ErrorInformation + * @description Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; }; - /** - * 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. - */ - AuthenticationResponse: "VERIFIED"; - /** - * 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 - */ - ThirdpartyRequestsVerificationsIDPutResponse: { - /** - * 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. - */ - authenticationResponse: "VERIFIED"; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; + /** Error information returned. */ + requestBody: { + content: { + "application/json": { /** - * Extension value. + * ErrorInformation + * @description Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation: { + /** + * ErrorCode + * @description The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * @example 5100 + */ + errorCode: string; + /** + * ErrorDescription + * @description Error description string. + */ + errorDescription: string; + /** + * ExtensionList + * @description Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** @description Number of Extension elements. */ + extension: { + /** + * ExtensionKey + * @description Extension key. + */ + key: string; + /** + * ExtensionValue + * @description Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; }; - responses: { - /** - * OK - */ - "200": { [key: string]: any }; - /** - * Accepted - */ - "202": { [key: string]: any }; - /** - * Bad Request - */ - "400": { [key: string]: any }; - /** - * Unauthorized - */ - "401": { [key: string]: any }; - /** - * Forbidden - */ - "403": { [key: string]: any }; - /** - * Not Found - */ - "404": { [key: string]: any }; - /** - * Method Not Allowed - */ - "405": { [key: string]: any }; - /** - * Not Acceptable - */ - "406": { [key: string]: any }; - /** - * Not Implemented - */ - "501": { [key: string]: any }; - /** - * Service Unavailable - */ - "503": { [key: string]: any }; - }; } + +export interface external {}