@mojaloop/api-snippets 17.3.0 → 17.5.0-snapshot.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (246) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/README.md +12 -0
  3. package/docs/fspiop-rest-v1.0-openapi3-snippets.yaml +1 -2
  4. package/docs/fspiop-rest-v1.1-openapi3-snippets.yaml +1 -1
  5. package/docs/fspiop-rest-v2.0-openapi3-snippets.yaml +1 -1
  6. package/docs/index.html +4 -0
  7. package/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml +8 -8
  8. package/docs/sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets.yaml +2519 -0
  9. package/docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml +2 -11
  10. package/docs/sdk-scheme-adapter-outbound-v2_1_0-openapi3-snippets.yaml +3024 -0
  11. package/docs/thirdparty-openapi3-snippets.yaml +1 -1
  12. package/fspiop/v1_0/openapi3/components/schemas/CorrelationId.yaml +1 -1
  13. package/fspiop/v1_0/openapi3/components/schemas/PartiesTypeIDPutResponse.yaml +0 -1
  14. package/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml +1 -1
  15. package/fspiop/v2_0/openapi3/components/schemas/CorrelationId.yaml +1 -1
  16. package/lib/fspiop/v1_0/openapi.d.ts +0 -1
  17. package/lib/sdk-scheme-adapter/v2_0_0/backend/json-schemas.json +62 -62
  18. package/lib/sdk-scheme-adapter/v2_0_0/backend/openapi.d.ts +1 -1
  19. package/lib/sdk-scheme-adapter/v2_0_0/outbound/json-schemas.json +67 -67
  20. package/lib/sdk-scheme-adapter/v2_0_0/outbound/openapi.d.ts +1 -7
  21. package/lib/sdk-scheme-adapter/v2_1_0/backend/json-schemas.json +26898 -0
  22. package/lib/sdk-scheme-adapter/v2_1_0/backend/openapi.d.ts +1476 -0
  23. package/lib/sdk-scheme-adapter/v2_1_0/backend/openapi.js +7 -0
  24. package/lib/sdk-scheme-adapter/v2_1_0/backend/openapi.js.map +1 -0
  25. package/lib/sdk-scheme-adapter/v2_1_0/backend/schemas.d.ts +8814 -0
  26. package/lib/sdk-scheme-adapter/v2_1_0/backend/schemas.js +140 -0
  27. package/lib/sdk-scheme-adapter/v2_1_0/backend/schemas.js.map +1 -0
  28. package/lib/sdk-scheme-adapter/v2_1_0/backend/types.d.ts +133 -0
  29. package/lib/sdk-scheme-adapter/v2_1_0/backend/types.js +4 -0
  30. package/lib/sdk-scheme-adapter/v2_1_0/backend/types.js.map +1 -0
  31. package/lib/sdk-scheme-adapter/v2_1_0/outbound/json-schemas.json +38718 -0
  32. package/lib/sdk-scheme-adapter/v2_1_0/outbound/openapi.d.ts +1897 -0
  33. package/lib/sdk-scheme-adapter/v2_1_0/outbound/openapi.js +7 -0
  34. package/lib/sdk-scheme-adapter/v2_1_0/outbound/openapi.js.map +1 -0
  35. package/lib/sdk-scheme-adapter/v2_1_0/outbound/schemas.d.ts +15536 -0
  36. package/lib/sdk-scheme-adapter/v2_1_0/outbound/schemas.js +149 -0
  37. package/lib/sdk-scheme-adapter/v2_1_0/outbound/schemas.js.map +1 -0
  38. package/lib/sdk-scheme-adapter/v2_1_0/outbound/types.d.ts +142 -0
  39. package/lib/sdk-scheme-adapter/v2_1_0/outbound/types.js +4 -0
  40. package/lib/sdk-scheme-adapter/v2_1_0/outbound/types.js.map +1 -0
  41. package/package.json +48 -36
  42. package/sdk-bulk.yaml +1 -1
  43. package/sdk-scheme-adapter/v2_0_0/backend/openapi.yaml +6 -6
  44. package/sdk-scheme-adapter/v2_0_0/components/schemas/CorrelationId.yaml +1 -1
  45. package/sdk-scheme-adapter/v2_0_0/components/schemas/getPartiesResponse.yaml +0 -1
  46. package/sdk-scheme-adapter/v2_0_0/components/schemas/partiesByIdResponse.yaml +0 -1
  47. package/sdk-scheme-adapter/v2_0_0/components/schemas/requestToPayResponse.yaml +0 -5
  48. package/sdk-scheme-adapter/v2_0_0/components/schemas/requestToPayTransferResponse.yaml +0 -5
  49. package/sdk-scheme-adapter/v2_0_0/components/schemas/simpleQuotesPostRequest.yaml +0 -1
  50. package/sdk-scheme-adapter/v2_0_0/components/schemas/transferError.yaml +3 -2
  51. package/sdk-scheme-adapter/v2_0_0/components/schemas/transferResponse.yaml +0 -5
  52. package/sdk-scheme-adapter/v2_1_0/backend/openapi.yaml +1494 -0
  53. package/sdk-scheme-adapter/v2_1_0/backend/paths/fxQuotes.yaml +26 -0
  54. package/sdk-scheme-adapter/v2_1_0/backend/paths/fxTransfers.yaml +25 -0
  55. package/sdk-scheme-adapter/v2_1_0/backend/paths/fxTransfersById.yaml +21 -0
  56. package/sdk-scheme-adapter/v2_1_0/components/parameters/ID.yaml +6 -0
  57. package/sdk-scheme-adapter/v2_1_0/components/parameters/SubId.yaml +8 -0
  58. package/sdk-scheme-adapter/v2_1_0/components/parameters/Type.yaml +6 -0
  59. package/sdk-scheme-adapter/v2_1_0/components/parameters/bulkQuoteId.yaml +8 -0
  60. package/sdk-scheme-adapter/v2_1_0/components/parameters/bulkTransactionId.yaml +8 -0
  61. package/sdk-scheme-adapter/v2_1_0/components/parameters/bulkTransferId.yaml +8 -0
  62. package/sdk-scheme-adapter/v2_1_0/components/parameters/transactionRequestId.yaml +8 -0
  63. package/sdk-scheme-adapter/v2_1_0/components/parameters/transferId.yaml +8 -0
  64. package/sdk-scheme-adapter/v2_1_0/components/responses/200.yaml +1 -0
  65. package/sdk-scheme-adapter/v2_1_0/components/responses/400.yaml +5 -0
  66. package/sdk-scheme-adapter/v2_1_0/components/responses/404.yaml +5 -0
  67. package/sdk-scheme-adapter/v2_1_0/components/responses/500.yaml +5 -0
  68. package/sdk-scheme-adapter/v2_1_0/components/responses/accountsCreationCompleted.yaml +5 -0
  69. package/sdk-scheme-adapter/v2_1_0/components/responses/accountsCreationError.yaml +5 -0
  70. package/sdk-scheme-adapter/v2_1_0/components/responses/accountsCreationTimeout.yaml +5 -0
  71. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkQuoteBadRequest.yaml +5 -0
  72. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkQuoteServerError.yaml +5 -0
  73. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkQuoteSuccess.yaml +5 -0
  74. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkQuoteTimeout.yaml +5 -0
  75. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkTransactionAccepted.yaml +1 -0
  76. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkTransactionBadRequest.yaml +5 -0
  77. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkTransactionPutBadRequest.yaml +7 -0
  78. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkTransferBadRequest.yaml +5 -0
  79. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkTransferStatusResponse.yaml +16 -0
  80. package/sdk-scheme-adapter/v2_1_0/components/responses/bulkTransferSuccess.yaml +5 -0
  81. package/sdk-scheme-adapter/v2_1_0/components/responses/errorResponse.yaml +5 -0
  82. package/sdk-scheme-adapter/v2_1_0/components/responses/partiesByIdError404.yaml +8 -0
  83. package/sdk-scheme-adapter/v2_1_0/components/responses/partiesByIdSuccess.yaml +5 -0
  84. package/sdk-scheme-adapter/v2_1_0/components/responses/quotesPostSuccess.yaml +5 -0
  85. package/sdk-scheme-adapter/v2_1_0/components/responses/quotesServerError.yaml +5 -0
  86. package/sdk-scheme-adapter/v2_1_0/components/responses/requestToPaySuccess.yaml +5 -0
  87. package/sdk-scheme-adapter/v2_1_0/components/responses/requestToPayTransferBadRequest.yaml +5 -0
  88. package/sdk-scheme-adapter/v2_1_0/components/responses/requestToPayTransferSuccess.yaml +5 -0
  89. package/sdk-scheme-adapter/v2_1_0/components/responses/servicesFXPSucess.yaml +5 -0
  90. package/sdk-scheme-adapter/v2_1_0/components/responses/simpleTransfersPostSuccess.yaml +5 -0
  91. package/sdk-scheme-adapter/v2_1_0/components/responses/simpleTransfersServerError.yaml +5 -0
  92. package/sdk-scheme-adapter/v2_1_0/components/responses/transferBadRequest.yaml +5 -0
  93. package/sdk-scheme-adapter/v2_1_0/components/responses/transferServerError.yaml +5 -0
  94. package/sdk-scheme-adapter/v2_1_0/components/responses/transferSuccess.yaml +5 -0
  95. package/sdk-scheme-adapter/v2_1_0/components/responses/transferTimeout.yaml +5 -0
  96. package/sdk-scheme-adapter/v2_1_0/components/schemas/Amount.yaml +11 -0
  97. package/sdk-scheme-adapter/v2_1_0/components/schemas/AmountType.yaml +14 -0
  98. package/sdk-scheme-adapter/v2_1_0/components/schemas/AuthenticationInfo.yaml +11 -0
  99. package/sdk-scheme-adapter/v2_1_0/components/schemas/AuthenticationType.yaml +12 -0
  100. package/sdk-scheme-adapter/v2_1_0/components/schemas/AuthenticationValue.yaml +44 -0
  101. package/sdk-scheme-adapter/v2_1_0/components/schemas/AuthorizationIDPutResponse.yaml +10 -0
  102. package/sdk-scheme-adapter/v2_1_0/components/schemas/AuthorizationResponseType.yaml +12 -0
  103. package/sdk-scheme-adapter/v2_1_0/components/schemas/BalanceOfPayments.yaml +9 -0
  104. package/sdk-scheme-adapter/v2_1_0/components/schemas/CorrelationId.yaml +10 -0
  105. package/sdk-scheme-adapter/v2_1_0/components/schemas/Currency.yaml +174 -0
  106. package/sdk-scheme-adapter/v2_1_0/components/schemas/DateOfBirth.yaml +6 -0
  107. package/sdk-scheme-adapter/v2_1_0/components/schemas/DateTime.yaml +14 -0
  108. package/sdk-scheme-adapter/v2_1_0/components/schemas/ErrorCode.yaml +11 -0
  109. package/sdk-scheme-adapter/v2_1_0/components/schemas/ErrorDescription.yaml +5 -0
  110. package/sdk-scheme-adapter/v2_1_0/components/schemas/ErrorInformation.yaml +13 -0
  111. package/sdk-scheme-adapter/v2_1_0/components/schemas/Extension.yaml +11 -0
  112. package/sdk-scheme-adapter/v2_1_0/components/schemas/ExtensionKey.yaml +5 -0
  113. package/sdk-scheme-adapter/v2_1_0/components/schemas/ExtensionList.yaml +15 -0
  114. package/sdk-scheme-adapter/v2_1_0/components/schemas/ExtensionValue.yaml +5 -0
  115. package/sdk-scheme-adapter/v2_1_0/components/schemas/FirstName.yaml +9 -0
  116. package/sdk-scheme-adapter/v2_1_0/components/schemas/FspId.yaml +5 -0
  117. package/sdk-scheme-adapter/v2_1_0/components/schemas/FxQuotesPostBackendRequest.yaml +16 -0
  118. package/sdk-scheme-adapter/v2_1_0/components/schemas/FxQuotesPostBackendResponse.yaml +14 -0
  119. package/sdk-scheme-adapter/v2_1_0/components/schemas/FxQuotesPostOutboundRequest.yaml +19 -0
  120. package/sdk-scheme-adapter/v2_1_0/components/schemas/FxQuotesPostOutboundResponse.yaml +18 -0
  121. package/sdk-scheme-adapter/v2_1_0/components/schemas/FxTransfersPostBackendRequest.yaml +28 -0
  122. package/sdk-scheme-adapter/v2_1_0/components/schemas/FxTransfersPostBackendResponse.yaml +17 -0
  123. package/sdk-scheme-adapter/v2_1_0/components/schemas/FxTransfersPostOutboundRequest.yaml +28 -0
  124. package/sdk-scheme-adapter/v2_1_0/components/schemas/FxTransfersPostOutboundResponse.yaml +17 -0
  125. package/sdk-scheme-adapter/v2_1_0/components/schemas/FxTransfersPutBackendRequest.yaml +17 -0
  126. package/sdk-scheme-adapter/v2_1_0/components/schemas/GeoCode.yaml +13 -0
  127. package/sdk-scheme-adapter/v2_1_0/components/schemas/IlpCondition.yaml +5 -0
  128. package/sdk-scheme-adapter/v2_1_0/components/schemas/IlpFulfilment.yaml +6 -0
  129. package/sdk-scheme-adapter/v2_1_0/components/schemas/IlpPacket.yaml +8 -0
  130. package/sdk-scheme-adapter/v2_1_0/components/schemas/LastName.yaml +9 -0
  131. package/sdk-scheme-adapter/v2_1_0/components/schemas/Latitude.yaml +7 -0
  132. package/sdk-scheme-adapter/v2_1_0/components/schemas/Longitude.yaml +8 -0
  133. package/sdk-scheme-adapter/v2_1_0/components/schemas/MerchantClassificationCode.yaml +7 -0
  134. package/sdk-scheme-adapter/v2_1_0/components/schemas/MiddleName.yaml +9 -0
  135. package/sdk-scheme-adapter/v2_1_0/components/schemas/Money.yaml +11 -0
  136. package/sdk-scheme-adapter/v2_1_0/components/schemas/Name.yaml +17 -0
  137. package/sdk-scheme-adapter/v2_1_0/components/schemas/Note.yaml +6 -0
  138. package/sdk-scheme-adapter/v2_1_0/components/schemas/Party.yaml +21 -0
  139. package/sdk-scheme-adapter/v2_1_0/components/schemas/PartyComplexName.yaml +10 -0
  140. package/sdk-scheme-adapter/v2_1_0/components/schemas/PartyIdInfo.yaml +19 -0
  141. package/sdk-scheme-adapter/v2_1_0/components/schemas/PartyIdType.yaml +54 -0
  142. package/sdk-scheme-adapter/v2_1_0/components/schemas/PartyIdentifier.yaml +6 -0
  143. package/sdk-scheme-adapter/v2_1_0/components/schemas/PartyName.yaml +5 -0
  144. package/sdk-scheme-adapter/v2_1_0/components/schemas/PartyPersonalInfo.yaml +8 -0
  145. package/sdk-scheme-adapter/v2_1_0/components/schemas/PartySubIdOrType.yaml +7 -0
  146. package/sdk-scheme-adapter/v2_1_0/components/schemas/QuotesIDPutResponse.yaml +27 -0
  147. package/sdk-scheme-adapter/v2_1_0/components/schemas/QuotesPostRequest.yaml +53 -0
  148. package/sdk-scheme-adapter/v2_1_0/components/schemas/Refund.yaml +10 -0
  149. package/sdk-scheme-adapter/v2_1_0/components/schemas/RefundReason.yaml +6 -0
  150. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransactionInitiator.yaml +16 -0
  151. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransactionInitiatorType.yaml +14 -0
  152. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransactionRequestResponse.yaml +20 -0
  153. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransactionRequestState.yaml +14 -0
  154. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransactionScenario.yaml +32 -0
  155. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransactionSubScenario.yaml +5 -0
  156. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransactionType.yaml +20 -0
  157. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransferState.yaml +19 -0
  158. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransfersIDPutResponse.yaml +14 -0
  159. package/sdk-scheme-adapter/v2_1_0/components/schemas/TransfersPostRequest.yaml +28 -0
  160. package/sdk-scheme-adapter/v2_1_0/components/schemas/accountCreationStatus.yaml +15 -0
  161. package/sdk-scheme-adapter/v2_1_0/components/schemas/accountsCreationState.yaml +4 -0
  162. package/sdk-scheme-adapter/v2_1_0/components/schemas/accountsRequest.yaml +16 -0
  163. package/sdk-scheme-adapter/v2_1_0/components/schemas/accountsResponse.yaml +23 -0
  164. package/sdk-scheme-adapter/v2_1_0/components/schemas/async2SyncCurrentState.yaml +5 -0
  165. package/sdk-scheme-adapter/v2_1_0/components/schemas/autoAcceptPartyOption.yaml +9 -0
  166. package/sdk-scheme-adapter/v2_1_0/components/schemas/autoAcceptQuote.yaml +14 -0
  167. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkPerTransferFeeLimit.yaml +9 -0
  168. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkQuoteErrorResponse.yaml +8 -0
  169. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkQuoteRequest.yaml +24 -0
  170. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkQuoteResponse.yaml +26 -0
  171. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkQuoteStatus.yaml +4 -0
  172. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkQuoteStatusResponse.yaml +16 -0
  173. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionAcceptPartyErrorResponse.yaml +10 -0
  174. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionAcceptQuoteErrorResponse.yaml +10 -0
  175. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionContinuationAcceptParty.yaml +17 -0
  176. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionContinuationAcceptQuote.yaml +13 -0
  177. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionIndividualTransfer.yaml +34 -0
  178. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionIndividualTransferAccept.yaml +7 -0
  179. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionIndividualTransferResult.yaml +38 -0
  180. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionOptions.yaml +35 -0
  181. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionRequest.yaml +27 -0
  182. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionResponse.yaml +27 -0
  183. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransactionStatus.yaml +6 -0
  184. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransferErrorResponse.yaml +8 -0
  185. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransferRequest.yaml +28 -0
  186. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransferResponse.yaml +29 -0
  187. package/sdk-scheme-adapter/v2_1_0/components/schemas/bulkTransferStatus.yaml +4 -0
  188. package/sdk-scheme-adapter/v2_1_0/components/schemas/errorAccountsResponse.yaml +8 -0
  189. package/sdk-scheme-adapter/v2_1_0/components/schemas/errorQuotesResponse.yaml +3 -0
  190. package/sdk-scheme-adapter/v2_1_0/components/schemas/errorResponse.yaml +10 -0
  191. package/sdk-scheme-adapter/v2_1_0/components/schemas/errorSimpleTransfersResponse.yaml +3 -0
  192. package/sdk-scheme-adapter/v2_1_0/components/schemas/errorTransferResponse.yaml +8 -0
  193. package/sdk-scheme-adapter/v2_1_0/components/schemas/extensionListEmptiable.yaml +5 -0
  194. package/sdk-scheme-adapter/v2_1_0/components/schemas/getPartiesResponse.yaml +11 -0
  195. package/sdk-scheme-adapter/v2_1_0/components/schemas/individualQuote.yaml +29 -0
  196. package/sdk-scheme-adapter/v2_1_0/components/schemas/individualQuoteResult.yaml +25 -0
  197. package/sdk-scheme-adapter/v2_1_0/components/schemas/individualTransfer.yaml +34 -0
  198. package/sdk-scheme-adapter/v2_1_0/components/schemas/individualTransferFulfilment.yaml +9 -0
  199. package/sdk-scheme-adapter/v2_1_0/components/schemas/individualTransferResult.yaml +14 -0
  200. package/sdk-scheme-adapter/v2_1_0/components/schemas/mojaloopError.yaml +4 -0
  201. package/sdk-scheme-adapter/v2_1_0/components/schemas/partiesByIdResponse.yaml +18 -0
  202. package/sdk-scheme-adapter/v2_1_0/components/schemas/partyError.yaml +12 -0
  203. package/sdk-scheme-adapter/v2_1_0/components/schemas/quoteError.yaml +12 -0
  204. package/sdk-scheme-adapter/v2_1_0/components/schemas/quotesPostResponse.yaml +48 -0
  205. package/sdk-scheme-adapter/v2_1_0/components/schemas/requestToPayRequest.yaml +32 -0
  206. package/sdk-scheme-adapter/v2_1_0/components/schemas/requestToPayResponse.yaml +35 -0
  207. package/sdk-scheme-adapter/v2_1_0/components/schemas/requestToPayStatus.yaml +5 -0
  208. package/sdk-scheme-adapter/v2_1_0/components/schemas/requestToPayTransferRequest.yaml +42 -0
  209. package/sdk-scheme-adapter/v2_1_0/components/schemas/requestToPayTransferResponse.yaml +72 -0
  210. package/sdk-scheme-adapter/v2_1_0/components/schemas/simpleQuotesPostRequest.yaml +10 -0
  211. package/sdk-scheme-adapter/v2_1_0/components/schemas/simpleTransfersPostRequest.yaml +10 -0
  212. package/sdk-scheme-adapter/v2_1_0/components/schemas/simpleTransfersPostResponse.yaml +17 -0
  213. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferContinuationAcceptConversion.yaml +9 -0
  214. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferContinuationAcceptOTP.yaml +9 -0
  215. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferContinuationAcceptParty.yaml +9 -0
  216. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferContinuationAcceptQuote.yaml +9 -0
  217. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferError.yaml +12 -0
  218. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferParty.yaml +38 -0
  219. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferRequest.yaml +41 -0
  220. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferResponse.yaml +93 -0
  221. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferStatus.yaml +7 -0
  222. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferStatusResponse.yaml +19 -0
  223. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferTransactionType.yaml +5 -0
  224. package/sdk-scheme-adapter/v2_1_0/outbound/openapi.yaml +66 -0
  225. package/sdk-scheme-adapter/v2_1_0/outbound/paths/accounts.yaml +26 -0
  226. package/sdk-scheme-adapter/v2_1_0/outbound/paths/bulkQuotes.yaml +23 -0
  227. package/sdk-scheme-adapter/v2_1_0/outbound/paths/bulkQuotes_bulkQuoteId.yaml +24 -0
  228. package/sdk-scheme-adapter/v2_1_0/outbound/paths/bulkTransactions.yaml +21 -0
  229. package/sdk-scheme-adapter/v2_1_0/outbound/paths/bulkTransactions_bulkTransactionId.yaml +33 -0
  230. package/sdk-scheme-adapter/v2_1_0/outbound/paths/bulkTransfers.yaml +21 -0
  231. package/sdk-scheme-adapter/v2_1_0/outbound/paths/bulkTransfers_bulkTransferId.yaml +24 -0
  232. package/sdk-scheme-adapter/v2_1_0/outbound/paths/fxQuotes.yaml +26 -0
  233. package/sdk-scheme-adapter/v2_1_0/outbound/paths/fxTransfers.yaml +25 -0
  234. package/sdk-scheme-adapter/v2_1_0/outbound/paths/parties_Type_ID.yaml +18 -0
  235. package/sdk-scheme-adapter/v2_1_0/outbound/paths/parties_Type_ID_SubId.yaml +19 -0
  236. package/sdk-scheme-adapter/v2_1_0/outbound/paths/quotes.yaml +18 -0
  237. package/sdk-scheme-adapter/v2_1_0/outbound/paths/requestToPay.yaml +22 -0
  238. package/sdk-scheme-adapter/v2_1_0/outbound/paths/requestToPayTransfer.yaml +57 -0
  239. package/sdk-scheme-adapter/v2_1_0/outbound/paths/requestToPayTransfer_transactionRequestId.yaml +34 -0
  240. package/sdk-scheme-adapter/v2_1_0/outbound/paths/requestToPay_transactionRequestId.yaml +29 -0
  241. package/sdk-scheme-adapter/v2_1_0/outbound/paths/services_FXP.yaml +15 -0
  242. package/sdk-scheme-adapter/v2_1_0/outbound/paths/services_FXP_SourceCurrency_TargetCurrency.yaml +18 -0
  243. package/sdk-scheme-adapter/v2_1_0/outbound/paths/simpleTransfers.yaml +18 -0
  244. package/sdk-scheme-adapter/v2_1_0/outbound/paths/transfers.yaml +55 -0
  245. package/sdk-scheme-adapter/v2_1_0/outbound/paths/transfers_transferId.yaml +59 -0
  246. package/sdk-scheme-adapter/v2_1_0/outbound/paths.yaml +12 -0
@@ -0,0 +1,3024 @@
1
+ openapi: 3.0.1
2
+ info:
3
+ title: Mojaloop SDK Outbound Scheme Adapter API
4
+ description: |
5
+ Specification for the Mojaloop SDK Scheme Adapter Outbound Transfers API
6
+
7
+ This API can be used by DFSP backends to simplify the process of sending funds to other parties within a Mojaloop scheme.
8
+
9
+ Please see other documentation on https://github.com/mojaloop/sdk-scheme-adapter for more information.
10
+
11
+ **Note on terminology:** The term "Switch" is equal to the term "Hub", and the term "FSP" is equal to the term "DFSP".
12
+ license:
13
+ name: Apache License Version 2.0, January 2004
14
+ url: https://github.com/mojaloop/documentation/blob/main/LICENSE.md
15
+ version: 2.1.0
16
+ paths:
17
+ /:
18
+ get:
19
+ summary: Health check endpoint
20
+ description: This endpoint allows a user of the SDK scheme adapter to check the outbound transfers service is listening.
21
+ tags:
22
+ - Health
23
+ responses:
24
+ '200':
25
+ description: Returns empty body if the scheme adapter outbound transfers service is running.
26
+ /accounts:
27
+ post:
28
+ summary: Create accounts on the Account Lookup Service
29
+ description: |-
30
+ The HTTP request `POST /accounts` is used to create account information on the Account Lookup Service (ALS) regarding the provided list of identities.
31
+
32
+ Caller DFSP is used as the account source FSP information
33
+ tags:
34
+ - Accounts
35
+ requestBody:
36
+ description: Identities list request body
37
+ content:
38
+ application/json:
39
+ schema:
40
+ $ref: '#/components/schemas/accountsRequest'
41
+ required: true
42
+ responses:
43
+ '200':
44
+ $ref: '#/components/responses/accountsCreationCompleted'
45
+ '400':
46
+ $ref: '#/components/responses/accountsCreationError'
47
+ '500':
48
+ $ref: '#/components/responses/accountsCreationError'
49
+ '504':
50
+ $ref: '#/components/responses/accountsCreationTimeout'
51
+ /bulkQuotes:
52
+ post:
53
+ summary: Request bulk quotes for the provided financial transactions
54
+ description: |
55
+ The HTTP request `POST /bulkQuotes` is used to request a bulk quote to fascilitate funds transfer from payer DFSP to payees' DFSP.
56
+ tags:
57
+ - BulkQuotes
58
+ requestBody:
59
+ description: Bulk quote request body
60
+ content:
61
+ application/json:
62
+ schema:
63
+ $ref: '#/components/schemas/bulkQuoteRequest'
64
+ required: true
65
+ responses:
66
+ '200':
67
+ $ref: '#/components/responses/bulkQuoteSuccess'
68
+ '400':
69
+ $ref: '#/components/responses/bulkQuoteBadRequest'
70
+ '500':
71
+ $ref: '#/components/responses/bulkQuoteServerError'
72
+ '504':
73
+ $ref: '#/components/responses/bulkQuoteTimeout'
74
+ /bulkQuotes/{bulkQuoteId}:
75
+ get:
76
+ summary: Retrieves information for a specific bulk quote
77
+ 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.
78
+ tags:
79
+ - BulkQuotes
80
+ parameters:
81
+ - $ref: '#/components/parameters/bulkQuoteId'
82
+ responses:
83
+ '200':
84
+ description: Bulk quote information successfully retrieved
85
+ content:
86
+ application/json:
87
+ schema:
88
+ $ref: '#/components/schemas/bulkQuoteStatusResponse'
89
+ '500':
90
+ description: An error occurred processing the bulk quote
91
+ content:
92
+ application/json:
93
+ schema:
94
+ $ref: '#/components/schemas/errorResponse'
95
+ /bulkTransactions:
96
+ post:
97
+ summary: Sends money from one account to multiple accounts
98
+ description: |
99
+ The HTTP request `POST /bulkTransactions` is used to request the movement of funds from payer DFSP to payees' DFSP.
100
+ tags:
101
+ - BulkTransactions
102
+ requestBody:
103
+ description: Bulk transfer request body
104
+ content:
105
+ application/json:
106
+ schema:
107
+ $ref: '#/components/schemas/bulkTransactionRequest'
108
+ required: true
109
+ responses:
110
+ '202':
111
+ $ref: '#/components/responses/bulkTransactionAccepted'
112
+ '400':
113
+ $ref: '#/components/responses/bulkTransferBadRequest'
114
+ '500':
115
+ $ref: '#/components/responses/errorResponse'
116
+ /bulkTransactions/{bulkTransactionId}:
117
+ put:
118
+ summary: Amends the bulk transaction request
119
+ description: The HTTP request `PUT /bulkTransactions/{bulkTransactionId}` is used to amend information regarding a bulk transaction, i.e. when autoAcceptParty or autoAcceptQuote is false then the payer need to provide confirmation to proceed with further processing of the request. The `{bulkTransactionId}` in the URI should contain the `bulkTransactionId` that was used for the creation of the bulk transfer.
120
+ tags:
121
+ - BulkTransactions
122
+ parameters:
123
+ - $ref: '#/components/parameters/bulkTransactionId'
124
+ requestBody:
125
+ description: Bulk transaction request body
126
+ content:
127
+ application/json:
128
+ schema:
129
+ oneOf:
130
+ - $ref: '#/components/schemas/bulkTransactionContinuationAcceptParty'
131
+ - $ref: '#/components/schemas/bulkTransactionContinuationAcceptQuote'
132
+ required: true
133
+ responses:
134
+ '202':
135
+ description: Bulk transaction information successfully amended
136
+ '400':
137
+ $ref: '#/components/responses/bulkTransactionPutBadRequest'
138
+ '500':
139
+ description: An error occurred processing the bulk transaction
140
+ content:
141
+ application/json:
142
+ schema:
143
+ $ref: '#/components/schemas/errorResponse'
144
+ /bulkTransfers:
145
+ post:
146
+ summary: Sends money from one account to multiple accounts
147
+ description: |
148
+ The HTTP request `POST /bulkTransfers` is used to request the movement of funds from payer DFSP to payees' DFSP.
149
+ tags:
150
+ - BulkTransfers
151
+ requestBody:
152
+ description: Bulk transfer request body
153
+ content:
154
+ application/json:
155
+ schema:
156
+ $ref: '#/components/schemas/bulkTransferRequest'
157
+ required: true
158
+ responses:
159
+ '200':
160
+ $ref: '#/components/responses/bulkTransferSuccess'
161
+ '400':
162
+ $ref: '#/components/responses/bulkTransferBadRequest'
163
+ '500':
164
+ $ref: '#/components/responses/errorResponse'
165
+ /bulkTransfers/{bulkTransferId}:
166
+ get:
167
+ summary: Retrieves information for a specific bulk transfer
168
+ description: 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.
169
+ tags:
170
+ - BulkTransfers
171
+ parameters:
172
+ - $ref: '#/components/parameters/bulkTransferId'
173
+ responses:
174
+ '200':
175
+ description: Bulk transfer information successfully retrieved
176
+ content:
177
+ application/json:
178
+ schema:
179
+ $ref: '#/components/schemas/bulkTransferStatusResponse'
180
+ '500':
181
+ description: An error occurred processing the bulk transfer
182
+ content:
183
+ application/json:
184
+ schema:
185
+ $ref: '#/components/schemas/errorResponse'
186
+ /parties/{Type}/{ID}:
187
+ parameters:
188
+ - $ref: '#/components/parameters/Type'
189
+ - $ref: '#/components/parameters/ID'
190
+ get:
191
+ 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).
192
+ summary: PartiesByTypeAndID
193
+ tags:
194
+ - parties
195
+ operationId: PartiesByTypeAndID
196
+ responses:
197
+ '200':
198
+ $ref: '#/components/responses/partiesByIdSuccess'
199
+ '404':
200
+ $ref: '#/components/responses/partiesByIdError404'
201
+ /parties/{Type}/{ID}/{SubId}:
202
+ parameters:
203
+ - $ref: '#/components/parameters/Type'
204
+ - $ref: '#/components/parameters/ID'
205
+ - $ref: '#/components/parameters/SubId'
206
+ get:
207
+ 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).
208
+ summary: PartiesSubIdByTypeAndID
209
+ tags:
210
+ - parties
211
+ operationId: PartiesSubIdByTypeAndID
212
+ responses:
213
+ '200':
214
+ $ref: '#/components/responses/partiesByIdSuccess'
215
+ '404':
216
+ $ref: '#/components/responses/partiesByIdError404'
217
+ /quotes:
218
+ post:
219
+ summary: Quotes endpoint
220
+ description: is used to request quotes from other DFSP
221
+ tags:
222
+ - quotes
223
+ operationId: QuotesPost
224
+ requestBody:
225
+ description: Quotes request payload
226
+ content:
227
+ application/json:
228
+ schema:
229
+ $ref: '#/components/schemas/simpleQuotesPostRequest'
230
+ required: true
231
+ responses:
232
+ '200':
233
+ $ref: '#/components/responses/quotesPostSuccess'
234
+ '500':
235
+ $ref: '#/components/responses/quotesServerError'
236
+ /requestToPay:
237
+ post:
238
+ summary: Receiver requesting funds from Sender
239
+ description: |
240
+ The HTTP request `POST /requestToPay` is used to support Pull Funds pattern where in a receiver can request for funds from the Sender.
241
+ The underlying API has two stages:
242
+
243
+ 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement.
244
+ 2. Transaction Request. This request enables a Payee to request Payer to send electronic funds to the Payee.
245
+ tags:
246
+ - RequestToPay
247
+ requestBody:
248
+ description: RequestToPay request body
249
+ content:
250
+ application/json:
251
+ schema:
252
+ $ref: '#/components/schemas/requestToPayRequest'
253
+ required: true
254
+ responses:
255
+ '200':
256
+ $ref: '#/components/responses/requestToPaySuccess'
257
+ /requestToPay/{transactionRequestId}:
258
+ put:
259
+ summary: Continues a request funds from sender that has paused at the party resolution stage in order to accept or reject party information
260
+ description: |
261
+ The HTTP request `PUT /requestToPay/{transactionRequestId}` is used to continue a transfer initiated via the `POST /requestToPay` method that has halted after party lookup stage.
262
+ The request body should contain the "acceptParty" property set to `true` as required to continue the transfer.
263
+ See the description of the `POST /requestToPay` HTTP method for more information on modes of transfer.
264
+ tags:
265
+ - RequestToPay
266
+ requestBody:
267
+ content:
268
+ application/json:
269
+ schema:
270
+ $ref: '#/components/schemas/transferContinuationAcceptParty'
271
+ parameters:
272
+ - $ref: '#/components/parameters/transactionRequestId'
273
+ responses:
274
+ '200':
275
+ $ref: '#/components/responses/requestToPaySuccess'
276
+ '500':
277
+ $ref: '#/components/responses/transferServerError'
278
+ '504':
279
+ $ref: '#/components/responses/transferTimeout'
280
+ /requestToPayTransfer:
281
+ post:
282
+ summary: Used to trigger funds from customer fsp account to merchant fsp account. This is a follow-up request to requestToPay.
283
+ description: |
284
+ The HTTP request `POST /requestToPayTransfer` is used to request the movement of funds from payer DFSP to payee DFSP.
285
+ The underlying Mojaloop API has three stages for money transfer:
286
+
287
+ 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.
288
+ 2. Authorization. This facilitates getting OTP from payee DFSP.
289
+ 3. Transfer. The enactment of the previously agreed "contract"
290
+
291
+ This method has several modes of operation.
292
+ - 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.
293
+ 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.
294
+ The scheme adapter will then proceed with the transfer state.
295
+
296
+ - 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.
297
+ 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.
298
+ The scheme adapter will then proceed with the transfer state.
299
+
300
+ 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.
301
+
302
+ 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...
303
+ tags:
304
+ - RequestToPayTransfer
305
+ requestBody:
306
+ description: Request To Pay Transfer request body
307
+ content:
308
+ application/json:
309
+ schema:
310
+ $ref: '#/components/schemas/requestToPayTransferRequest'
311
+ required: true
312
+ responses:
313
+ '200':
314
+ $ref: '#/components/responses/requestToPayTransferSuccess'
315
+ '400':
316
+ $ref: '#/components/responses/requestToPayTransferBadRequest'
317
+ '500':
318
+ $ref: '#/components/responses/transferServerError'
319
+ '504':
320
+ $ref: '#/components/responses/transferTimeout'
321
+ /requestToPayTransfer/{transactionRequestId}:
322
+ put:
323
+ summary: Continues a transfer that has paused at the otp stage in order to accept or reject quote
324
+ description: |
325
+ This request is used to continue a requestToPayTransfer initiated via the `POST /requestToPayTransfer` method that has halted after quotation stage and/or otp stage.
326
+
327
+ The request body should contain either the "acceptOTP" or "acceptQuote" property set to `true` as required to continue the transfer.
328
+
329
+ See the description of the `POST /requestToPayTransfer` HTTP method for more information on modes of transfer.
330
+ tags:
331
+ - RequestToPayTransferID
332
+ requestBody:
333
+ content:
334
+ application/json:
335
+ schema:
336
+ oneOf:
337
+ - $ref: '#/components/schemas/transferContinuationAcceptQuote'
338
+ - $ref: '#/components/schemas/transferContinuationAcceptOTP'
339
+ parameters:
340
+ - $ref: '#/components/parameters/transactionRequestId'
341
+ responses:
342
+ '200':
343
+ $ref: '#/components/responses/transferSuccess'
344
+ '500':
345
+ $ref: '#/components/responses/transferServerError'
346
+ '504':
347
+ $ref: '#/components/responses/transferTimeout'
348
+ /simpleTransfers:
349
+ post:
350
+ summary: Simple Transfers endpoint
351
+ description: is used to request a transfer
352
+ tags:
353
+ - transfers
354
+ operationId: SimpleTransfersPost
355
+ requestBody:
356
+ description: Simple Transfer request payload
357
+ content:
358
+ application/json:
359
+ schema:
360
+ $ref: '#/components/schemas/simpleTransfersPostRequest'
361
+ required: true
362
+ responses:
363
+ '200':
364
+ $ref: '#/components/responses/simpleTransfersPostSuccess'
365
+ '500':
366
+ $ref: '#/components/responses/simpleTransfersServerError'
367
+ /transfers:
368
+ post:
369
+ summary: Sends money from one account to another
370
+ description: |
371
+ The HTTP request `POST /transfers` is used to request the movement of funds from payer DFSP to payee DFSP.
372
+ The underlying Mojaloop API has three stages for money transfer:
373
+
374
+ 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement.
375
+ 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.
376
+ 3. Transfer. The enactment of the previously agreed "contract"
377
+
378
+ This method has several modes of operation.
379
+ - 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.
380
+ 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.
381
+ The scheme adapter will then proceed with quotation stage...
382
+
383
+ - 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.
384
+ 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.
385
+ The scheme adapter will then proceed with the transfer state.
386
+
387
+ 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.
388
+
389
+ 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...
390
+ tags:
391
+ - Transfers
392
+ requestBody:
393
+ description: Transfer request body
394
+ content:
395
+ application/json:
396
+ schema:
397
+ $ref: '#/components/schemas/transferRequest'
398
+ required: true
399
+ responses:
400
+ '200':
401
+ $ref: '#/components/responses/transferSuccess'
402
+ '400':
403
+ $ref: '#/components/responses/transferBadRequest'
404
+ '500':
405
+ $ref: '#/components/responses/transferServerError'
406
+ '504':
407
+ $ref: '#/components/responses/transferTimeout'
408
+ /transfers/{transferId}:
409
+ put:
410
+ summary: Continues a transfer that has paused at the quote stage in order to accept or reject payee party and/or quote and/or conversion
411
+ description: |
412
+ 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 and/or currency conversion stage.
413
+
414
+ The request body should contain either the "acceptParty" or "acceptQuote" or "acceptConversion" property set to `true` as required to continue the transfer.
415
+
416
+ See the description of the `POST /transfers` HTTP method for more information on modes of transfer.
417
+ tags:
418
+ - Transfers
419
+ requestBody:
420
+ content:
421
+ application/json:
422
+ schema:
423
+ oneOf:
424
+ - $ref: '#/components/schemas/transferContinuationAcceptParty'
425
+ - $ref: '#/components/schemas/transferContinuationAcceptQuote'
426
+ - $ref: '#/components/schemas/transferContinuationAcceptConversion'
427
+ parameters:
428
+ - $ref: '#/components/parameters/transferId'
429
+ responses:
430
+ '200':
431
+ $ref: '#/components/responses/transferSuccess'
432
+ '500':
433
+ $ref: '#/components/responses/transferServerError'
434
+ '504':
435
+ $ref: '#/components/responses/transferTimeout'
436
+ get:
437
+ summary: Retrieves information for a specific transfer
438
+ 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.
439
+ tags:
440
+ - Transfers
441
+ parameters:
442
+ - $ref: '#/components/parameters/transferId'
443
+ responses:
444
+ '200':
445
+ description: Transfer information successfully retrieved
446
+ content:
447
+ application/json:
448
+ schema:
449
+ $ref: '#/components/schemas/transferStatusResponse'
450
+ '500':
451
+ description: An error occurred processing the transfer
452
+ content:
453
+ application/json:
454
+ schema:
455
+ $ref: '#/components/schemas/errorResponse'
456
+ /services/FXP:
457
+ get:
458
+ description: The HTTP request `GET /services/FXP` is used to request information about the participants in a scheme who offer currency conversion services.
459
+ summary: Obtain a list of the DFSPs in the scheme who provide FXP service
460
+ tags:
461
+ - servicesFXP
462
+ operationId: ServicesFXPGet
463
+ responses:
464
+ '200':
465
+ $ref: '#/components/responses/servicesFXPSucess'
466
+ '400':
467
+ $ref: '#/components/responses/400'
468
+ '500':
469
+ $ref: '#/components/responses/500'
470
+ /services/FXP/{SourceCurrency}/{TargetCurrency}:
471
+ get:
472
+ description: The HTTP request `GET /services/FXP/{SourceCurrency}/{TargetCurrency}` is used to request information about the participants in a scheme who offer currency conversion services in a particular currency corridor. The required corridor is specified by giving the ISO 4217 currency code for the SourceCurrency and the TargetCurrency.
473
+ summary: Obtain a list of the DFSPs in the scheme who provide FXP service
474
+ tags:
475
+ - servicesFXP
476
+ operationId: ServicesFXPSourceCurrencyTargetCurrencyGet
477
+ parameters:
478
+ - $ref: '#/components/parameters/SourceCurrency'
479
+ - $ref: '#/components/parameters/TargetCurrency'
480
+ responses:
481
+ '200':
482
+ $ref: '#/components/responses/servicesFXPSucess'
483
+ '400':
484
+ $ref: '#/components/responses/400'
485
+ '500':
486
+ $ref: '#/components/responses/500'
487
+ /fxQuotes:
488
+ post:
489
+ description: The HTTP request `POST /fxQuotes` is used to ask to provide a quotation for a currency conversion.
490
+ summary: Calculate FX quote
491
+ tags:
492
+ - Fx
493
+ operationId: FxQuotesPost
494
+ requestBody:
495
+ description: Details of the FX quote request.
496
+ required: true
497
+ content:
498
+ application/json:
499
+ schema:
500
+ $ref: '#/components/schemas/FxQuotesPostOutboundRequest'
501
+ responses:
502
+ '200':
503
+ description: Successful response.
504
+ content:
505
+ application/json:
506
+ schema:
507
+ $ref: '#/components/schemas/FxQuotesPostOutboundResponse'
508
+ '400':
509
+ $ref: '#/components/responses/400'
510
+ '500':
511
+ $ref: '#/components/responses/500'
512
+ /fxTransfers:
513
+ post:
514
+ description: The HTTP request `POST /fxTransfers` is used to ask to confirm the execution of an agreed currency conversion.
515
+ summary: Perform FX transfer
516
+ tags:
517
+ - Fx
518
+ operationId: FxTransfersPost
519
+ requestBody:
520
+ description: Details of the FX transfer request.
521
+ required: true
522
+ content:
523
+ application/json:
524
+ schema:
525
+ $ref: '#/components/schemas/FxTransfersPostOutboundRequest'
526
+ responses:
527
+ '200':
528
+ description: Successful response.
529
+ content:
530
+ application/json:
531
+ schema:
532
+ $ref: '#/components/schemas/FxTransfersPostOutboundResponse'
533
+ '400':
534
+ $ref: '#/components/responses/400'
535
+ '500':
536
+ $ref: '#/components/responses/500'
537
+ components:
538
+ schemas:
539
+ PartyIdType:
540
+ title: PartyIdType
541
+ type: string
542
+ enum:
543
+ - MSISDN
544
+ - EMAIL
545
+ - PERSONAL_ID
546
+ - BUSINESS
547
+ - DEVICE
548
+ - ACCOUNT_ID
549
+ - IBAN
550
+ - ALIAS
551
+ description: |-
552
+ Below are the allowed values for the enumeration.
553
+ - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix.
554
+ - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696).
555
+ - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element.
556
+ - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used.
557
+ - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element.
558
+ - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP.
559
+ - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace.
560
+ - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier.
561
+ PartyIdentifier:
562
+ title: PartyIdentifier
563
+ type: string
564
+ minLength: 1
565
+ maxLength: 128
566
+ description: Identifier of the Party.
567
+ example: '16135551212'
568
+ PartySubIdOrType:
569
+ title: PartySubIdOrType
570
+ type: string
571
+ minLength: 1
572
+ maxLength: 128
573
+ description: Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.
574
+ Currency:
575
+ title: Currency
576
+ description: The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.
577
+ type: string
578
+ minLength: 3
579
+ maxLength: 3
580
+ enum:
581
+ - AED
582
+ - AFN
583
+ - ALL
584
+ - AMD
585
+ - ANG
586
+ - AOA
587
+ - ARS
588
+ - AUD
589
+ - AWG
590
+ - AZN
591
+ - BAM
592
+ - BBD
593
+ - BDT
594
+ - BGN
595
+ - BHD
596
+ - BIF
597
+ - BMD
598
+ - BND
599
+ - BOB
600
+ - BRL
601
+ - BSD
602
+ - BTN
603
+ - BWP
604
+ - BYN
605
+ - BZD
606
+ - CAD
607
+ - CDF
608
+ - CHF
609
+ - CLP
610
+ - CNY
611
+ - COP
612
+ - CRC
613
+ - CUC
614
+ - CUP
615
+ - CVE
616
+ - CZK
617
+ - DJF
618
+ - DKK
619
+ - DOP
620
+ - DZD
621
+ - EGP
622
+ - ERN
623
+ - ETB
624
+ - EUR
625
+ - FJD
626
+ - FKP
627
+ - GBP
628
+ - GEL
629
+ - GGP
630
+ - GHS
631
+ - GIP
632
+ - GMD
633
+ - GNF
634
+ - GTQ
635
+ - GYD
636
+ - HKD
637
+ - HNL
638
+ - HRK
639
+ - HTG
640
+ - HUF
641
+ - IDR
642
+ - ILS
643
+ - IMP
644
+ - INR
645
+ - IQD
646
+ - IRR
647
+ - ISK
648
+ - JEP
649
+ - JMD
650
+ - JOD
651
+ - JPY
652
+ - KES
653
+ - KGS
654
+ - KHR
655
+ - KMF
656
+ - KPW
657
+ - KRW
658
+ - KWD
659
+ - KYD
660
+ - KZT
661
+ - LAK
662
+ - LBP
663
+ - LKR
664
+ - LRD
665
+ - LSL
666
+ - LYD
667
+ - MAD
668
+ - MDL
669
+ - MGA
670
+ - MKD
671
+ - MMK
672
+ - MNT
673
+ - MOP
674
+ - MRO
675
+ - MUR
676
+ - MVR
677
+ - MWK
678
+ - MXN
679
+ - MYR
680
+ - MZN
681
+ - NAD
682
+ - NGN
683
+ - NIO
684
+ - NOK
685
+ - NPR
686
+ - NZD
687
+ - OMR
688
+ - PAB
689
+ - PEN
690
+ - PGK
691
+ - PHP
692
+ - PKR
693
+ - PLN
694
+ - PYG
695
+ - QAR
696
+ - RON
697
+ - RSD
698
+ - RUB
699
+ - RWF
700
+ - SAR
701
+ - SBD
702
+ - SCR
703
+ - SDG
704
+ - SEK
705
+ - SGD
706
+ - SHP
707
+ - SLL
708
+ - SOS
709
+ - SPL
710
+ - SRD
711
+ - STD
712
+ - SVC
713
+ - SYP
714
+ - SZL
715
+ - THB
716
+ - TJS
717
+ - TMT
718
+ - TND
719
+ - TOP
720
+ - TRY
721
+ - TTD
722
+ - TVD
723
+ - TWD
724
+ - TZS
725
+ - UAH
726
+ - UGX
727
+ - USD
728
+ - UYU
729
+ - UZS
730
+ - VEF
731
+ - VND
732
+ - VUV
733
+ - WST
734
+ - XAF
735
+ - XCD
736
+ - XDR
737
+ - XOF
738
+ - XPF
739
+ - XTS
740
+ - XXX
741
+ - YER
742
+ - ZAR
743
+ - ZMW
744
+ - ZWD
745
+ accountsRequest:
746
+ type: array
747
+ items:
748
+ type: object
749
+ required:
750
+ - idType
751
+ - idValue
752
+ - currency
753
+ properties:
754
+ idType:
755
+ $ref: '#/components/schemas/PartyIdType'
756
+ idValue:
757
+ $ref: '#/components/schemas/PartyIdentifier'
758
+ idSubValue:
759
+ $ref: '#/components/schemas/PartySubIdOrType'
760
+ currency:
761
+ $ref: '#/components/schemas/Currency'
762
+ CorrelationId:
763
+ title: CorrelationId
764
+ type: string
765
+ pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-7][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
766
+ description: Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).
767
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
768
+ errorResponse:
769
+ type: object
770
+ properties:
771
+ statusCode:
772
+ type: string
773
+ description: |
774
+ Backend error code from FSP. Ideally, statusCode is FSPIOP conforming. SDK will use status code to retrieve an FSPIOP error with the same code.
775
+ Otherwise, a suitable generic FSPIOP will be used with the errorResponse in the FSPIOP error message.
776
+ message:
777
+ type: string
778
+ description: Error message text.
779
+ accountCreationStatus:
780
+ type: array
781
+ items:
782
+ type: object
783
+ required:
784
+ - idType
785
+ - idValue
786
+ properties:
787
+ idType:
788
+ $ref: '#/components/schemas/PartyIdType'
789
+ idValue:
790
+ $ref: '#/components/schemas/PartyIdentifier'
791
+ idSubValue:
792
+ $ref: '#/components/schemas/PartySubIdOrType'
793
+ error:
794
+ $ref: '#/components/schemas/errorResponse'
795
+ accountsCreationState:
796
+ type: string
797
+ enum:
798
+ - ERROR_OCCURRED
799
+ - COMPLETED
800
+ ErrorCode:
801
+ title: ErrorCode
802
+ type: string
803
+ pattern: ^[1-9]\d{3}$
804
+ description: The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.
805
+ example: '5100'
806
+ ErrorDescription:
807
+ title: ErrorDescription
808
+ type: string
809
+ minLength: 1
810
+ maxLength: 128
811
+ description: Error description string.
812
+ ExtensionKey:
813
+ title: ExtensionKey
814
+ type: string
815
+ minLength: 1
816
+ maxLength: 32
817
+ description: Extension key.
818
+ ExtensionValue:
819
+ title: ExtensionValue
820
+ type: string
821
+ minLength: 1
822
+ maxLength: 128
823
+ description: Extension value.
824
+ Extension:
825
+ title: Extension
826
+ type: object
827
+ description: Data model for the complex type Extension.
828
+ properties:
829
+ key:
830
+ $ref: '#/components/schemas/ExtensionKey'
831
+ value:
832
+ $ref: '#/components/schemas/ExtensionValue'
833
+ required:
834
+ - key
835
+ - value
836
+ ExtensionList:
837
+ title: ExtensionList
838
+ type: object
839
+ description: Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.
840
+ properties:
841
+ extension:
842
+ type: array
843
+ items:
844
+ $ref: '#/components/schemas/Extension'
845
+ minItems: 1
846
+ maxItems: 16
847
+ description: Number of Extension elements.
848
+ required:
849
+ - extension
850
+ ErrorInformation:
851
+ title: ErrorInformation
852
+ type: object
853
+ description: Data model for the complex type ErrorInformation.
854
+ properties:
855
+ errorCode:
856
+ $ref: '#/components/schemas/ErrorCode'
857
+ errorDescription:
858
+ $ref: '#/components/schemas/ErrorDescription'
859
+ extensionList:
860
+ $ref: '#/components/schemas/ExtensionList'
861
+ required:
862
+ - errorCode
863
+ - errorDescription
864
+ mojaloopError:
865
+ type: object
866
+ properties:
867
+ errorInformation:
868
+ $ref: '#/components/schemas/ErrorInformation'
869
+ transferError:
870
+ type: object
871
+ description: This object represents a Mojaloop API error received at any time during the transfer process
872
+ properties:
873
+ httpStatusCode:
874
+ type: integer
875
+ description: The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response.
876
+ mojaloopError:
877
+ $ref: '#/components/schemas/mojaloopError'
878
+ accountsResponse:
879
+ type: object
880
+ required:
881
+ - accounts
882
+ properties:
883
+ modelId:
884
+ $ref: '#/components/schemas/CorrelationId'
885
+ accounts:
886
+ $ref: '#/components/schemas/accountsRequest'
887
+ response:
888
+ $ref: '#/components/schemas/accountCreationStatus'
889
+ currentState:
890
+ $ref: '#/components/schemas/accountsCreationState'
891
+ lastError:
892
+ $ref: '#/components/schemas/transferError'
893
+ postAccountsResponse:
894
+ type: object
895
+ required:
896
+ - body
897
+ properties:
898
+ body:
899
+ type: object
900
+ headers:
901
+ type: object
902
+ errorAccountsResponse:
903
+ allOf:
904
+ - $ref: '#/components/schemas/errorResponse'
905
+ - type: object
906
+ required:
907
+ - executionState
908
+ properties:
909
+ executionState:
910
+ $ref: '#/components/schemas/accountsResponse'
911
+ TransactionInitiatorType:
912
+ title: TransactionInitiatorType
913
+ type: string
914
+ enum:
915
+ - CONSUMER
916
+ - AGENT
917
+ - BUSINESS
918
+ - DEVICE
919
+ description: |-
920
+ Below are the allowed values for the enumeration.
921
+ - CONSUMER - Consumer is the initiator of the transaction.
922
+ - AGENT - Agent is the initiator of the transaction.
923
+ - BUSINESS - Business is the initiator of the transaction.
924
+ - DEVICE - Device is the initiator of the transaction.
925
+ example: CONSUMER
926
+ Name:
927
+ title: Name
928
+ type: string
929
+ pattern: ^(?!\s*$)[\w .,'-]{1,128}$
930
+ description: |-
931
+ The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.
932
+
933
+ 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 ( ).
934
+
935
+ **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters.
936
+ FirstName:
937
+ title: FirstName
938
+ type: string
939
+ minLength: 1
940
+ maxLength: 128
941
+ pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$
942
+ description: First name of the Party (Name Type).
943
+ example: Henrik
944
+ MiddleName:
945
+ title: MiddleName
946
+ type: string
947
+ minLength: 1
948
+ maxLength: 128
949
+ pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$
950
+ description: Middle name of the Party (Name Type).
951
+ example: Johannes
952
+ LastName:
953
+ title: LastName
954
+ type: string
955
+ minLength: 1
956
+ maxLength: 128
957
+ pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$
958
+ description: Last name of the Party (Name Type).
959
+ example: Karlsson
960
+ DateOfBirth:
961
+ title: DateofBirth (type Date)
962
+ type: string
963
+ 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)$
964
+ description: Date of Birth of the Party.
965
+ example: '1966-06-16'
966
+ MerchantClassificationCode:
967
+ title: MerchantClassificationCode
968
+ type: string
969
+ pattern: ^[\d]{1,4}$
970
+ description: A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc.
971
+ FspId:
972
+ title: FspId
973
+ type: string
974
+ minLength: 1
975
+ maxLength: 32
976
+ description: FSP identifier.
977
+ KYCInformation:
978
+ title: KYCInformation
979
+ type: string
980
+ minLength: 1
981
+ maxLength: 2048
982
+ description: KYC information for the party in a form mandated by an individual scheme.
983
+ example: |-
984
+ {
985
+ "metadata": {
986
+ "format": "JSON",
987
+ "version": "1.0",
988
+ "description": "Data containing KYC Information"
989
+ },
990
+ "data": {
991
+ "name": "John Doe",
992
+ "dob": "1980-05-15",
993
+ "gender": "Male",
994
+ "address": "123 Main Street, Anytown, USA",
995
+ "email": "johndoe@example.com",
996
+ "phone": "+1 555-123-4567",
997
+ "nationality": "US",
998
+ "passport_number": "AB1234567",
999
+ "issue_date": "2010-02-20",
1000
+ "expiry_date": "2025-02-20",
1001
+ "bank_account_number": "1234567890",
1002
+ "bank_name": "Example Bank",
1003
+ "employer": "ABC Company",
1004
+ "occupation": "Software Engineer",
1005
+ "income": "$80,000 per year",
1006
+ "marital_status": "Single",
1007
+ "dependents": 0,
1008
+ "risk_level": "Low"
1009
+ }
1010
+ }
1011
+ extensionListEmptiable:
1012
+ type: array
1013
+ items:
1014
+ $ref: '#/components/schemas/Extension'
1015
+ minItems: 0
1016
+ maxItems: 16
1017
+ transferParty:
1018
+ type: object
1019
+ required:
1020
+ - idType
1021
+ - idValue
1022
+ properties:
1023
+ type:
1024
+ $ref: '#/components/schemas/TransactionInitiatorType'
1025
+ idType:
1026
+ $ref: '#/components/schemas/PartyIdType'
1027
+ idValue:
1028
+ $ref: '#/components/schemas/PartyIdentifier'
1029
+ idSubValue:
1030
+ $ref: '#/components/schemas/PartySubIdOrType'
1031
+ displayName:
1032
+ $ref: '#/components/schemas/Name'
1033
+ firstName:
1034
+ $ref: '#/components/schemas/FirstName'
1035
+ middleName:
1036
+ $ref: '#/components/schemas/MiddleName'
1037
+ lastName:
1038
+ $ref: '#/components/schemas/LastName'
1039
+ dateOfBirth:
1040
+ $ref: '#/components/schemas/DateOfBirth'
1041
+ merchantClassificationCode:
1042
+ $ref: '#/components/schemas/MerchantClassificationCode'
1043
+ fspId:
1044
+ $ref: '#/components/schemas/FspId'
1045
+ supportedCurrencies:
1046
+ type: array
1047
+ description: Currencies in which the party can receive funds.
1048
+ items:
1049
+ $ref: '#/components/schemas/Currency'
1050
+ minItems: 0
1051
+ maxItems: 16
1052
+ kycInformation:
1053
+ $ref: '#/components/schemas/KYCInformation'
1054
+ extensionList:
1055
+ $ref: '#/components/schemas/extensionListEmptiable'
1056
+ AmountType:
1057
+ title: AmountType
1058
+ type: string
1059
+ enum:
1060
+ - SEND
1061
+ - RECEIVE
1062
+ description: |-
1063
+ Below are the allowed values for the enumeration AmountType.
1064
+ - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.
1065
+ - 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.
1066
+ example: RECEIVE
1067
+ Amount:
1068
+ title: Amount
1069
+ type: string
1070
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1071
+ description: The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.
1072
+ example: '123.45'
1073
+ transferTransactionType:
1074
+ title: transferTransactionType
1075
+ type: string
1076
+ enum:
1077
+ - TRANSFER
1078
+ description: Type of transaction.
1079
+ TransactionSubScenario:
1080
+ title: TransactionSubScenario
1081
+ type: string
1082
+ pattern: ^[A-Z_]{1,32}$
1083
+ description: Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).
1084
+ example: LOCALLY_DEFINED_SUBSCENARIO
1085
+ Note:
1086
+ title: Note
1087
+ type: string
1088
+ minLength: 1
1089
+ maxLength: 128
1090
+ description: Memo assigned to transaction.
1091
+ example: Note sent to Payee.
1092
+ individualQuote:
1093
+ title: IndividualQuote
1094
+ type: object
1095
+ description: Data model for the complex type 'individualQuote'.
1096
+ properties:
1097
+ quoteId:
1098
+ $ref: '#/components/schemas/CorrelationId'
1099
+ to:
1100
+ $ref: '#/components/schemas/transferParty'
1101
+ amountType:
1102
+ $ref: '#/components/schemas/AmountType'
1103
+ currency:
1104
+ $ref: '#/components/schemas/Currency'
1105
+ amount:
1106
+ $ref: '#/components/schemas/Amount'
1107
+ transactionType:
1108
+ $ref: '#/components/schemas/transferTransactionType'
1109
+ subScenario:
1110
+ $ref: '#/components/schemas/TransactionSubScenario'
1111
+ note:
1112
+ $ref: '#/components/schemas/Note'
1113
+ extensions:
1114
+ $ref: '#/components/schemas/ExtensionList'
1115
+ required:
1116
+ - quoteId
1117
+ - to
1118
+ - amountType
1119
+ - currency
1120
+ - transactionType
1121
+ - amount
1122
+ bulkQuoteRequest:
1123
+ type: object
1124
+ required:
1125
+ - homeTransactionId
1126
+ - from
1127
+ - individualQuotes
1128
+ properties:
1129
+ homeTransactionId:
1130
+ type: string
1131
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
1132
+ bulkQuoteId:
1133
+ $ref: '#/components/schemas/CorrelationId'
1134
+ from:
1135
+ $ref: '#/components/schemas/transferParty'
1136
+ individualQuotes:
1137
+ description: List of individual quotes in a bulk quote.
1138
+ type: array
1139
+ minItems: 1
1140
+ maxItems: 1000
1141
+ items:
1142
+ $ref: '#/components/schemas/individualQuote'
1143
+ extensions:
1144
+ $ref: '#/components/schemas/ExtensionList'
1145
+ DateTime:
1146
+ title: DateTime
1147
+ type: string
1148
+ 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)$
1149
+ description: The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC).
1150
+ example: '2016-05-24T08:38:08.699-04:00'
1151
+ bulkTransferStatus:
1152
+ type: string
1153
+ enum:
1154
+ - ERROR_OCCURRED
1155
+ - COMPLETED
1156
+ Money:
1157
+ title: Money
1158
+ type: object
1159
+ description: Data model for the complex type Money.
1160
+ properties:
1161
+ currency:
1162
+ $ref: '#/components/schemas/Currency'
1163
+ amount:
1164
+ $ref: '#/components/schemas/Amount'
1165
+ required:
1166
+ - currency
1167
+ - amount
1168
+ Latitude:
1169
+ title: Latitude
1170
+ type: string
1171
+ pattern: ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$
1172
+ description: The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.
1173
+ example: '+45.4215'
1174
+ Longitude:
1175
+ title: Longitude
1176
+ type: string
1177
+ pattern: ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
1178
+ description: The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.
1179
+ example: '+75.6972'
1180
+ GeoCode:
1181
+ title: GeoCode
1182
+ type: object
1183
+ description: Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.
1184
+ properties:
1185
+ latitude:
1186
+ $ref: '#/components/schemas/Latitude'
1187
+ longitude:
1188
+ $ref: '#/components/schemas/Longitude'
1189
+ required:
1190
+ - latitude
1191
+ - longitude
1192
+ IlpPacket:
1193
+ title: IlpPacket
1194
+ type: string
1195
+ pattern: ^[A-Za-z0-9-_]+[=]{0,2}$
1196
+ minLength: 1
1197
+ maxLength: 32768
1198
+ description: Information for recipient (transport layer information).
1199
+ example: AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA
1200
+ IlpCondition:
1201
+ title: IlpCondition
1202
+ type: string
1203
+ pattern: ^[A-Za-z0-9-_]{43}$
1204
+ maxLength: 48
1205
+ description: Condition that must be attached to the transfer by the Payer.
1206
+ quoteError:
1207
+ type: object
1208
+ description: This object represents a Mojaloop API error received at any time during the quote process
1209
+ properties:
1210
+ httpStatusCode:
1211
+ type: integer
1212
+ description: The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response.
1213
+ mojaloopError:
1214
+ $ref: '#/components/schemas/mojaloopError'
1215
+ individualQuoteResult:
1216
+ type: object
1217
+ properties:
1218
+ quoteId:
1219
+ $ref: '#/components/schemas/CorrelationId'
1220
+ transferAmount:
1221
+ $ref: '#/components/schemas/Money'
1222
+ payeeReceiveAmount:
1223
+ $ref: '#/components/schemas/Money'
1224
+ payeeFspFee:
1225
+ $ref: '#/components/schemas/Money'
1226
+ payeeFspCommission:
1227
+ $ref: '#/components/schemas/Money'
1228
+ geoCode:
1229
+ $ref: '#/components/schemas/GeoCode'
1230
+ ilpPacket:
1231
+ $ref: '#/components/schemas/IlpPacket'
1232
+ condition:
1233
+ $ref: '#/components/schemas/IlpCondition'
1234
+ extensionList:
1235
+ $ref: '#/components/schemas/ExtensionList'
1236
+ lastError:
1237
+ $ref: '#/components/schemas/quoteError'
1238
+ required:
1239
+ - quoteId
1240
+ bulkQuoteResponse:
1241
+ type: object
1242
+ required:
1243
+ - bulkQuoteId
1244
+ - individualQuoteResults
1245
+ - currentState
1246
+ - expiration
1247
+ properties:
1248
+ bulkQuoteId:
1249
+ $ref: '#/components/schemas/CorrelationId'
1250
+ homeTransactionId:
1251
+ type: string
1252
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
1253
+ expiration:
1254
+ $ref: '#/components/schemas/DateTime'
1255
+ extensionList:
1256
+ $ref: '#/components/schemas/ExtensionList'
1257
+ currentState:
1258
+ $ref: '#/components/schemas/bulkTransferStatus'
1259
+ individualQuoteResults:
1260
+ type: array
1261
+ maxItems: 1000
1262
+ items:
1263
+ $ref: '#/components/schemas/individualQuoteResult'
1264
+ description: List of individualQuoteResults in a bulk transfer response.
1265
+ bulkQuoteErrorResponse:
1266
+ allOf:
1267
+ - $ref: '#/components/schemas/errorResponse'
1268
+ - type: object
1269
+ required:
1270
+ - bulkQuoteState
1271
+ properties:
1272
+ bulkQuoteState:
1273
+ $ref: '#/components/schemas/bulkQuoteResponse'
1274
+ bulkQuoteStatus:
1275
+ type: string
1276
+ enum:
1277
+ - ERROR_OCCURRED
1278
+ - COMPLETED
1279
+ bulkQuoteStatusResponse:
1280
+ type: object
1281
+ required:
1282
+ - bulkQuoteId
1283
+ - currentState
1284
+ - individualQuotes
1285
+ properties:
1286
+ bulkQuoteId:
1287
+ $ref: '#/components/schemas/CorrelationId'
1288
+ currentState:
1289
+ $ref: '#/components/schemas/bulkQuoteStatus'
1290
+ individualQuotes:
1291
+ type: array
1292
+ minItems: 1
1293
+ maxItems: 1000
1294
+ items:
1295
+ $ref: '#/components/schemas/individualQuote'
1296
+ autoAcceptPartyOption:
1297
+ type: object
1298
+ required:
1299
+ - enabled
1300
+ properties:
1301
+ enabled:
1302
+ type: boolean
1303
+ enum:
1304
+ - false
1305
+ - true
1306
+ bulkPerTransferFeeLimit:
1307
+ type: object
1308
+ required:
1309
+ - currency
1310
+ - amount
1311
+ properties:
1312
+ currency:
1313
+ $ref: '#/components/schemas/Currency'
1314
+ amount:
1315
+ $ref: '#/components/schemas/Amount'
1316
+ autoAcceptQuote:
1317
+ type: object
1318
+ required:
1319
+ - enabled
1320
+ properties:
1321
+ enabled:
1322
+ type: boolean
1323
+ enum:
1324
+ - true
1325
+ - false
1326
+ perTransferFeeLimits:
1327
+ type: array
1328
+ minItems: 0
1329
+ items:
1330
+ $ref: '#/components/schemas/bulkPerTransferFeeLimit'
1331
+ bulkTransactionOptions:
1332
+ type: object
1333
+ required:
1334
+ - autoAcceptParty
1335
+ - autoAcceptQuote
1336
+ - bulkExpiration
1337
+ properties:
1338
+ onlyValidateParty:
1339
+ 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.
1340
+ type: boolean
1341
+ autoAcceptParty:
1342
+ $ref: '#/components/schemas/autoAcceptPartyOption'
1343
+ autoAcceptQuote:
1344
+ 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.
1345
+ type: object
1346
+ oneOf:
1347
+ - $ref: '#/components/schemas/autoAcceptQuote'
1348
+ skipPartyLookup:
1349
+ 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.
1350
+ type: boolean
1351
+ synchronous:
1352
+ 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
1353
+ type: boolean
1354
+ bulkExpiration:
1355
+ $ref: '#/components/schemas/DateTime'
1356
+ PartyIdInfo:
1357
+ title: PartyIdInfo
1358
+ type: object
1359
+ description: Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1
1360
+ properties:
1361
+ partyIdType:
1362
+ $ref: '#/components/schemas/PartyIdType'
1363
+ partyIdentifier:
1364
+ $ref: '#/components/schemas/PartyIdentifier'
1365
+ partySubIdOrType:
1366
+ $ref: '#/components/schemas/PartySubIdOrType'
1367
+ fspId:
1368
+ $ref: '#/components/schemas/FspId'
1369
+ extensionList:
1370
+ $ref: '#/components/schemas/ExtensionList'
1371
+ required:
1372
+ - partyIdType
1373
+ - partyIdentifier
1374
+ PartyName:
1375
+ title: PartyName
1376
+ type: string
1377
+ minLength: 1
1378
+ maxLength: 128
1379
+ description: Name of the Party. Could be a real name or a nickname.
1380
+ PartyComplexName:
1381
+ title: PartyComplexName
1382
+ type: object
1383
+ description: Data model for the complex type PartyComplexName.
1384
+ properties:
1385
+ firstName:
1386
+ $ref: '#/components/schemas/FirstName'
1387
+ middleName:
1388
+ $ref: '#/components/schemas/MiddleName'
1389
+ lastName:
1390
+ $ref: '#/components/schemas/LastName'
1391
+ PartyPersonalInfo:
1392
+ title: PartyPersonalInfo
1393
+ type: object
1394
+ description: Data model for the complex type PartyPersonalInfo.
1395
+ properties:
1396
+ complexName:
1397
+ $ref: '#/components/schemas/PartyComplexName'
1398
+ dateOfBirth:
1399
+ $ref: '#/components/schemas/DateOfBirth'
1400
+ kycInformation:
1401
+ $ref: '#/components/schemas/KYCInformation'
1402
+ Party:
1403
+ title: Party
1404
+ type: object
1405
+ description: Data model for the complex type Party.
1406
+ properties:
1407
+ partyIdInfo:
1408
+ $ref: '#/components/schemas/PartyIdInfo'
1409
+ merchantClassificationCode:
1410
+ $ref: '#/components/schemas/MerchantClassificationCode'
1411
+ name:
1412
+ $ref: '#/components/schemas/PartyName'
1413
+ personalInfo:
1414
+ $ref: '#/components/schemas/PartyPersonalInfo'
1415
+ supportedCurrencies:
1416
+ type: array
1417
+ description: Currencies in which the party can receive funds.
1418
+ items:
1419
+ $ref: '#/components/schemas/Currency'
1420
+ minItems: 0
1421
+ maxItems: 16
1422
+ required:
1423
+ - partyIdInfo
1424
+ bulkTransactionIndividualTransfer:
1425
+ title: BulkTransactionIndividualTransfer
1426
+ type: object
1427
+ description: Data model for the complex type 'bulkTransactionIndividualTransfer'.
1428
+ properties:
1429
+ homeTransactionId:
1430
+ type: string
1431
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
1432
+ to:
1433
+ $ref: '#/components/schemas/Party'
1434
+ reference:
1435
+ description: Payer Loan reference
1436
+ type: string
1437
+ amountType:
1438
+ $ref: '#/components/schemas/AmountType'
1439
+ currency:
1440
+ $ref: '#/components/schemas/Currency'
1441
+ amount:
1442
+ $ref: '#/components/schemas/Amount'
1443
+ note:
1444
+ $ref: '#/components/schemas/Note'
1445
+ quoteExtensions:
1446
+ $ref: '#/components/schemas/ExtensionList'
1447
+ transferExtensions:
1448
+ $ref: '#/components/schemas/ExtensionList'
1449
+ lastError:
1450
+ $ref: '#/components/schemas/transferError'
1451
+ required:
1452
+ - homeTransactionId
1453
+ - to
1454
+ - amountType
1455
+ - currency
1456
+ - amount
1457
+ bulkTransactionRequest:
1458
+ type: object
1459
+ required:
1460
+ - bulkTransactionId
1461
+ - bulkHomeTransactionID
1462
+ - options
1463
+ - from
1464
+ - individualTransfers
1465
+ properties:
1466
+ bulkHomeTransactionID:
1467
+ type: string
1468
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
1469
+ bulkTransactionId:
1470
+ $ref: '#/components/schemas/CorrelationId'
1471
+ options:
1472
+ $ref: '#/components/schemas/bulkTransactionOptions'
1473
+ from:
1474
+ $ref: '#/components/schemas/Party'
1475
+ individualTransfers:
1476
+ description: List of individual transfers in a bulk transfer.
1477
+ type: array
1478
+ minItems: 1
1479
+ items:
1480
+ $ref: '#/components/schemas/bulkTransactionIndividualTransfer'
1481
+ extensions:
1482
+ $ref: '#/components/schemas/ExtensionList'
1483
+ TransferState:
1484
+ title: TransferState
1485
+ type: string
1486
+ enum:
1487
+ - RECEIVED
1488
+ - RESERVED
1489
+ - COMMITTED
1490
+ - ABORTED
1491
+ description: |-
1492
+ Below are the allowed values for the enumeration.
1493
+ - RECEIVED - Next ledger has received the transfer.
1494
+ - RESERVED - Next ledger has reserved the transfer.
1495
+ - COMMITTED - Next ledger has successfully performed the transfer.
1496
+ - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.
1497
+ example: RESERVED
1498
+ IlpFulfilment:
1499
+ title: IlpFulfilment
1500
+ type: string
1501
+ pattern: ^[A-Za-z0-9-_]{43}$
1502
+ maxLength: 48
1503
+ description: Fulfilment that must be attached to the transfer by the Payee.
1504
+ example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
1505
+ individualTransferResult:
1506
+ type: object
1507
+ required:
1508
+ - transferId
1509
+ properties:
1510
+ transferId:
1511
+ $ref: '#/components/schemas/CorrelationId'
1512
+ fulfilment:
1513
+ $ref: '#/components/schemas/IlpFulfilment'
1514
+ extensionList:
1515
+ $ref: '#/components/schemas/ExtensionList'
1516
+ transferState:
1517
+ $ref: '#/components/schemas/TransferState'
1518
+ lastError:
1519
+ $ref: '#/components/schemas/transferError'
1520
+ bulkTransferResponse:
1521
+ type: object
1522
+ required:
1523
+ - bulkTransferId
1524
+ - individualTransferResults
1525
+ - currentState
1526
+ properties:
1527
+ bulkTransferId:
1528
+ $ref: '#/components/schemas/CorrelationId'
1529
+ bulkQuoteId:
1530
+ $ref: '#/components/schemas/CorrelationId'
1531
+ homeTransactionId:
1532
+ type: string
1533
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
1534
+ bulkTransferState:
1535
+ $ref: '#/components/schemas/TransferState'
1536
+ completedTimestamp:
1537
+ $ref: '#/components/schemas/DateTime'
1538
+ extensionList:
1539
+ $ref: '#/components/schemas/ExtensionList'
1540
+ currentState:
1541
+ $ref: '#/components/schemas/bulkTransferStatus'
1542
+ individualTransferResults:
1543
+ type: array
1544
+ maxItems: 1000
1545
+ items:
1546
+ $ref: '#/components/schemas/individualTransferResult'
1547
+ description: List of individual transfer result in a bulk transfer response.
1548
+ bulkTransferErrorResponse:
1549
+ allOf:
1550
+ - $ref: '#/components/schemas/errorResponse'
1551
+ - type: object
1552
+ required:
1553
+ - bulkTransferState
1554
+ properties:
1555
+ bulkTransferState:
1556
+ $ref: '#/components/schemas/bulkTransferResponse'
1557
+ bulkTransactionIndividualTransferAccept:
1558
+ type: object
1559
+ description: Data model for the 'individualTransfer' while accepting party or quote.
1560
+ properties:
1561
+ transferId:
1562
+ $ref: '#/components/schemas/CorrelationId'
1563
+ required:
1564
+ - transferId
1565
+ transferContinuationAcceptParty:
1566
+ type: object
1567
+ required:
1568
+ - acceptParty
1569
+ properties:
1570
+ acceptParty:
1571
+ type: boolean
1572
+ enum:
1573
+ - true
1574
+ - false
1575
+ bulkTransactionContinuationAcceptParty:
1576
+ description: The object sent back as confirmation of payee parties when autoAcceptParty is false.
1577
+ type: object
1578
+ required:
1579
+ - individualTransfers
1580
+ properties:
1581
+ individualTransfers:
1582
+ description: List of individual transfers in a bulk transfer with accept party information.
1583
+ type: array
1584
+ minItems: 1
1585
+ items:
1586
+ allOf:
1587
+ - $ref: '#/components/schemas/bulkTransactionIndividualTransferAccept'
1588
+ - $ref: '#/components/schemas/transferContinuationAcceptParty'
1589
+ transferContinuationAcceptQuote:
1590
+ type: object
1591
+ required:
1592
+ - acceptQuote
1593
+ properties:
1594
+ acceptQuote:
1595
+ type: boolean
1596
+ enum:
1597
+ - true
1598
+ - false
1599
+ bulkTransactionContinuationAcceptQuote:
1600
+ description: The object sent back as confirmation of quotes when autoAcceptQuotes is false.
1601
+ type: object
1602
+ required:
1603
+ - individualTransfers
1604
+ properties:
1605
+ individualTransfers:
1606
+ description: List of individual transfers in a bulk transfer.
1607
+ type: array
1608
+ minItems: 1
1609
+ items:
1610
+ allOf:
1611
+ - $ref: '#/components/schemas/bulkTransactionIndividualTransferAccept'
1612
+ - $ref: '#/components/schemas/transferContinuationAcceptQuote'
1613
+ partyError:
1614
+ type: object
1615
+ description: This object represents a Mojaloop API error received at any time during the party discovery process
1616
+ properties:
1617
+ httpStatusCode:
1618
+ type: integer
1619
+ description: The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response.
1620
+ mojaloopError:
1621
+ $ref: '#/components/schemas/mojaloopError'
1622
+ bulkTransactionAcceptPartyErrorResponse:
1623
+ allOf:
1624
+ - $ref: '#/components/schemas/errorResponse'
1625
+ - type: object
1626
+ required:
1627
+ - bulkTransferState
1628
+ properties:
1629
+ bulkTransferState:
1630
+ allOf:
1631
+ - $ref: '#/components/schemas/bulkTransactionContinuationAcceptParty'
1632
+ - $ref: '#/components/schemas/partyError'
1633
+ bulkTransactionAcceptQuoteErrorResponse:
1634
+ allOf:
1635
+ - $ref: '#/components/schemas/errorResponse'
1636
+ - type: object
1637
+ required:
1638
+ - bulkTansferState
1639
+ properties:
1640
+ bulkTransferState:
1641
+ allOf:
1642
+ - $ref: '#/components/schemas/bulkTransactionContinuationAcceptQuote'
1643
+ - $ref: '#/components/schemas/quoteError'
1644
+ individualTransfer:
1645
+ title: IndividualTransfer
1646
+ type: object
1647
+ description: Data model for the complex type 'individualTransfer'.
1648
+ properties:
1649
+ transferId:
1650
+ $ref: '#/components/schemas/CorrelationId'
1651
+ to:
1652
+ $ref: '#/components/schemas/transferParty'
1653
+ amountType:
1654
+ $ref: '#/components/schemas/AmountType'
1655
+ currency:
1656
+ $ref: '#/components/schemas/Currency'
1657
+ amount:
1658
+ $ref: '#/components/schemas/Amount'
1659
+ transactionType:
1660
+ $ref: '#/components/schemas/transferTransactionType'
1661
+ subScenario:
1662
+ $ref: '#/components/schemas/TransactionSubScenario'
1663
+ ilpPacket:
1664
+ $ref: '#/components/schemas/IlpPacket'
1665
+ condition:
1666
+ $ref: '#/components/schemas/IlpCondition'
1667
+ note:
1668
+ $ref: '#/components/schemas/Note'
1669
+ extensions:
1670
+ $ref: '#/components/schemas/ExtensionList'
1671
+ required:
1672
+ - transferId
1673
+ - to
1674
+ - amountType
1675
+ - currency
1676
+ - amount
1677
+ - ilpPacket
1678
+ - condition
1679
+ bulkTransferRequest:
1680
+ type: object
1681
+ required:
1682
+ - bulkTransferId
1683
+ - homeTransactionId
1684
+ - bulkQuoteId
1685
+ - from
1686
+ - individualTransfers
1687
+ properties:
1688
+ homeTransactionId:
1689
+ type: string
1690
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
1691
+ bulkTransferId:
1692
+ $ref: '#/components/schemas/CorrelationId'
1693
+ bulkQuoteId:
1694
+ $ref: '#/components/schemas/CorrelationId'
1695
+ from:
1696
+ $ref: '#/components/schemas/transferParty'
1697
+ individualTransfers:
1698
+ description: List of individual transfers in a bulk transfer.
1699
+ type: array
1700
+ minItems: 1
1701
+ maxItems: 1000
1702
+ items:
1703
+ $ref: '#/components/schemas/individualTransfer'
1704
+ extensions:
1705
+ $ref: '#/components/schemas/ExtensionList'
1706
+ individualTransferFulfilment:
1707
+ type: object
1708
+ description: A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer
1709
+ properties:
1710
+ fulfilment:
1711
+ $ref: '#/components/schemas/IlpFulfilment'
1712
+ extensionList:
1713
+ $ref: '#/components/schemas/ExtensionList'
1714
+ bulkTransferStatusResponse:
1715
+ type: object
1716
+ required:
1717
+ - bulkTransferId
1718
+ - currentState
1719
+ - fulfils
1720
+ properties:
1721
+ bulkTransferId:
1722
+ $ref: '#/components/schemas/CorrelationId'
1723
+ currentState:
1724
+ $ref: '#/components/schemas/bulkTransferStatus'
1725
+ fulfils:
1726
+ type: array
1727
+ minItems: 1
1728
+ maxItems: 1000
1729
+ items:
1730
+ $ref: '#/components/schemas/individualTransferFulfilment'
1731
+ async2SyncCurrentState:
1732
+ type: string
1733
+ enum:
1734
+ - WAITING_FOR_ACTION
1735
+ - COMPLETED
1736
+ - ERROR_OCCURRED
1737
+ partiesByIdResponse:
1738
+ title: partiesByIdResponse
1739
+ type: object
1740
+ description: GET /parties/{Type}/{ID} response object
1741
+ properties:
1742
+ party:
1743
+ properties:
1744
+ body:
1745
+ $ref: '#/components/schemas/Party'
1746
+ headers:
1747
+ type: object
1748
+ required:
1749
+ - body
1750
+ - headers
1751
+ currentState:
1752
+ $ref: '#/components/schemas/async2SyncCurrentState'
1753
+ required:
1754
+ - party
1755
+ - currentState
1756
+ TransactionScenario:
1757
+ title: TransactionScenario
1758
+ type: string
1759
+ enum:
1760
+ - DEPOSIT
1761
+ - WITHDRAWAL
1762
+ - TRANSFER
1763
+ - PAYMENT
1764
+ - REFUND
1765
+ description: |-
1766
+ Below are the allowed values for the enumeration.
1767
+ - 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.
1768
+ - 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.
1769
+ - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.
1770
+ - 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.
1771
+ - REFUND - Used for performing a refund of transaction.
1772
+ example: DEPOSIT
1773
+ TransactionInitiator:
1774
+ title: TransactionInitiator
1775
+ type: string
1776
+ enum:
1777
+ - PAYER
1778
+ - PAYEE
1779
+ description: |-
1780
+ Below are the allowed values for the enumeration.
1781
+ - 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.
1782
+ - 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.
1783
+ example: PAYEE
1784
+ RefundReason:
1785
+ title: RefundReason
1786
+ type: string
1787
+ minLength: 1
1788
+ maxLength: 128
1789
+ description: Reason for the refund.
1790
+ example: Free text indicating reason for the refund.
1791
+ Refund:
1792
+ title: Refund
1793
+ type: object
1794
+ description: Data model for the complex type Refund.
1795
+ properties:
1796
+ originalTransactionId:
1797
+ $ref: '#/components/schemas/CorrelationId'
1798
+ refundReason:
1799
+ $ref: '#/components/schemas/RefundReason'
1800
+ required:
1801
+ - originalTransactionId
1802
+ BalanceOfPayments:
1803
+ title: BalanceOfPayments
1804
+ type: string
1805
+ pattern: ^[1-9]\d{2}$
1806
+ 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.
1807
+ example: '123'
1808
+ TransactionType:
1809
+ title: TransactionType
1810
+ type: object
1811
+ description: Data model for the complex type TransactionType.
1812
+ properties:
1813
+ scenario:
1814
+ $ref: '#/components/schemas/TransactionScenario'
1815
+ subScenario:
1816
+ $ref: '#/components/schemas/TransactionSubScenario'
1817
+ initiator:
1818
+ $ref: '#/components/schemas/TransactionInitiator'
1819
+ initiatorType:
1820
+ $ref: '#/components/schemas/TransactionInitiatorType'
1821
+ refundInfo:
1822
+ $ref: '#/components/schemas/Refund'
1823
+ balanceOfPayments:
1824
+ $ref: '#/components/schemas/BalanceOfPayments'
1825
+ required:
1826
+ - scenario
1827
+ - initiator
1828
+ - initiatorType
1829
+ CurrencyConverter:
1830
+ title: CurrencyConverter
1831
+ type: string
1832
+ enum:
1833
+ - PAYER
1834
+ - PAYEE
1835
+ description: Below are the allowed values for the enumeration CurrencyConverter. - PAYER - Currency conversion should be performed by the payer. - PAYEE - Currency conversion should be performed by the payee.
1836
+ FxRate:
1837
+ title: FxRate
1838
+ type: object
1839
+ description: The FxRate object contains information about a currency conversion in the transfer. It can be used by parties to the transfer to exchange information with each other about the exchange rate for the transfer, to ensure that the best rate can be agreed on.
1840
+ properties:
1841
+ sourceAmount:
1842
+ allOf:
1843
+ - $ref: '#/components/schemas/Money'
1844
+ - description: The amount of the transfer in the source currency.
1845
+ targetAmount:
1846
+ allOf:
1847
+ - $ref: '#/components/schemas/Money'
1848
+ - description: The amount of the transfer in the target currency.
1849
+ required:
1850
+ - sourceAmount
1851
+ - targetAmount
1852
+ QuotesPostRequest:
1853
+ title: QuotesPostRequest
1854
+ type: object
1855
+ description: The object sent in the POST /quotes request.
1856
+ properties:
1857
+ quoteId:
1858
+ $ref: '#/components/schemas/CorrelationId'
1859
+ transactionId:
1860
+ $ref: '#/components/schemas/CorrelationId'
1861
+ transactionRequestId:
1862
+ $ref: '#/components/schemas/CorrelationId'
1863
+ payee:
1864
+ $ref: '#/components/schemas/Party'
1865
+ payer:
1866
+ $ref: '#/components/schemas/Party'
1867
+ amountType:
1868
+ $ref: '#/components/schemas/AmountType'
1869
+ amount:
1870
+ $ref: '#/components/schemas/Money'
1871
+ fees:
1872
+ $ref: '#/components/schemas/Money'
1873
+ transactionType:
1874
+ $ref: '#/components/schemas/TransactionType'
1875
+ converter:
1876
+ allOf:
1877
+ - $ref: '#/components/schemas/CurrencyConverter'
1878
+ - description: An optional field which will allow the payer DFSP to specify which DFSP it wants to undertake currency conversion. This is useful incase of if the sender wants the recipient to receive a specified amount of the target currency, but the payer DFSP does not want to undertake the currency conversion. In this case, the amount of the transfer would be expressed in the target currency and the amountType would be set to RECEIVE.
1879
+ currencyConversion:
1880
+ allOf:
1881
+ - $ref: '#/components/schemas/FxRate'
1882
+ - description: Used by the debtor party if it wants to share information about the currency conversion it proposes to make; or if it is required by scheme rules to share this information. This object contains the amount of the transfer in the source and target currencies, but does not identify the FXP being used.
1883
+ geoCode:
1884
+ $ref: '#/components/schemas/GeoCode'
1885
+ note:
1886
+ $ref: '#/components/schemas/Note'
1887
+ expiration:
1888
+ $ref: '#/components/schemas/DateTime'
1889
+ extensionList:
1890
+ $ref: '#/components/schemas/ExtensionList'
1891
+ required:
1892
+ - quoteId
1893
+ - transactionId
1894
+ - payee
1895
+ - payer
1896
+ - amountType
1897
+ - amount
1898
+ - transactionType
1899
+ simpleQuotesPostRequest:
1900
+ title: simpleQuotesPostRequest
1901
+ type: object
1902
+ properties:
1903
+ fspId:
1904
+ $ref: '#/components/schemas/FspId'
1905
+ quotesPostRequest:
1906
+ $ref: '#/components/schemas/QuotesPostRequest'
1907
+ required:
1908
+ - fspId
1909
+ - quotesPostRequest
1910
+ quotesPostResponse:
1911
+ title: QuotesPostResponse
1912
+ type: object
1913
+ properties:
1914
+ quotes:
1915
+ title: QuotesIDPutResponse
1916
+ type: object
1917
+ description: The object sent in the PUT /quotes/{ID} callback.
1918
+ properties:
1919
+ body:
1920
+ type: object
1921
+ properties:
1922
+ transferAmount:
1923
+ $ref: '#/components/schemas/Money'
1924
+ payeeReceiveAmount:
1925
+ $ref: '#/components/schemas/Money'
1926
+ payeeFspFee:
1927
+ $ref: '#/components/schemas/Money'
1928
+ payeeFspCommission:
1929
+ $ref: '#/components/schemas/Money'
1930
+ expiration:
1931
+ type: string
1932
+ description: Date and time until when the quotation is valid and can be honored when used in the subsequent transaction.
1933
+ example: '2016-05-24T08:38:08.699-04:00'
1934
+ geoCode:
1935
+ $ref: '#/components/schemas/GeoCode'
1936
+ ilpPacket:
1937
+ $ref: '#/components/schemas/IlpPacket'
1938
+ condition:
1939
+ $ref: '#/components/schemas/IlpCondition'
1940
+ extensionList:
1941
+ $ref: '#/components/schemas/ExtensionList'
1942
+ required:
1943
+ - transferAmount
1944
+ - expiration
1945
+ - ilpPacket
1946
+ - condition
1947
+ headers:
1948
+ type: object
1949
+ required:
1950
+ - body
1951
+ - headers
1952
+ currentState:
1953
+ $ref: '#/components/schemas/async2SyncCurrentState'
1954
+ required:
1955
+ - quotes
1956
+ - currentState
1957
+ errorQuotesResponse:
1958
+ allOf:
1959
+ - $ref: '#/components/schemas/errorResponse'
1960
+ - type: object
1961
+ AuthenticationType:
1962
+ title: AuthenticationType
1963
+ type: string
1964
+ enum:
1965
+ - OTP
1966
+ - QRCODE
1967
+ - U2F
1968
+ description: |-
1969
+ Below are the allowed values for the enumeration AuthenticationType.
1970
+ - OTP - One-time password generated by the Payer FSP.
1971
+ - QRCODE - QR code used as One Time Password.
1972
+ - U2F - U2F is a new addition isolated to Thirdparty stream.
1973
+ example: OTP
1974
+ requestToPayRequest:
1975
+ type: object
1976
+ required:
1977
+ - homeR2PTransactionId
1978
+ - from
1979
+ - to
1980
+ - amountType
1981
+ - currency
1982
+ - amount
1983
+ - transactionType
1984
+ properties:
1985
+ homeR2PTransactionId:
1986
+ type: string
1987
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
1988
+ from:
1989
+ $ref: '#/components/schemas/transferParty'
1990
+ to:
1991
+ $ref: '#/components/schemas/transferParty'
1992
+ amountType:
1993
+ $ref: '#/components/schemas/AmountType'
1994
+ currency:
1995
+ $ref: '#/components/schemas/Currency'
1996
+ amount:
1997
+ $ref: '#/components/schemas/Amount'
1998
+ transactionType:
1999
+ $ref: '#/components/schemas/TransactionScenario'
2000
+ subScenario:
2001
+ $ref: '#/components/schemas/TransactionSubScenario'
2002
+ authenticationType:
2003
+ $ref: '#/components/schemas/AuthenticationType'
2004
+ requestToPayStatus:
2005
+ type: string
2006
+ enum:
2007
+ - ERROR_OCCURRED
2008
+ - WAITING_FOR_PARTY_ACCEPTANCE
2009
+ - COMPLETED
2010
+ getPartiesResponse:
2011
+ title: getPartiesResponse
2012
+ type: object
2013
+ description: The object sent in the GET /parties/{Type}/{ID} callback.
2014
+ properties:
2015
+ body:
2016
+ $ref: '#/components/schemas/Party'
2017
+ headers:
2018
+ type: object
2019
+ required:
2020
+ - body
2021
+ - headers
2022
+ TransactionRequestState:
2023
+ title: TransactionRequestState
2024
+ type: string
2025
+ enum:
2026
+ - RECEIVED
2027
+ - PENDING
2028
+ - ACCEPTED
2029
+ - REJECTED
2030
+ description: |-
2031
+ Below are the allowed values for the enumeration.
2032
+ - RECEIVED - Payer FSP has received the transaction from the Payee FSP.
2033
+ - PENDING - Payer FSP has sent the transaction request to the Payer.
2034
+ - ACCEPTED - Payer has approved the transaction.
2035
+ - REJECTED - Payer has rejected the transaction.
2036
+ example: RECEIVED
2037
+ TransactionRequestResponse:
2038
+ title: TransactionRequestResponse
2039
+ type: object
2040
+ description: The object sent in the PUT /transactionRequests/{ID} callback.
2041
+ properties:
2042
+ body:
2043
+ type: object
2044
+ properties:
2045
+ transactionId:
2046
+ $ref: '#/components/schemas/CorrelationId'
2047
+ transactionRequestState:
2048
+ $ref: '#/components/schemas/TransactionRequestState'
2049
+ extensionList:
2050
+ $ref: '#/components/schemas/ExtensionList'
2051
+ required:
2052
+ - transactionRequestState
2053
+ headers:
2054
+ type: object
2055
+ required:
2056
+ - body
2057
+ - headers
2058
+ requestToPayResponse:
2059
+ type: object
2060
+ required:
2061
+ - transactionRequestId
2062
+ - from
2063
+ - to
2064
+ - amountType
2065
+ - currency
2066
+ - amount
2067
+ - transactionType
2068
+ - currentState
2069
+ properties:
2070
+ transactionRequestId:
2071
+ $ref: '#/components/schemas/CorrelationId'
2072
+ from:
2073
+ $ref: '#/components/schemas/transferParty'
2074
+ to:
2075
+ $ref: '#/components/schemas/transferParty'
2076
+ amountType:
2077
+ $ref: '#/components/schemas/AmountType'
2078
+ currency:
2079
+ $ref: '#/components/schemas/Currency'
2080
+ amount:
2081
+ $ref: '#/components/schemas/Amount'
2082
+ transactionType:
2083
+ $ref: '#/components/schemas/TransactionScenario'
2084
+ subScenario:
2085
+ $ref: '#/components/schemas/TransactionSubScenario'
2086
+ currentState:
2087
+ $ref: '#/components/schemas/requestToPayStatus'
2088
+ getPartiesResponse:
2089
+ $ref: '#/components/schemas/getPartiesResponse'
2090
+ transactionRequestResponse:
2091
+ $ref: '#/components/schemas/TransactionRequestResponse'
2092
+ lastError:
2093
+ $ref: '#/components/schemas/transferError'
2094
+ transferStatus:
2095
+ type: string
2096
+ enum:
2097
+ - ERROR_OCCURRED
2098
+ - WAITING_FOR_PARTY_ACCEPTANCE
2099
+ - WAITING_FOR_QUOTE_ACCEPTANCE
2100
+ - WAITING_FOR_CONVERSION_ACCEPTANCE
2101
+ - COMPLETED
2102
+ QuotesIDPutResponse:
2103
+ title: QuotesIDPutResponse
2104
+ type: object
2105
+ description: The object sent in the PUT /quotes/{ID} callback.
2106
+ properties:
2107
+ transferAmount:
2108
+ $ref: '#/components/schemas/Money'
2109
+ payeeReceiveAmount:
2110
+ $ref: '#/components/schemas/Money'
2111
+ payeeFspFee:
2112
+ $ref: '#/components/schemas/Money'
2113
+ payeeFspCommission:
2114
+ $ref: '#/components/schemas/Money'
2115
+ expiration:
2116
+ $ref: '#/components/schemas/DateTime'
2117
+ geoCode:
2118
+ $ref: '#/components/schemas/GeoCode'
2119
+ ilpPacket:
2120
+ $ref: '#/components/schemas/IlpPacket'
2121
+ condition:
2122
+ $ref: '#/components/schemas/IlpCondition'
2123
+ extensionList:
2124
+ $ref: '#/components/schemas/ExtensionList'
2125
+ required:
2126
+ - transferAmount
2127
+ - expiration
2128
+ - ilpPacket
2129
+ - condition
2130
+ FxMoney:
2131
+ title: FxMoney
2132
+ type: object
2133
+ description: Data model for the complex type FxMoney; This is based on the type Money but allows the amount to be optional to support FX quotations.
2134
+ properties:
2135
+ currency:
2136
+ $ref: '#/components/schemas/Currency'
2137
+ amount:
2138
+ $ref: '#/components/schemas/Amount'
2139
+ required:
2140
+ - currency
2141
+ FxCharge:
2142
+ title: FxCharge
2143
+ type: object
2144
+ description: An FXP will be able to specify a charge which it proposes to levy on the currency conversion operation using a FxCharge object.
2145
+ properties:
2146
+ chargeType:
2147
+ type: string
2148
+ minLength: 1
2149
+ maxLength: 32
2150
+ description: A description of the charge which is being levied.
2151
+ sourceAmount:
2152
+ allOf:
2153
+ - $ref: '#/components/schemas/Money'
2154
+ - description: The amount of the charge which is being levied, expressed in the source currency.
2155
+ targetAmount:
2156
+ allOf:
2157
+ - $ref: '#/components/schemas/Money'
2158
+ - description: The amount of the charge which is being levied, expressed in the target currency.
2159
+ required:
2160
+ - chargeType
2161
+ FxConversion:
2162
+ title: FxConversion
2163
+ type: object
2164
+ description: A DFSP will be able to request a currency conversion, and an FX provider will be able to describe its involvement in a proposed transfer, using a FxConversion object.
2165
+ properties:
2166
+ conversionId:
2167
+ allOf:
2168
+ - $ref: '#/components/schemas/CorrelationId'
2169
+ - description: An end-to-end identifier for the conversion request.
2170
+ determiningTransferId:
2171
+ allOf:
2172
+ - $ref: '#/components/schemas/CorrelationId'
2173
+ - description: The transaction ID of the transfer on whose success this currency conversion depends.
2174
+ initiatingFsp:
2175
+ allOf:
2176
+ - $ref: '#/components/schemas/FspId'
2177
+ - description: The id of the participant who is requesting a currency conversion.
2178
+ counterPartyFsp:
2179
+ allOf:
2180
+ - $ref: '#/components/schemas/FspId'
2181
+ - description: The ID of the FXP performing the conversion.
2182
+ amountType:
2183
+ allOf:
2184
+ - $ref: '#/components/schemas/AmountType'
2185
+ - description: This is the AmountType for the base transaction - If SEND - then any charges levied by the FXP as part of the transaction will be deducted by the FXP from the amount shown for the target party in the conversion. If RECEIVE - then any charges levied by the FXP as part of the transaction will be added by the FXP to the amount shown for the source party in the conversion.
2186
+ sourceAmount:
2187
+ allOf:
2188
+ - $ref: '#/components/schemas/FxMoney'
2189
+ - description: The amount to be converted, expressed in the source currency.
2190
+ targetAmount:
2191
+ allOf:
2192
+ - $ref: '#/components/schemas/FxMoney'
2193
+ - description: The converted amount, expressed in the target currency.
2194
+ expiration:
2195
+ allOf:
2196
+ - $ref: '#/components/schemas/DateTime'
2197
+ - description: The end of the period for which the currency conversion is required to remain valid.
2198
+ charges:
2199
+ type: array
2200
+ description: One or more charges which the FXP intends to levy as part of the currency conversion, or which the payee DFSP intends to add to the amount transferred.
2201
+ items:
2202
+ $ref: '#/components/schemas/FxCharge'
2203
+ minItems: 0
2204
+ maxItems: 16
2205
+ extensionList:
2206
+ allOf:
2207
+ - $ref: '#/components/schemas/ExtensionList'
2208
+ - description: The extension list for the currency conversion request.
2209
+ required:
2210
+ - conversionId
2211
+ - initiatingFsp
2212
+ - counterPartyFsp
2213
+ - amountType
2214
+ - sourceAmount
2215
+ - targetAmount
2216
+ - expiration
2217
+ FxQuotesPostOutboundResponse:
2218
+ title: FxQuotesPostOutboundResponse
2219
+ type: object
2220
+ description: The object sent as a response for the POST /fxQuotes request. The terms under which the FXP will undertake the currency conversion proposed by the requester.
2221
+ properties:
2222
+ homeTransactionId:
2223
+ description: Transaction ID for the FXP backend, used to reconcile transactions between the Switch and FXP backend systems.
2224
+ type: string
2225
+ condition:
2226
+ allOf:
2227
+ - $ref: '#/components/schemas/IlpCondition'
2228
+ - description: The ILP condition for the conversion.
2229
+ conversionTerms:
2230
+ allOf:
2231
+ - $ref: '#/components/schemas/FxConversion'
2232
+ - description: The terms under which the FXP will undertake the currency conversion proposed by the requester.
2233
+ required:
2234
+ - conversionTerms
2235
+ TransfersIDPutResponse:
2236
+ title: TransfersIDPutResponse
2237
+ type: object
2238
+ description: The object sent in the PUT /transfers/{ID} callback.
2239
+ properties:
2240
+ fulfilment:
2241
+ $ref: '#/components/schemas/IlpFulfilment'
2242
+ completedTimestamp:
2243
+ $ref: '#/components/schemas/DateTime'
2244
+ transferState:
2245
+ $ref: '#/components/schemas/TransferState'
2246
+ extensionList:
2247
+ $ref: '#/components/schemas/ExtensionList'
2248
+ required:
2249
+ - transferState
2250
+ transferResponse:
2251
+ type: object
2252
+ required:
2253
+ - homeTransactionId
2254
+ - from
2255
+ - to
2256
+ - amountType
2257
+ - currency
2258
+ - amount
2259
+ - transactionType
2260
+ properties:
2261
+ transferId:
2262
+ $ref: '#/components/schemas/CorrelationId'
2263
+ homeTransactionId:
2264
+ type: string
2265
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
2266
+ from:
2267
+ $ref: '#/components/schemas/transferParty'
2268
+ to:
2269
+ $ref: '#/components/schemas/transferParty'
2270
+ amountType:
2271
+ $ref: '#/components/schemas/AmountType'
2272
+ currency:
2273
+ $ref: '#/components/schemas/Currency'
2274
+ amount:
2275
+ $ref: '#/components/schemas/Amount'
2276
+ transactionType:
2277
+ $ref: '#/components/schemas/transferTransactionType'
2278
+ subScenario:
2279
+ $ref: '#/components/schemas/TransactionSubScenario'
2280
+ note:
2281
+ $ref: '#/components/schemas/Note'
2282
+ currentState:
2283
+ $ref: '#/components/schemas/transferStatus'
2284
+ quoteId:
2285
+ $ref: '#/components/schemas/CorrelationId'
2286
+ getPartiesResponse:
2287
+ type: object
2288
+ required:
2289
+ - body
2290
+ properties:
2291
+ body:
2292
+ type: object
2293
+ headers:
2294
+ type: object
2295
+ quoteResponse:
2296
+ type: object
2297
+ required:
2298
+ - body
2299
+ properties:
2300
+ body:
2301
+ $ref: '#/components/schemas/QuotesIDPutResponse'
2302
+ headers:
2303
+ type: object
2304
+ quoteResponseSource:
2305
+ type: string
2306
+ description: |
2307
+ 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.
2308
+ conversionRequestId:
2309
+ $ref: '#/components/schemas/CorrelationId'
2310
+ fxQuotesResponse:
2311
+ type: object
2312
+ required:
2313
+ - body
2314
+ properties:
2315
+ body:
2316
+ $ref: '#/components/schemas/FxQuotesPostOutboundResponse'
2317
+ headers:
2318
+ type: object
2319
+ fxQuotesResponseSource:
2320
+ type: string
2321
+ description: |
2322
+ FXPID of the entity that supplied the fxQuotes response.
2323
+ fulfil:
2324
+ type: object
2325
+ required:
2326
+ - body
2327
+ properties:
2328
+ body:
2329
+ $ref: '#/components/schemas/TransfersIDPutResponse'
2330
+ headers:
2331
+ type: object
2332
+ lastError:
2333
+ $ref: '#/components/schemas/transferError'
2334
+ skipPartyLookup:
2335
+ 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.
2336
+ type: boolean
2337
+ errorTransferResponse:
2338
+ allOf:
2339
+ - $ref: '#/components/schemas/errorResponse'
2340
+ - type: object
2341
+ required:
2342
+ - transferState
2343
+ properties:
2344
+ transferState:
2345
+ $ref: '#/components/schemas/transferResponse'
2346
+ requestToPayTransferRequest:
2347
+ type: object
2348
+ required:
2349
+ - homeR2PTransactionId
2350
+ - transactionRequestId
2351
+ - from
2352
+ - to
2353
+ - amountType
2354
+ - currency
2355
+ - amount
2356
+ - scenario
2357
+ - initiator
2358
+ - initiatorType
2359
+ properties:
2360
+ homeR2PTransactionId:
2361
+ type: string
2362
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
2363
+ transactionRequestId:
2364
+ $ref: '#/components/schemas/CorrelationId'
2365
+ from:
2366
+ $ref: '#/components/schemas/transferParty'
2367
+ to:
2368
+ $ref: '#/components/schemas/transferParty'
2369
+ amountType:
2370
+ $ref: '#/components/schemas/AmountType'
2371
+ currency:
2372
+ $ref: '#/components/schemas/Currency'
2373
+ amount:
2374
+ $ref: '#/components/schemas/Amount'
2375
+ scenario:
2376
+ $ref: '#/components/schemas/TransactionScenario'
2377
+ subScenario:
2378
+ $ref: '#/components/schemas/TransactionSubScenario'
2379
+ initiator:
2380
+ $ref: '#/components/schemas/TransactionInitiator'
2381
+ initiatorType:
2382
+ $ref: '#/components/schemas/TransactionInitiatorType'
2383
+ note:
2384
+ $ref: '#/components/schemas/Note'
2385
+ authenticationType:
2386
+ $ref: '#/components/schemas/AuthenticationType'
2387
+ AuthenticationValue:
2388
+ title: AuthenticationValue
2389
+ anyOf:
2390
+ - title: OtpValue
2391
+ type: string
2392
+ pattern: ^\d{3,10}$
2393
+ 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.
2394
+ - title: QRCODE
2395
+ type: string
2396
+ minLength: 1
2397
+ maxLength: 64
2398
+ description: QR code used as a One Time Password.
2399
+ - title: U2FPinValue
2400
+ type: object
2401
+ description: |
2402
+ U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.
2403
+ properties:
2404
+ pinValue:
2405
+ type: string
2406
+ pattern: ^\S{1,64}$
2407
+ minLength: 1
2408
+ maxLength: 64
2409
+ description: |
2410
+ U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key.
2411
+ counter:
2412
+ title: Integer
2413
+ type: string
2414
+ pattern: ^[1-9]\d*$
2415
+ description: Sequential counter used for cloning detection. Present only for U2F authentication.
2416
+ required:
2417
+ - pinValue
2418
+ - counter
2419
+ pattern: ^\d{3,10}$|^\S{1,64}$
2420
+ description: Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type.
2421
+ AuthenticationInfo:
2422
+ title: AuthenticationInfo
2423
+ type: object
2424
+ description: Data model for the complex type AuthenticationInfo.
2425
+ properties:
2426
+ authentication:
2427
+ $ref: '#/components/schemas/AuthenticationType'
2428
+ authenticationValue:
2429
+ $ref: '#/components/schemas/AuthenticationValue'
2430
+ required:
2431
+ - authentication
2432
+ - authenticationValue
2433
+ AuthorizationResponseType:
2434
+ title: AuthorizationResponseType
2435
+ type: string
2436
+ enum:
2437
+ - ENTERED
2438
+ - REJECTED
2439
+ - RESEND
2440
+ description: |-
2441
+ Below are the allowed values for the enumeration.
2442
+ - ENTERED - Consumer entered the authentication value.
2443
+ - REJECTED - Consumer rejected the transaction.
2444
+ - RESEND - Consumer requested to resend the authentication value.
2445
+ example: ENTERED
2446
+ AuthorizationIDPutResponse:
2447
+ title: AuthorizationIDPutResponse
2448
+ type: object
2449
+ description: The object sent in the PUT /authorizations/{ID} callback.
2450
+ properties:
2451
+ authenticationInfo:
2452
+ $ref: '#/components/schemas/AuthenticationInfo'
2453
+ responseType:
2454
+ $ref: '#/components/schemas/AuthorizationResponseType'
2455
+ required:
2456
+ - responseType
2457
+ requestToPayTransferResponse:
2458
+ type: object
2459
+ required:
2460
+ - transactionRequestId
2461
+ - from
2462
+ - to
2463
+ - amountType
2464
+ - currency
2465
+ - amount
2466
+ - transactionType
2467
+ properties:
2468
+ transferId:
2469
+ $ref: '#/components/schemas/CorrelationId'
2470
+ homeR2PTransactionId:
2471
+ type: string
2472
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
2473
+ transactionRequestId:
2474
+ $ref: '#/components/schemas/CorrelationId'
2475
+ from:
2476
+ $ref: '#/components/schemas/transferParty'
2477
+ to:
2478
+ $ref: '#/components/schemas/transferParty'
2479
+ amountType:
2480
+ $ref: '#/components/schemas/AmountType'
2481
+ currency:
2482
+ $ref: '#/components/schemas/Currency'
2483
+ amount:
2484
+ $ref: '#/components/schemas/Amount'
2485
+ transactionType:
2486
+ $ref: '#/components/schemas/transferTransactionType'
2487
+ note:
2488
+ $ref: '#/components/schemas/Note'
2489
+ currentState:
2490
+ $ref: '#/components/schemas/transferStatus'
2491
+ quoteId:
2492
+ $ref: '#/components/schemas/CorrelationId'
2493
+ quoteResponse:
2494
+ type: object
2495
+ required:
2496
+ - body
2497
+ properties:
2498
+ body:
2499
+ $ref: '#/components/schemas/QuotesIDPutResponse'
2500
+ headers:
2501
+ type: object
2502
+ quoteResponseSource:
2503
+ type: string
2504
+ description: |
2505
+ 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.
2506
+ authorizationResponse:
2507
+ type: object
2508
+ required:
2509
+ - body
2510
+ properties:
2511
+ body:
2512
+ $ref: '#/components/schemas/AuthorizationIDPutResponse'
2513
+ headers:
2514
+ type: object
2515
+ fulfil:
2516
+ type: object
2517
+ required:
2518
+ - body
2519
+ properties:
2520
+ body:
2521
+ $ref: '#/components/schemas/TransfersIDPutResponse'
2522
+ headers:
2523
+ type: object
2524
+ lastError:
2525
+ $ref: '#/components/schemas/transferError'
2526
+ transferContinuationAcceptOTP:
2527
+ type: object
2528
+ required:
2529
+ - acceptOTP
2530
+ properties:
2531
+ acceptOTP:
2532
+ type: boolean
2533
+ enum:
2534
+ - true
2535
+ - false
2536
+ TransfersPostRequest:
2537
+ title: TransfersPostRequest
2538
+ type: object
2539
+ description: The object sent in the POST /transfers request.
2540
+ properties:
2541
+ transferId:
2542
+ $ref: '#/components/schemas/CorrelationId'
2543
+ payeeFsp:
2544
+ $ref: '#/components/schemas/FspId'
2545
+ payerFsp:
2546
+ $ref: '#/components/schemas/FspId'
2547
+ amount:
2548
+ $ref: '#/components/schemas/Money'
2549
+ ilpPacket:
2550
+ $ref: '#/components/schemas/IlpPacket'
2551
+ condition:
2552
+ $ref: '#/components/schemas/IlpCondition'
2553
+ expiration:
2554
+ $ref: '#/components/schemas/DateTime'
2555
+ extensionList:
2556
+ $ref: '#/components/schemas/ExtensionList'
2557
+ required:
2558
+ - transferId
2559
+ - payeeFsp
2560
+ - payerFsp
2561
+ - amount
2562
+ - ilpPacket
2563
+ - condition
2564
+ - expiration
2565
+ simpleTransfersPostRequest:
2566
+ title: SimpleTransfersPostRequest
2567
+ type: object
2568
+ properties:
2569
+ fspId:
2570
+ $ref: '#/components/schemas/FspId'
2571
+ transfersPostRequest:
2572
+ $ref: '#/components/schemas/TransfersPostRequest'
2573
+ required:
2574
+ - fspId
2575
+ - transfersPostRequest
2576
+ simpleTransfersPostResponse:
2577
+ title: SimpleTransfersPostResponse
2578
+ type: object
2579
+ properties:
2580
+ transfer:
2581
+ properties:
2582
+ body:
2583
+ $ref: '#/components/schemas/TransfersIDPutResponse'
2584
+ headers:
2585
+ type: object
2586
+ required:
2587
+ - body
2588
+ - headers
2589
+ currentState:
2590
+ $ref: '#/components/schemas/async2SyncCurrentState'
2591
+ required:
2592
+ - transfer
2593
+ - currentState
2594
+ errorSimpleTransfersResponse:
2595
+ allOf:
2596
+ - $ref: '#/components/schemas/errorResponse'
2597
+ - type: object
2598
+ transferRequest:
2599
+ type: object
2600
+ required:
2601
+ - homeTransactionId
2602
+ - from
2603
+ - to
2604
+ - amountType
2605
+ - currency
2606
+ - amount
2607
+ - transactionType
2608
+ properties:
2609
+ homeTransactionId:
2610
+ type: string
2611
+ description: Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems.
2612
+ from:
2613
+ $ref: '#/components/schemas/transferParty'
2614
+ to:
2615
+ $ref: '#/components/schemas/transferParty'
2616
+ amountType:
2617
+ $ref: '#/components/schemas/AmountType'
2618
+ currency:
2619
+ $ref: '#/components/schemas/Currency'
2620
+ amount:
2621
+ $ref: '#/components/schemas/Amount'
2622
+ transactionType:
2623
+ $ref: '#/components/schemas/transferTransactionType'
2624
+ subScenario:
2625
+ $ref: '#/components/schemas/TransactionSubScenario'
2626
+ note:
2627
+ $ref: '#/components/schemas/Note'
2628
+ quoteRequestExtensions:
2629
+ $ref: '#/components/schemas/extensionListEmptiable'
2630
+ transferRequestExtensions:
2631
+ $ref: '#/components/schemas/extensionListEmptiable'
2632
+ skipPartyLookup:
2633
+ 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.
2634
+ type: boolean
2635
+ transferStatusResponse:
2636
+ type: object
2637
+ required:
2638
+ - transferId
2639
+ - currentState
2640
+ - fulfil
2641
+ properties:
2642
+ transferId:
2643
+ $ref: '#/components/schemas/CorrelationId'
2644
+ currentState:
2645
+ $ref: '#/components/schemas/transferStatus'
2646
+ fulfil:
2647
+ type: object
2648
+ required:
2649
+ - body
2650
+ properties:
2651
+ body:
2652
+ $ref: '#/components/schemas/TransfersIDPutResponse'
2653
+ headers:
2654
+ type: object
2655
+ transferContinuationAcceptConversion:
2656
+ type: object
2657
+ required:
2658
+ - acceptConversion
2659
+ properties:
2660
+ acceptConversion:
2661
+ type: boolean
2662
+ enum:
2663
+ - true
2664
+ - false
2665
+ ServicesFXPPutResponse:
2666
+ title: ServicesFXPPutResponse
2667
+ type: object
2668
+ description: The object sent in the PUT /services/FXP callback.
2669
+ properties:
2670
+ providers:
2671
+ type: array
2672
+ description: The FSP Id(s) of the participant(s) who offer currency conversion services.
2673
+ items:
2674
+ $ref: '#/components/schemas/FspId'
2675
+ minItems: 0
2676
+ maxItems: 16
2677
+ required:
2678
+ - providers
2679
+ FxQuotesPostOutboundRequest:
2680
+ title: FxQuotesPostOutboundRequest
2681
+ type: object
2682
+ description: The object sent in the POST /fxQuotes request.
2683
+ properties:
2684
+ homeTransactionId:
2685
+ description: Transaction ID for the backend, used to reconcile transactions between the Switch and backend systems.
2686
+ type: string
2687
+ conversionRequestId:
2688
+ allOf:
2689
+ - $ref: '#/components/schemas/CorrelationId'
2690
+ - description: An end-to-end identifier for the conversion quotation request.
2691
+ conversionTerms:
2692
+ allOf:
2693
+ - $ref: '#/components/schemas/FxConversion'
2694
+ - description: The terms of the currency conversion for which a quotation is sought.
2695
+ required:
2696
+ - conversionRequestId
2697
+ - conversionTerms
2698
+ commitRequestId:
2699
+ allOf:
2700
+ - $ref: '#/components/schemas/CorrelationId'
2701
+ - description: An end-to-end identifier for the confirmation request.
2702
+ determiningTransferId:
2703
+ allOf:
2704
+ - $ref: '#/components/schemas/CorrelationId'
2705
+ - description: The transaction ID of the transfer to which this currency conversion relates, if the conversion is part of a transfer. If the conversion is a bulk currency purchase, this field should be omitted.
2706
+ initiatingFsp:
2707
+ allOf:
2708
+ - $ref: '#/components/schemas/FspId'
2709
+ - description: Identifier for the FSP who is requesting a currency conversion.
2710
+ counterPartyFsp:
2711
+ allOf:
2712
+ - $ref: '#/components/schemas/FspId'
2713
+ - description: Identifier for the FXP who is performing the currency conversion.
2714
+ sourceAmount:
2715
+ allOf:
2716
+ - $ref: '#/components/schemas/Money'
2717
+ - description: The amount being offered for conversion by the requesting FSP.
2718
+ targetAmount:
2719
+ allOf:
2720
+ - $ref: '#/components/schemas/Money'
2721
+ - description: The amount which the FXP is to credit to the requesting FSP in the target currency.
2722
+ condition:
2723
+ allOf:
2724
+ - $ref: '#/components/schemas/IlpCondition'
2725
+ - description: ILP condition received by the requesting FSP when the quote was approved.
2726
+ FxTransfersPostOutboundRequest:
2727
+ title: FxTransfersPostOutboundRequest
2728
+ type: object
2729
+ description: The object sent in the POST /fxTransfers request.
2730
+ properties:
2731
+ homeTransactionId:
2732
+ description: Transaction ID for the backend, used to reconcile transactions between the Switch and backend systems.
2733
+ type: string
2734
+ commitRequestId:
2735
+ $ref: '#/components/schemas/commitRequestId'
2736
+ determiningTransferId:
2737
+ $ref: '#/components/schemas/determiningTransferId'
2738
+ initiatingFsp:
2739
+ $ref: '#/components/schemas/initiatingFsp'
2740
+ counterPartyFsp:
2741
+ $ref: '#/components/schemas/counterPartyFsp'
2742
+ sourceAmount:
2743
+ $ref: '#/components/schemas/sourceAmount'
2744
+ targetAmount:
2745
+ $ref: '#/components/schemas/targetAmount'
2746
+ condition:
2747
+ $ref: '#/components/schemas/condition'
2748
+ required:
2749
+ - commitRequestId
2750
+ - initiatingFsp
2751
+ - counterPartyFsp
2752
+ - sourceAmount
2753
+ - targetAmount
2754
+ fulfilment:
2755
+ allOf:
2756
+ - $ref: '#/components/schemas/IlpFulfilment'
2757
+ - description: The fulfilment of the condition specified for the currency conversion. Mandatory if the conversion has been executed successfully.
2758
+ completedTimestamp:
2759
+ allOf:
2760
+ - $ref: '#/components/schemas/DateTime'
2761
+ - description: Time and date when the conversion was executed.
2762
+ conversionState:
2763
+ allOf:
2764
+ - $ref: '#/components/schemas/TransferState'
2765
+ - description: The current status of the conversion request.
2766
+ FxTransfersPostOutboundResponse:
2767
+ title: FxTransfersPostOutboundResponse
2768
+ type: object
2769
+ description: The object sent as a response for the POST /fxTransfers request.
2770
+ properties:
2771
+ homeTransactionId:
2772
+ description: Transaction ID for the backend, used to reconcile transactions between the Switch and backend systems.
2773
+ type: string
2774
+ fulfilment:
2775
+ $ref: '#/components/schemas/fulfilment'
2776
+ completedTimestamp:
2777
+ $ref: '#/components/schemas/completedTimestamp'
2778
+ conversionState:
2779
+ $ref: '#/components/schemas/conversionState'
2780
+ extensionList:
2781
+ $ref: '#/components/schemas/ExtensionList'
2782
+ required:
2783
+ - conversionState
2784
+ responses:
2785
+ '400':
2786
+ description: Malformed or missing required headers or parameters.
2787
+ content:
2788
+ application/json:
2789
+ schema:
2790
+ $ref: '#/components/schemas/errorResponse'
2791
+ '500':
2792
+ description: An error occurred processing the request.
2793
+ content:
2794
+ application/json:
2795
+ schema:
2796
+ $ref: '#/components/schemas/errorResponse'
2797
+ accountsCreationCompleted:
2798
+ description: Accounts creation completed
2799
+ content:
2800
+ application/json:
2801
+ schema:
2802
+ $ref: '#/components/schemas/accountsResponse'
2803
+ accountsCreationError:
2804
+ description: An error occurred creating accounts
2805
+ content:
2806
+ application/json:
2807
+ schema:
2808
+ $ref: '#/components/schemas/errorAccountsResponse'
2809
+ accountsCreationTimeout:
2810
+ description: Timeout occurred creating accounts
2811
+ content:
2812
+ application/json:
2813
+ schema:
2814
+ $ref: '#/components/schemas/errorAccountsResponse'
2815
+ bulkQuoteSuccess:
2816
+ description: Bulk quote completed successfully
2817
+ content:
2818
+ application/json:
2819
+ schema:
2820
+ $ref: '#/components/schemas/bulkQuoteResponse'
2821
+ bulkQuoteBadRequest:
2822
+ description: Malformed or missing required body, headers or parameters
2823
+ content:
2824
+ application/json:
2825
+ schema:
2826
+ $ref: '#/components/schemas/bulkQuoteErrorResponse'
2827
+ bulkQuoteServerError:
2828
+ description: An error occurred processing the bulk quote
2829
+ content:
2830
+ application/json:
2831
+ schema:
2832
+ $ref: '#/components/schemas/bulkQuoteErrorResponse'
2833
+ bulkQuoteTimeout:
2834
+ description: Timeout occurred processing the bulk quote
2835
+ content:
2836
+ application/json:
2837
+ schema:
2838
+ $ref: '#/components/schemas/bulkQuoteErrorResponse'
2839
+ bulkTransactionAccepted:
2840
+ description: Bulk transfer accepted successfully
2841
+ bulkTransferBadRequest:
2842
+ description: Malformed or missing required body, headers or parameters
2843
+ content:
2844
+ application/json:
2845
+ schema:
2846
+ $ref: '#/components/schemas/bulkTransferErrorResponse'
2847
+ errorResponse:
2848
+ description: Internal Server Error
2849
+ content:
2850
+ application/json:
2851
+ schema:
2852
+ $ref: '#/components/schemas/errorResponse'
2853
+ bulkTransactionPutBadRequest:
2854
+ description: Malformed or missing required body, headers or parameters
2855
+ content:
2856
+ application/json:
2857
+ schema:
2858
+ oneOf:
2859
+ - $ref: '#/components/schemas/bulkTransactionAcceptPartyErrorResponse'
2860
+ - $ref: '#/components/schemas/bulkTransactionAcceptQuoteErrorResponse'
2861
+ bulkTransferSuccess:
2862
+ description: Bulk transfer completed successfully
2863
+ content:
2864
+ application/json:
2865
+ schema:
2866
+ $ref: '#/components/schemas/bulkTransferResponse'
2867
+ partiesByIdSuccess:
2868
+ description: PartiesByIdSuccess
2869
+ content:
2870
+ application/json:
2871
+ schema:
2872
+ $ref: '#/components/schemas/partiesByIdResponse'
2873
+ partiesByIdError404:
2874
+ description: PartiesByIdError404
2875
+ content:
2876
+ application/json:
2877
+ schema:
2878
+ type: object
2879
+ properties:
2880
+ errorInformation:
2881
+ $ref: '#/components/schemas/ErrorInformation'
2882
+ quotesPostSuccess:
2883
+ description: sync response from POST /quotes
2884
+ content:
2885
+ application/json:
2886
+ schema:
2887
+ $ref: '#/components/schemas/quotesPostResponse'
2888
+ quotesServerError:
2889
+ description: An error occurred processing the quotes request
2890
+ content:
2891
+ application/json:
2892
+ schema:
2893
+ $ref: '#/components/schemas/errorQuotesResponse'
2894
+ requestToPaySuccess:
2895
+ description: Request to Pay completed successfully
2896
+ content:
2897
+ application/json:
2898
+ schema:
2899
+ $ref: '#/components/schemas/requestToPayResponse'
2900
+ transferServerError:
2901
+ description: An error occurred processing the transfer
2902
+ content:
2903
+ application/json:
2904
+ schema:
2905
+ $ref: '#/components/schemas/errorTransferResponse'
2906
+ transferTimeout:
2907
+ description: Timeout occurred processing the transfer
2908
+ content:
2909
+ application/json:
2910
+ schema:
2911
+ $ref: '#/components/schemas/errorTransferResponse'
2912
+ requestToPayTransferSuccess:
2913
+ description: Transfer completed successfully
2914
+ content:
2915
+ application/json:
2916
+ schema:
2917
+ $ref: '#/components/schemas/requestToPayTransferResponse'
2918
+ requestToPayTransferBadRequest:
2919
+ description: Malformed or missing required body, headers or parameters
2920
+ content:
2921
+ application/json:
2922
+ schema:
2923
+ $ref: '#/components/schemas/errorTransferResponse'
2924
+ transferSuccess:
2925
+ description: Transfer completed successfully
2926
+ content:
2927
+ application/json:
2928
+ schema:
2929
+ $ref: '#/components/schemas/transferResponse'
2930
+ simpleTransfersPostSuccess:
2931
+ description: sync response from POST /simpleTransfers
2932
+ content:
2933
+ application/json:
2934
+ schema:
2935
+ $ref: '#/components/schemas/simpleTransfersPostResponse'
2936
+ simpleTransfersServerError:
2937
+ description: An error occurred processing the simple transfers request
2938
+ content:
2939
+ application/json:
2940
+ schema:
2941
+ $ref: '#/components/schemas/errorSimpleTransfersResponse'
2942
+ transferBadRequest:
2943
+ description: Malformed or missing required body, headers or parameters
2944
+ content:
2945
+ application/json:
2946
+ schema:
2947
+ $ref: '#/components/schemas/errorTransferResponse'
2948
+ servicesFXPSucess:
2949
+ description: The response contains participants in a scheme who offer currency conversion services. If no participants offer these services, the return object will be blank.
2950
+ content:
2951
+ application/json:
2952
+ schema:
2953
+ $ref: '#/components/schemas/ServicesFXPPutResponse'
2954
+ parameters:
2955
+ bulkQuoteId:
2956
+ name: bulkQuoteId
2957
+ in: path
2958
+ required: true
2959
+ schema:
2960
+ $ref: '#/components/schemas/CorrelationId'
2961
+ description: Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request.
2962
+ bulkTransactionId:
2963
+ name: bulkTransactionId
2964
+ in: path
2965
+ required: true
2966
+ schema:
2967
+ $ref: '#/components/schemas/CorrelationId'
2968
+ description: Identifier of the bulk transaction to continue as returned in the response to a `POST /bulkTransaction` request.
2969
+ bulkTransferId:
2970
+ name: bulkTransferId
2971
+ in: path
2972
+ required: true
2973
+ schema:
2974
+ $ref: '#/components/schemas/CorrelationId'
2975
+ description: Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request.
2976
+ Type:
2977
+ name: Type
2978
+ in: path
2979
+ required: true
2980
+ schema:
2981
+ type: string
2982
+ description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.
2983
+ ID:
2984
+ name: ID
2985
+ in: path
2986
+ required: true
2987
+ schema:
2988
+ type: string
2989
+ description: The identifier value.
2990
+ SubId:
2991
+ name: SubId
2992
+ in: path
2993
+ required: true
2994
+ schema:
2995
+ type: string
2996
+ description: A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
2997
+ transactionRequestId:
2998
+ name: transactionRequestId
2999
+ in: path
3000
+ required: true
3001
+ schema:
3002
+ $ref: '#/components/schemas/CorrelationId'
3003
+ description: Identifier of the merchant request to pay to continue as returned in the response to a `POST /requestToPay` request.
3004
+ transferId:
3005
+ name: transferId
3006
+ in: path
3007
+ required: true
3008
+ schema:
3009
+ $ref: '#/components/schemas/CorrelationId'
3010
+ description: Identifier of the transfer to continue as returned in the response to a `POST /transfers` request.
3011
+ SourceCurrency:
3012
+ name: SourceCurrency
3013
+ in: path
3014
+ required: true
3015
+ schema:
3016
+ type: string
3017
+ description: ISO 4217 currency code for the source currency.
3018
+ TargetCurrency:
3019
+ name: TargetCurrency
3020
+ in: path
3021
+ required: true
3022
+ schema:
3023
+ type: string
3024
+ description: ISO 4217 currency code for the target currency.