@mojaloop/sdk-scheme-adapter 11.18.8

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 (277) hide show
  1. package/.env.example +140 -0
  2. package/.eslintignore +2 -0
  3. package/.eslintrc.json +30 -0
  4. package/.nvmrc +1 -0
  5. package/.versionrc +15 -0
  6. package/CHANGELOG.md +118 -0
  7. package/InboundServer/api.yaml +3594 -0
  8. package/InboundServer/api_template.yaml +69 -0
  9. package/InboundServer/handlers.js +940 -0
  10. package/InboundServer/index.js +205 -0
  11. package/InboundServer/middlewares.js +426 -0
  12. package/OAuthTestServer/index.js +66 -0
  13. package/OAuthTestServer/model.js +70 -0
  14. package/OutboundServer/api.yaml +2732 -0
  15. package/OutboundServer/api_interfaces/index.d.ts +117 -0
  16. package/OutboundServer/api_interfaces/openapi.d.ts +1475 -0
  17. package/OutboundServer/api_template/components/parameters/bulkQuoteId.yaml +9 -0
  18. package/OutboundServer/api_template/components/parameters/bulkTransferId.yaml +9 -0
  19. package/OutboundServer/api_template/components/parameters/requestToPayTransactionId.yaml +9 -0
  20. package/OutboundServer/api_template/components/parameters/transferId.yaml +9 -0
  21. package/OutboundServer/api_template/components/responses/accountsCreationCompleted.yaml +5 -0
  22. package/OutboundServer/api_template/components/responses/accountsCreationError.yaml +5 -0
  23. package/OutboundServer/api_template/components/responses/accountsCreationTimeout.yaml +5 -0
  24. package/OutboundServer/api_template/components/responses/authorizationPostSuccess.yaml +5 -0
  25. package/OutboundServer/api_template/components/responses/authorizationsServerError.yaml +5 -0
  26. package/OutboundServer/api_template/components/responses/bulkQuoteBadRequest.yaml +5 -0
  27. package/OutboundServer/api_template/components/responses/bulkQuoteServerError.yaml +5 -0
  28. package/OutboundServer/api_template/components/responses/bulkQuoteSuccess.yaml +5 -0
  29. package/OutboundServer/api_template/components/responses/bulkQuoteTimeout.yaml +5 -0
  30. package/OutboundServer/api_template/components/responses/bulkTransferBadRequest.yaml +5 -0
  31. package/OutboundServer/api_template/components/responses/bulkTransferServerError.yaml +5 -0
  32. package/OutboundServer/api_template/components/responses/bulkTransferSuccess.yaml +5 -0
  33. package/OutboundServer/api_template/components/responses/bulkTransferTimeout.yaml +5 -0
  34. package/OutboundServer/api_template/components/responses/partiesByIdError404.yaml +9 -0
  35. package/OutboundServer/api_template/components/responses/partiesByIdSuccess.yaml +5 -0
  36. package/OutboundServer/api_template/components/responses/quotesPostSuccess.yaml +5 -0
  37. package/OutboundServer/api_template/components/responses/quotesServerError.yaml +5 -0
  38. package/OutboundServer/api_template/components/responses/requestToPaySuccess.yaml +5 -0
  39. package/OutboundServer/api_template/components/responses/requestToPayTransferBadRequest.yaml +5 -0
  40. package/OutboundServer/api_template/components/responses/requestToPayTransferSuccess.yaml +5 -0
  41. package/OutboundServer/api_template/components/responses/simpleTransfersPostSuccess.yaml +5 -0
  42. package/OutboundServer/api_template/components/responses/simpleTransfersServerError.yaml +5 -0
  43. package/OutboundServer/api_template/components/responses/transferBadRequest.yaml +5 -0
  44. package/OutboundServer/api_template/components/responses/transferServerError.yaml +5 -0
  45. package/OutboundServer/api_template/components/responses/transferSuccess.yaml +5 -0
  46. package/OutboundServer/api_template/components/responses/transferTimeout.yaml +5 -0
  47. package/OutboundServer/api_template/components/schemas/accountCreationStatus.yaml +18 -0
  48. package/OutboundServer/api_template/components/schemas/accountsCreationState.yaml +4 -0
  49. package/OutboundServer/api_template/components/schemas/accountsRequest.yaml +20 -0
  50. package/OutboundServer/api_template/components/schemas/accountsResponse.yaml +15 -0
  51. package/OutboundServer/api_template/components/schemas/async2SyncCurrentState.yaml +5 -0
  52. package/OutboundServer/api_template/components/schemas/authorizationsPostRequest.yaml +15 -0
  53. package/OutboundServer/api_template/components/schemas/authorizationsPostResponse.yaml +19 -0
  54. package/OutboundServer/api_template/components/schemas/bulkQuoteErrorResponse.yaml +8 -0
  55. package/OutboundServer/api_template/components/schemas/bulkQuoteRequest.yaml +26 -0
  56. package/OutboundServer/api_template/components/schemas/bulkQuoteResponse.yaml +21 -0
  57. package/OutboundServer/api_template/components/schemas/bulkQuoteStatus.yaml +4 -0
  58. package/OutboundServer/api_template/components/schemas/bulkQuoteStatusResponse.yaml +17 -0
  59. package/OutboundServer/api_template/components/schemas/bulkTransferErrorResponse.yaml +8 -0
  60. package/OutboundServer/api_template/components/schemas/bulkTransferRequest.yaml +26 -0
  61. package/OutboundServer/api_template/components/schemas/bulkTransferResponse.yaml +16 -0
  62. package/OutboundServer/api_template/components/schemas/bulkTransferStatus.yaml +4 -0
  63. package/OutboundServer/api_template/components/schemas/bulkTransferStatusResponse.yaml +17 -0
  64. package/OutboundServer/api_template/components/schemas/errorAccountsResponse.yaml +8 -0
  65. package/OutboundServer/api_template/components/schemas/errorAuthorizationsResponse.yaml +3 -0
  66. package/OutboundServer/api_template/components/schemas/errorQuotesResponse.yaml +9 -0
  67. package/OutboundServer/api_template/components/schemas/errorResponse.yaml +8 -0
  68. package/OutboundServer/api_template/components/schemas/errorSimpleTransfersResponse.yaml +3 -0
  69. package/OutboundServer/api_template/components/schemas/errorTransferResponse.yaml +8 -0
  70. package/OutboundServer/api_template/components/schemas/extensionListEmptiable.yaml +6 -0
  71. package/OutboundServer/api_template/components/schemas/individualQuote.yaml +32 -0
  72. package/OutboundServer/api_template/components/schemas/individualQuoteResult.yaml +28 -0
  73. package/OutboundServer/api_template/components/schemas/individualTransfer.yaml +32 -0
  74. package/OutboundServer/api_template/components/schemas/individualTransferFulfilment.yaml +13 -0
  75. package/OutboundServer/api_template/components/schemas/individualTransferResult.yaml +41 -0
  76. package/OutboundServer/api_template/components/schemas/mojaloopError.yaml +5 -0
  77. package/OutboundServer/api_template/components/schemas/mojaloopTransactionRequestState.yaml +2 -0
  78. package/OutboundServer/api_template/components/schemas/partiesByIdResponse.yaml +13 -0
  79. package/OutboundServer/api_template/components/schemas/quote.yaml +3 -0
  80. package/OutboundServer/api_template/components/schemas/quoteError.yaml +16 -0
  81. package/OutboundServer/api_template/components/schemas/quotesPostRequest.yaml +13 -0
  82. package/OutboundServer/api_template/components/schemas/quotesPostResponse.yaml +48 -0
  83. package/OutboundServer/api_template/components/schemas/requestToPayRequest.yaml +39 -0
  84. package/OutboundServer/api_template/components/schemas/requestToPayResponse.yaml +41 -0
  85. package/OutboundServer/api_template/components/schemas/requestToPayTransferRequest.yaml +42 -0
  86. package/OutboundServer/api_template/components/schemas/requestToPayTransferResponse.yaml +58 -0
  87. package/OutboundServer/api_template/components/schemas/simpleTransferServerError.yaml +5 -0
  88. package/OutboundServer/api_template/components/schemas/simpleTransfersPostRequest.yaml +12 -0
  89. package/OutboundServer/api_template/components/schemas/simpleTransfersPostResponse.yaml +11 -0
  90. package/OutboundServer/api_template/components/schemas/transactionType.yaml +4 -0
  91. package/OutboundServer/api_template/components/schemas/transferContinuationAcceptOTP.yaml +9 -0
  92. package/OutboundServer/api_template/components/schemas/transferContinuationAcceptParty.yaml +8 -0
  93. package/OutboundServer/api_template/components/schemas/transferContinuationAcceptQuote.yaml +9 -0
  94. package/OutboundServer/api_template/components/schemas/transferError.yaml +16 -0
  95. package/OutboundServer/api_template/components/schemas/transferFulfilment.yaml +3 -0
  96. package/OutboundServer/api_template/components/schemas/transferParty.yaml +40 -0
  97. package/OutboundServer/api_template/components/schemas/transferRequest.yaml +37 -0
  98. package/OutboundServer/api_template/components/schemas/transferResponse.yaml +58 -0
  99. package/OutboundServer/api_template/components/schemas/transferStatus.yaml +6 -0
  100. package/OutboundServer/api_template/components/schemas/transferStatusResponse.yaml +13 -0
  101. package/OutboundServer/api_template/health.yaml +12 -0
  102. package/OutboundServer/api_template/openapi.yaml +55 -0
  103. package/OutboundServer/api_template/paths/accounts.yaml +26 -0
  104. package/OutboundServer/api_template/paths/authorizations.yaml +19 -0
  105. package/OutboundServer/api_template/paths/bulkQuotes.yaml +23 -0
  106. package/OutboundServer/api_template/paths/bulkQuotes_bulkQuoteId.yaml +24 -0
  107. package/OutboundServer/api_template/paths/bulkTransfers.yaml +23 -0
  108. package/OutboundServer/api_template/paths/bulkTransfers_bulkTransferId.yaml +24 -0
  109. package/OutboundServer/api_template/paths/parties_Type_ID.yaml +20 -0
  110. package/OutboundServer/api_template/paths/parties_Type_ID_SubId.yaml +22 -0
  111. package/OutboundServer/api_template/paths/quotes.yaml +20 -0
  112. package/OutboundServer/api_template/paths/requestToPay.yaml +22 -0
  113. package/OutboundServer/api_template/paths/requestToPayTransfer.yaml +57 -0
  114. package/OutboundServer/api_template/paths/requestToPayTransfer_requestToPayTransactionId.yaml +34 -0
  115. package/OutboundServer/api_template/paths/simpleTransfers.yaml +19 -0
  116. package/OutboundServer/api_template/paths/transfers.yaml +55 -0
  117. package/OutboundServer/api_template/paths/transfers_transferId.yaml +58 -0
  118. package/OutboundServer/handlers.js +622 -0
  119. package/OutboundServer/index.js +137 -0
  120. package/OutboundServer/middlewares.js +67 -0
  121. package/TestServer/api.yaml +62 -0
  122. package/TestServer/handlers.js +63 -0
  123. package/TestServer/index.js +215 -0
  124. package/audit-resolve.json +65 -0
  125. package/babel.config.js +3 -0
  126. package/config.js +158 -0
  127. package/index.d.ts +1 -0
  128. package/index.js +149 -0
  129. package/jest.config.js +15 -0
  130. package/lib/api/index.js +12 -0
  131. package/lib/cache.js +352 -0
  132. package/lib/check.js +25 -0
  133. package/lib/model/AccountsModel.js +396 -0
  134. package/lib/model/Async2SyncModel.js +283 -0
  135. package/lib/model/AuthorizationsModel.js +86 -0
  136. package/lib/model/InboundTransfersModel.js +730 -0
  137. package/lib/model/OutboundBulkQuotesModel.js +485 -0
  138. package/lib/model/OutboundBulkTransfersModel.js +479 -0
  139. package/lib/model/OutboundRequestToPayModel.js +517 -0
  140. package/lib/model/OutboundRequestToPayTransferModel.js +893 -0
  141. package/lib/model/OutboundTransfersModel.js +823 -0
  142. package/lib/model/PartiesModel.js +70 -0
  143. package/lib/model/ProxyModel/MatchRules/Expression.js +48 -0
  144. package/lib/model/ProxyModel/MatchRules/Headers.js +65 -0
  145. package/lib/model/ProxyModel/MatchRules/MatchRule.js +27 -0
  146. package/lib/model/ProxyModel/MatchRules/Path.js +36 -0
  147. package/lib/model/ProxyModel/MatchRules/Query.js +65 -0
  148. package/lib/model/ProxyModel/MatchRules/index.js +19 -0
  149. package/lib/model/ProxyModel/Route.js +82 -0
  150. package/lib/model/ProxyModel/configSchema.json +118 -0
  151. package/lib/model/ProxyModel/index.js +138 -0
  152. package/lib/model/QuotesModel.js +94 -0
  153. package/lib/model/TransfersModel.js +81 -0
  154. package/lib/model/common/BackendError.js +26 -0
  155. package/lib/model/common/PersistentStateMachine.js +93 -0
  156. package/lib/model/common/index.js +18 -0
  157. package/lib/model/index.js +43 -0
  158. package/lib/model/lib/deferredJob.js +113 -0
  159. package/lib/model/lib/index.js +9 -0
  160. package/lib/model/lib/requests/backendRequests.js +227 -0
  161. package/lib/model/lib/requests/common.js +76 -0
  162. package/lib/model/lib/requests/index.js +19 -0
  163. package/lib/model/lib/shared.js +468 -0
  164. package/lib/randomphrase/index.js +21 -0
  165. package/lib/randomphrase/words.json +3397 -0
  166. package/lib/router.js +28 -0
  167. package/lib/validate.js +205 -0
  168. package/package.json +102 -0
  169. package/test/__mocks__/@mojaloop/sdk-standard-components.js +152 -0
  170. package/test/__mocks__/javascript-state-machine.js +21 -0
  171. package/test/__mocks__/redis.js +49 -0
  172. package/test/__mocks__/uuidv4.js +16 -0
  173. package/test/config/integration.env +136 -0
  174. package/test/integration/lib/Outbound/authorizations.test.js +58 -0
  175. package/test/integration/lib/Outbound/data/authorizationsPostRequest.json +43 -0
  176. package/test/integration/lib/Outbound/data/quotesPostRequest.json +52 -0
  177. package/test/integration/lib/Outbound/data/transfersPostRequest.json +24 -0
  178. package/test/integration/lib/Outbound/parties.test.js +28 -0
  179. package/test/integration/lib/Outbound/quotes.test.js +58 -0
  180. package/test/integration/lib/Outbound/simpleTransfers.test.js +67 -0
  181. package/test/integration/lib/cache.test.js +80 -0
  182. package/test/integration/testEnv.js +7 -0
  183. package/test/unit/InboundServer.test.js +443 -0
  184. package/test/unit/TestServer.test.js +394 -0
  185. package/test/unit/api/accounts/accounts.test.js +128 -0
  186. package/test/unit/api/accounts/data/postAccountsBody.json +7 -0
  187. package/test/unit/api/accounts/data/postAccountsErrorMojaloopResponse.json +25 -0
  188. package/test/unit/api/accounts/data/postAccountsErrorTimeoutResponse.json +19 -0
  189. package/test/unit/api/accounts/data/postAccountsSuccessResponse.json +17 -0
  190. package/test/unit/api/accounts/data/postAccountsSuccessResponseWithError1.json +21 -0
  191. package/test/unit/api/accounts/data/postAccountsSuccessResponseWithError2.json +21 -0
  192. package/test/unit/api/accounts/utils.js +65 -0
  193. package/test/unit/api/proxy/data/proxyConfig.yaml +82 -0
  194. package/test/unit/api/proxy/data/requestBody.json +22 -0
  195. package/test/unit/api/proxy/data/requestHeaders.json +5 -0
  196. package/test/unit/api/proxy/data/requestQuery.json +6 -0
  197. package/test/unit/api/proxy/data/responseBody.json +21 -0
  198. package/test/unit/api/proxy/data/responseHeaders.json +5 -0
  199. package/test/unit/api/proxy/proxy.test.js +220 -0
  200. package/test/unit/api/proxy/utils.js +79 -0
  201. package/test/unit/api/transfers/data/getTransfersCommittedResponse.json +21 -0
  202. package/test/unit/api/transfers/data/getTransfersErrorNotFound.json +17 -0
  203. package/test/unit/api/transfers/data/postQuotesBody.json +52 -0
  204. package/test/unit/api/transfers/data/postTransfersBadBody.json +17 -0
  205. package/test/unit/api/transfers/data/postTransfersBody.json +24 -0
  206. package/test/unit/api/transfers/data/postTransfersErrorMojaloopResponse.json +53 -0
  207. package/test/unit/api/transfers/data/postTransfersErrorTimeoutResponse.json +47 -0
  208. package/test/unit/api/transfers/data/postTransfersSimpleBody.json +26 -0
  209. package/test/unit/api/transfers/data/postTransfersSuccessResponse.json +101 -0
  210. package/test/unit/api/transfers/data/putPartiesBody.json +20 -0
  211. package/test/unit/api/transfers/data/putQuotesBody.json +37 -0
  212. package/test/unit/api/transfers/data/putTransfersBody.json +17 -0
  213. package/test/unit/api/transfers/transfers.test.js +191 -0
  214. package/test/unit/api/transfers/utils.js +183 -0
  215. package/test/unit/api/utils.js +75 -0
  216. package/test/unit/config.test.js +119 -0
  217. package/test/unit/data/commonHttpHeaders.json +6 -0
  218. package/test/unit/data/defaultConfig.json +58 -0
  219. package/test/unit/data/postQuotesBody.json +52 -0
  220. package/test/unit/data/putParticipantsBody.json +12 -0
  221. package/test/unit/data/putPartiesBody.json +20 -0
  222. package/test/unit/data/testFile.json +29 -0
  223. package/test/unit/data/testFile.yaml +14 -0
  224. package/test/unit/inboundApi/data/mockArguments.json +117 -0
  225. package/test/unit/inboundApi/data/mockTransactionRequest.json +42 -0
  226. package/test/unit/inboundApi/handlers.test.js +799 -0
  227. package/test/unit/index.test.js +55 -0
  228. package/test/unit/lib/cache.test.js +146 -0
  229. package/test/unit/lib/model/AccountsModel.test.js +121 -0
  230. package/test/unit/lib/model/AuthorizationsModel.test.js +460 -0
  231. package/test/unit/lib/model/InboundTransfersModel.test.js +628 -0
  232. package/test/unit/lib/model/OutboundBulkQuotesModel.test.js +249 -0
  233. package/test/unit/lib/model/OutboundBulkTransfersModel.test.js +244 -0
  234. package/test/unit/lib/model/OutboundRequestToPayModel.test.js +166 -0
  235. package/test/unit/lib/model/OutboundRequestToPayTransferModel.test.js +245 -0
  236. package/test/unit/lib/model/OutboundTransfersModel.test.js +836 -0
  237. package/test/unit/lib/model/PartiesModel.test.js +468 -0
  238. package/test/unit/lib/model/QuotesModel.test.js +470 -0
  239. package/test/unit/lib/model/TransfersModel.test.js +474 -0
  240. package/test/unit/lib/model/common/PersistentStateMachine.test.js +179 -0
  241. package/test/unit/lib/model/data/authorizationsResponse.json +13 -0
  242. package/test/unit/lib/model/data/bulkQuoteRequest.json +27 -0
  243. package/test/unit/lib/model/data/bulkQuoteResponse.json +35 -0
  244. package/test/unit/lib/model/data/bulkTransferFulfil.json +13 -0
  245. package/test/unit/lib/model/data/bulkTransferRequest.json +29 -0
  246. package/test/unit/lib/model/data/defaultConfig.json +47 -0
  247. package/test/unit/lib/model/data/getBulkTransfersBackendResponse.json +42 -0
  248. package/test/unit/lib/model/data/getBulkTransfersMojaloopResponse.json +22 -0
  249. package/test/unit/lib/model/data/getTransfersBackendResponse.json +34 -0
  250. package/test/unit/lib/model/data/getTransfersMojaloopResponse.json +17 -0
  251. package/test/unit/lib/model/data/mockArguments.json +131 -0
  252. package/test/unit/lib/model/data/mockTxnRequestsArguments.json +63 -0
  253. package/test/unit/lib/model/data/notificationToPayee.json +10 -0
  254. package/test/unit/lib/model/data/payeeParty.json +16 -0
  255. package/test/unit/lib/model/data/putAuthorizationsResponse.json +10 -0
  256. package/test/unit/lib/model/data/putQuotesResponse.json +33 -0
  257. package/test/unit/lib/model/data/putTransfersResponse.json +5 -0
  258. package/test/unit/lib/model/data/quoteResponse.json +31 -0
  259. package/test/unit/lib/model/data/requestToPayRequest.json +20 -0
  260. package/test/unit/lib/model/data/requestToPayTransferRequest.json +27 -0
  261. package/test/unit/lib/model/data/transactionRequestResponse.json +18 -0
  262. package/test/unit/lib/model/data/transferFulfil.json +8 -0
  263. package/test/unit/lib/model/data/transferRequest.json +26 -0
  264. package/test/unit/lib/model/mockedLibRequests.js +74 -0
  265. package/test/unit/mockLogger.js +39 -0
  266. package/test/unit/outboundApi/data/bulkQuoteRequest.json +28 -0
  267. package/test/unit/outboundApi/data/bulkTransferRequest.json +28 -0
  268. package/test/unit/outboundApi/data/mockBulkQuoteError.json +45 -0
  269. package/test/unit/outboundApi/data/mockBulkTransferError.json +48 -0
  270. package/test/unit/outboundApi/data/mockError.json +41 -0
  271. package/test/unit/outboundApi/data/mockGetPartiesError.json +4 -0
  272. package/test/unit/outboundApi/data/mockRequestToPayError.json +32 -0
  273. package/test/unit/outboundApi/data/mockRequestToPayTransferError.json +39 -0
  274. package/test/unit/outboundApi/data/requestToPay.json +21 -0
  275. package/test/unit/outboundApi/data/requestToPayTransferRequest.json +20 -0
  276. package/test/unit/outboundApi/data/transferRequest.json +21 -0
  277. package/test/unit/outboundApi/handlers.test.js +986 -0
package/.env.example ADDED
@@ -0,0 +1,140 @@
1
+ # Port number that the inbound (Mojaloop API) HTTP server will listen on
2
+ INBOUND_LISTEN_PORT=4000
3
+
4
+ # Port number that the outbound (simplified DFSP outbound API) HTTP server will listen on
5
+ OUTBOUND_LISTEN_PORT=4001
6
+
7
+ # Port number that the test HTTP server will listen on
8
+ TEST_LISTEN_PORT=4002
9
+
10
+ # Enable mutual TLS authentication. Useful when not running in a secure
11
+ # environment, i.e. when you're running it locally against your own implementation.
12
+ INBOUND_MUTUAL_TLS_ENABLED=false
13
+ OUTBOUND_MUTUAL_TLS_ENABLED=false
14
+
15
+ # Enable verification or incoming JWS signatures
16
+ # Note that signatures will be required on incoming messages
17
+ # and will be validated against a public key.
18
+ VALIDATE_INBOUND_JWS=true
19
+
20
+ # applicable only if VALIDATE_INBOUND_JWS is "true"
21
+ # allows disabling of validation on incoming PUT /parties/{idType}/{idValue} requests
22
+ VALIDATE_INBOUND_PUT_PARTIES_JWS=true
23
+
24
+ # Enable signing of outgoing requests
25
+ JWS_SIGN=true
26
+
27
+ # applicable only if JWS_SIGN is "true"
28
+ # allows disabling of signing on outgoing PUT /parties/{idType}/{idValue} requests
29
+ JWS_SIGN_PUT_PARTIES=true
30
+
31
+ # Path to JWS signing key (private key of THIS DFSP)
32
+ JWS_SIGNING_KEY_PATH=/jwsSigningKey.key
33
+ JWS_VERIFICATION_KEYS_DIRECTORY=/jwsVerificationKeys
34
+
35
+ # Location of certs and key required for TLS
36
+
37
+ IN_CA_CERT_PATH=./secrets/cacert.pem
38
+ IN_SERVER_CERT_PATH=./secrets/servercert.pem
39
+ IN_SERVER_KEY_PATH=./secrets/serverkey.pem
40
+
41
+ OUT_CA_CERT_PATH=./secrets/cacert.pem
42
+ OUT_CLIENT_CERT_PATH=./secrets/servercert.pem
43
+ OUT_CLIENT_KEY_PATH=./secrets/serverkey.pem
44
+
45
+ # The number of space characters by which to indent pretty-printed logs. If set to zero, log events
46
+ # will each be printed on a single line.
47
+ LOG_INDENT=0
48
+
49
+ # REDIS CACHE CONNECTION
50
+ CACHE_HOST=172.17.0.2
51
+ CACHE_PORT=6379
52
+
53
+ # SWITCH ENDPOINT
54
+ # The option 'PEER_ENDPOINT' has no effect if the remaining options 'ALS_ENDPOINT', 'QUOTES_ENDPOINT',
55
+ # 'BULK_QUOTES_ENDPOINT', 'TRANSFERS_ENDPOINT', 'BULK_TRANSFERS_ENDPOINT', 'TRANSACTION_REQUESTS_ENDPOINT' are specified.
56
+ PEER_ENDPOINT=172.17.0.3:4000
57
+ #ALS_ENDPOINT=account-lookup-service.local
58
+ #QUOTES_ENDPOINT=quoting-service.local
59
+ #BULK_QUOTES_ENDPOINT=quoting-service.local
60
+ #TRANSFERS_ENDPOINT=ml-api-adapter.local
61
+ #BULK_TRANSFERS_ENDPOINT=bulk-api-adapter.local
62
+ #TRANSACTION_REQUESTS_ENDPOINT=transaction-requests-service.local
63
+
64
+ # BACKEND ENDPOINT
65
+ BACKEND_ENDPOINT=172.17.0.5:4000
66
+
67
+ # FSPID of this DFSP
68
+ DFSP_ID=mojaloop-sdk
69
+
70
+ # Secret used for generation and verification of secure ILP
71
+ ILP_SECRET=Quaixohyaesahju3thivuiChai5cahng
72
+
73
+ # expiry period in seconds for quote and transfers issued by the SDK
74
+ EXPIRY_SECONDS=60
75
+
76
+ # if set to false the SDK will not automatically accept all returned quotes
77
+ # but will halt the transfer after a quote response is received. A further
78
+ # confirmation call will be required to complete the final transfer stage.
79
+ AUTO_ACCEPT_QUOTES=false
80
+
81
+ # if set to false the SDK will not automatically accept a resolved party
82
+ # but will halt the transer after a party lookup response is received. A further
83
+ # cnofirmation call will be required to progress the transfer to quotes state.
84
+ AUTO_ACCEPT_PARTY=false
85
+
86
+ # this flag is for testing purpose only. sdk-scheme-adapter is not supposed to receive PUT /participants/{Type}/{ID},
87
+ # but for testing we can enable it by setting this flag to true
88
+ AUTO_ACCEPT_PARTICIPANTS_PUT=false
89
+
90
+ # when set to true, when sending money via the outbound API, the SDK will use the value
91
+ # of FSPIOP-Source header from the received quote response as the payeeFsp value in the
92
+ # transfer prepare request body instead of the value received in the payee party lookup.
93
+ # This behaviour should be enabled when the SDK user DFSP is in a forex enabled switch
94
+ # ecosystem and expects quotes and transfers to be rerouted by the switch to forex
95
+ # entities i.e. forex providing DFSPs. Please see the SDK documentation and switch
96
+ # operator documentation for more information on forex use cases.
97
+ USE_QUOTE_SOURCE_FSP_AS_TRANSFER_PAYEE_FSP=false
98
+
99
+ # set to true to validate ILP, otherwise false to ignore ILP
100
+ CHECK_ILP=true
101
+
102
+ # set to true to enable test features such as request cacheing and retrieval endpoints
103
+ ENABLE_TEST_FEATURES=false
104
+
105
+ # set to true to mock WSO2 oauth2 token endpoint
106
+ ENABLE_OAUTH_TOKEN_ENDPOINT=false
107
+ OAUTH_TOKEN_ENDPOINT_CLIENT_KEY=test-client-key
108
+ OAUTH_TOKEN_ENDPOINT_CLIENT_SECRET=test-client-secret
109
+ OAUTH_TOKEN_ENDPOINT_LISTEN_PORT=6000
110
+
111
+ # WSO2 Bearer Token specific to golden-fsp instance and environment
112
+ WSO2_BEARER_TOKEN=7718fa9b-be13-3fe7-87f0-a12cf1628168
113
+
114
+ # OAuth2 data used to obtain WSO2 bearer token
115
+ OAUTH_TOKEN_ENDPOINT=
116
+ OAUTH_CLIENT_KEY=
117
+ OAUTH_CLIENT_SECRET=
118
+ OAUTH_REFRESH_SECONDS=3600
119
+
120
+ # Set to true to respect expirity timestamps
121
+ REJECT_EXPIRED_QUOTE_RESPONSES=false
122
+ REJECT_TRANSFERS_ON_EXPIRED_QUOTES=false
123
+ REJECT_EXPIRED_TRANSFER_FULFILS=false
124
+
125
+ # Timeout for GET/POST/DELETE - PUT flow processing
126
+ REQUEST_PROCESSING_TIMEOUT_SECONDS=30
127
+
128
+ # Common Account Lookup System (ALS)
129
+ ALS_ENDPOINT=127.0.0.1:6500
130
+
131
+ # To allow transfer without a previous quote request, set this value to true.
132
+ # The incoming transfer request should consists of an ILP packet and a matching condition in this case.
133
+ # The fulfilment will be generated from the provided ILP packet, and must hash to the provided condition.
134
+ ALLOW_TRANSFER_WITHOUT_QUOTE=false
135
+
136
+ # To enable request for notification on fulfiled transfer
137
+ RESERVE_NOTIFICATION=true
138
+
139
+ # resources API versions should be string in format: "resouceOneName=1.0,resourceTwoName=1.1"
140
+ RESOURCE_VERSIONS="transfers=1.1,participants=1.1"
package/.eslintignore ADDED
@@ -0,0 +1,2 @@
1
+ coverage
2
+ templates
package/.eslintrc.json ADDED
@@ -0,0 +1,30 @@
1
+ {
2
+ "env": {
3
+ "es2020": true,
4
+ "node": true,
5
+ "jest": true
6
+ },
7
+ "extends": "eslint:recommended",
8
+ "rules": {
9
+ "indent": [
10
+ "error",
11
+ 4,
12
+ { "SwitchCase": 1 }
13
+ ],
14
+ "linebreak-style": [
15
+ 2,
16
+ "unix"
17
+ ],
18
+ "quotes": [
19
+ 2,
20
+ "single"
21
+ ],
22
+ "semi": [
23
+ 2,
24
+ "always"
25
+ ],
26
+ "no-console": 2,
27
+ "no-prototype-builtins": "off"
28
+ },
29
+ "plugins": ["jest"]
30
+ }
package/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ v14.15
package/.versionrc ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "types": [
3
+ {"type": "feat", "section": "Features"},
4
+ {"type": "fix", "section": "Bug Fixes"},
5
+ {"type": "docs", "section": "Documentation"},
6
+ {"type": "style", "section": "Styling"},
7
+ {"type": "refactor", "section": "Refactors"},
8
+ {"type": "perf", "section": "Performance"},
9
+ {"type": "test", "section": "Tests"},
10
+ {"type": "build", "section": "Build System"},
11
+ {"type": "ci", "section": "CI"},
12
+ {"type": "chore", "section": "Chore"},
13
+ {"type": "revert", "section": "Reverts"}
14
+ ]
15
+ }
package/CHANGELOG.md ADDED
@@ -0,0 +1,118 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
+
5
+ ### [11.18.8](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.18.7...v11.18.8) (2021-09-16)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * **mojaloop/#2478:** sdk-scheme-adapter does not publish ws notifications when cache is restarted ([0a301c5](https://github.com/mojaloop/sdk-scheme-adapter/commit/0a301c59f3a17adc3e32d1965353b776c568ecae)), closes [mojaloop/#2478](https://github.com/mojaloop/sdk-scheme-adapter/issues/2478)
11
+
12
+
13
+ ### Chore
14
+
15
+ * maintenance updates ([ebe5ce5](https://github.com/mojaloop/sdk-scheme-adapter/commit/ebe5ce56c93ae564c4e1055c65ba130f11b623f2))
16
+
17
+ ### [11.18.7](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.18.6...v11.18.7) (2021-08-27)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **mojaloop/#2436:** sdk-sch-adapter inb-API responds incorrectly for 'Unknown uri' error scenario ([132f941](https://github.com/mojaloop/sdk-scheme-adapter/commit/132f941a365bfa60b456d21b4a5d301fb3af9695)), closes [mojaloop/#2436](https://github.com/mojaloop/sdk-scheme-adapter/issues/2436)
23
+
24
+ ### [11.18.6](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.18.5...v11.18.6) (2021-08-26)
25
+
26
+
27
+ ### Bug Fixes
28
+
29
+ * **mojaloop/#2433:** sdk-scheme-adapter-v11.18.5-release-failing-on-startup ([39cc8e2](https://github.com/mojaloop/sdk-scheme-adapter/commit/39cc8e2df09676798e0e6062d13f3de903544adf)), closes [mojaloop/#2433](https://github.com/mojaloop/sdk-scheme-adapter/issues/2433)
30
+
31
+ ### [11.18.5](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.18.4...v11.18.5) (2021-08-25)
32
+
33
+
34
+ ### Chore
35
+
36
+ * regenerate openapi3 definitions ([#281](https://github.com/mojaloop/sdk-scheme-adapter/issues/281)) ([3db7a0a](https://github.com/mojaloop/sdk-scheme-adapter/commit/3db7a0a9b2a4459e0c817bfe31738104d23e6543))
37
+
38
+ ### [11.18.4](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.18.3...v11.18.4) (2021-08-06)
39
+
40
+ ### [11.18.2](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.18.0...v11.18.2) (2021-07-28)
41
+
42
+ ## [11.18.0](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.17.1...v11.18.0) (2021-06-21)
43
+
44
+
45
+ ### Features
46
+
47
+ * **#2264:** add more robust header validation for inbound server ([#278](https://github.com/mojaloop/sdk-scheme-adapter/issues/278)) ([9ea24d7](https://github.com/mojaloop/sdk-scheme-adapter/commit/9ea24d748ccd58fdfb30c77e98b021aa6a607b4f)), closes [#2264](https://github.com/mojaloop/sdk-scheme-adapter/issues/2264)
48
+
49
+ ### [11.17.1](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.17.0...v11.17.1) (2021-06-11)
50
+
51
+
52
+ ### Bug Fixes
53
+
54
+ * **2151:** helm-release-v12.1.0 ([c1b7f01](https://github.com/mojaloop/sdk-scheme-adapter/commit/c1b7f0192d1bb2de8cc660f3835543a518c084f3))
55
+
56
+ ## [11.17.0](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.16.2...v11.17.0) (2021-06-09)
57
+
58
+
59
+ ### Features
60
+
61
+ * **2151:** helm-release-v12.1.0 ([391dacc](https://github.com/mojaloop/sdk-scheme-adapter/commit/391dacc88558acb75277c197c64f0ee8aa5ada17))
62
+
63
+ ### [11.16.2](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.16.1...v11.16.2) (2021-04-21)
64
+
65
+
66
+ ### Bug Fixes
67
+
68
+ * correct transfers response structure as per API def ([#271](https://github.com/mojaloop/sdk-scheme-adapter/issues/271)) ([b143281](https://github.com/mojaloop/sdk-scheme-adapter/commit/b143281f6252bf5d228c94223959c6d7805a9efb))
69
+
70
+ ### [11.16.1](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.16.0...v11.16.1) (2021-04-14)
71
+
72
+
73
+ ### Bug Fixes
74
+
75
+ * **api-outbound:** proper response schema for post /authorization sync response ([#270](https://github.com/mojaloop/sdk-scheme-adapter/issues/270)) ([6535c1d](https://github.com/mojaloop/sdk-scheme-adapter/commit/6535c1de145ff58db48bc5be61dae9b0133786d8))
76
+
77
+ ## [11.16.0](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.15.0...v11.16.0) (2021-03-26)
78
+
79
+
80
+ ### Features
81
+
82
+ * add extensionList to quote request/response ([#269](https://github.com/mojaloop/sdk-scheme-adapter/issues/269)) ([9cbed66](https://github.com/mojaloop/sdk-scheme-adapter/commit/9cbed66f0db4190f2f34cd7ba3d531a8bbb95d79))
83
+
84
+ ## [11.15.0](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.14.9...v11.15.0) (2021-03-18)
85
+
86
+
87
+ ### Features
88
+
89
+ * add authorization definition for Outbound typescript ([#268](https://github.com/mojaloop/sdk-scheme-adapter/issues/268)) ([78402ba](https://github.com/mojaloop/sdk-scheme-adapter/commit/78402bab71f98ff6f5cd29c07313b4f8e129c808))
90
+
91
+ ### [11.14.9](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.14.8...v11.14.9) (2021-03-08)
92
+
93
+
94
+ ### Documentation
95
+
96
+ * add overview of automated releases in readme ([#266](https://github.com/mojaloop/sdk-scheme-adapter/issues/266)) ([e0a0eaa](https://github.com/mojaloop/sdk-scheme-adapter/commit/e0a0eaa077663f4fddeb35159d5a7aec6eb40f3e))
97
+
98
+ ### [11.14.8](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.14.6...v11.14.8) (2021-03-01)
99
+
100
+
101
+ ### Chore
102
+
103
+ * update deps ([#267](https://github.com/mojaloop/sdk-scheme-adapter/issues/267)) ([3ab14c8](https://github.com/mojaloop/sdk-scheme-adapter/commit/3ab14c85501592f5593700a965cda004bfc92a07))
104
+
105
+ ### [11.14.6](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.14.5...v11.14.6) (2021-02-24)
106
+
107
+
108
+ ### Chore
109
+
110
+ * fix hidden commit types not being included in changelog ([#265](https://github.com/mojaloop/sdk-scheme-adapter/issues/265)) ([c0e7f08](https://github.com/mojaloop/sdk-scheme-adapter/commit/c0e7f082bcd5de0440a708f12bbd4e5235081140))
111
+
112
+ ### [11.14.5](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.14.4...v11.14.5) (2021-02-24)
113
+
114
+ ### [11.14.4](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.14.3...v11.14.4) (2021-02-24)
115
+
116
+ ### [11.14.3](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.14.1...v11.14.3) (2021-02-24)
117
+
118
+ ### [11.14.2](https://github.com/mojaloop/sdk-scheme-adapter/compare/v11.14.1...v11.14.2) (2021-02-24)
@@ -0,0 +1,3594 @@
1
+ openapi: 3.0.0
2
+ info:
3
+ version: '1.1'
4
+ title: Open API for FSP Interoperability (FSPIOP)
5
+ description: >-
6
+ Based on API Definition.docx updated on 2020-05-19 Version 1.1. API supports
7
+ a maximum size of 65536 bytes (64 Kilobytes) in the HTTP header.
8
+ license:
9
+ name: Open API for FSP Interoperability (FSPIOP)
10
+ paths:
11
+ '/participants/{ID}/error':
12
+ put:
13
+ description: >-
14
+ If there is an error during FSP information creation in the server, the
15
+ error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the
16
+ URI should contain the requestId that was used for the creation of the
17
+ participant information.
18
+ summary: Return bulk participant information error
19
+ tags:
20
+ - participants
21
+ operationId: ParticipantsByIDAndError
22
+ parameters:
23
+ - $ref: '#/components/parameters/ID'
24
+ - $ref: '#/components/parameters/Content-Length'
25
+ - $ref: '#/components/parameters/Content-Type'
26
+ - $ref: '#/components/parameters/Date'
27
+ - $ref: '#/components/parameters/X-Forwarded-For'
28
+ - $ref: '#/components/parameters/FSPIOP-Source'
29
+ - $ref: '#/components/parameters/FSPIOP-Destination'
30
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
31
+ - $ref: '#/components/parameters/FSPIOP-Signature'
32
+ - $ref: '#/components/parameters/FSPIOP-URI'
33
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
34
+ requestBody:
35
+ description: Details of the error returned.
36
+ required: true
37
+ content:
38
+ application/json:
39
+ schema:
40
+ $ref: '#/components/schemas/ErrorInformationObject'
41
+ responses:
42
+ '200':
43
+ $ref: '#/components/responses/200'
44
+ '400':
45
+ $ref: '#/components/responses/400'
46
+ '401':
47
+ $ref: '#/components/responses/401'
48
+ '403':
49
+ $ref: '#/components/responses/403'
50
+ '404':
51
+ $ref: '#/components/responses/404'
52
+ '405':
53
+ $ref: '#/components/responses/405'
54
+ '406':
55
+ $ref: '#/components/responses/406'
56
+ '501':
57
+ $ref: '#/components/responses/501'
58
+ '503':
59
+ $ref: '#/components/responses/503'
60
+ '/participants/{ID}':
61
+ put:
62
+ description: >-
63
+ The callback `PUT /participants/{ID}` is used to inform the client of
64
+ the result of the creation of the provided list of identities.
65
+ summary: Return bulk participant information
66
+ tags:
67
+ - participants
68
+ operationId: putParticipantsByID
69
+ parameters:
70
+ - $ref: '#/components/parameters/ID'
71
+ - $ref: '#/components/parameters/Content-Length'
72
+ - $ref: '#/components/parameters/Content-Type'
73
+ - $ref: '#/components/parameters/Date'
74
+ - $ref: '#/components/parameters/X-Forwarded-For'
75
+ - $ref: '#/components/parameters/FSPIOP-Source'
76
+ - $ref: '#/components/parameters/FSPIOP-Destination'
77
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
78
+ - $ref: '#/components/parameters/FSPIOP-Signature'
79
+ - $ref: '#/components/parameters/FSPIOP-URI'
80
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
81
+ requestBody:
82
+ description: Participant information returned.
83
+ required: true
84
+ content:
85
+ application/json:
86
+ schema:
87
+ $ref: '#/components/schemas/ParticipantsIDPutResponse'
88
+ responses:
89
+ '200':
90
+ $ref: '#/components/responses/200'
91
+ '400':
92
+ $ref: '#/components/responses/400'
93
+ '401':
94
+ $ref: '#/components/responses/401'
95
+ '403':
96
+ $ref: '#/components/responses/403'
97
+ '404':
98
+ $ref: '#/components/responses/404'
99
+ '405':
100
+ $ref: '#/components/responses/405'
101
+ '406':
102
+ $ref: '#/components/responses/406'
103
+ '501':
104
+ $ref: '#/components/responses/501'
105
+ '503':
106
+ $ref: '#/components/responses/503'
107
+ '/participants/{Type}/{ID}/error':
108
+ put:
109
+ description: >-
110
+ If the server is unable to find, create or delete the associated FSP of
111
+ the provided identity, or another processing error occurred, the error
112
+ callback `PUT /participants/{Type}/{ID}/error` (or `PUT
113
+ /participants/{Type}/{ID}/{SubId}/error`) is used.
114
+ summary: Return participant information error
115
+ tags:
116
+ - participants
117
+ operationId: ParticipantsErrorByTypeAndID
118
+ parameters:
119
+ - $ref: '#/components/parameters/Type'
120
+ - $ref: '#/components/parameters/ID'
121
+ - $ref: '#/components/parameters/Content-Length'
122
+ - $ref: '#/components/parameters/Content-Type'
123
+ - $ref: '#/components/parameters/Date'
124
+ - $ref: '#/components/parameters/X-Forwarded-For'
125
+ - $ref: '#/components/parameters/FSPIOP-Source'
126
+ - $ref: '#/components/parameters/FSPIOP-Destination'
127
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
128
+ - $ref: '#/components/parameters/FSPIOP-Signature'
129
+ - $ref: '#/components/parameters/FSPIOP-URI'
130
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
131
+ requestBody:
132
+ description: Details of the error returned.
133
+ required: true
134
+ content:
135
+ application/json:
136
+ schema:
137
+ $ref: '#/components/schemas/ErrorInformationObject'
138
+ responses:
139
+ '200':
140
+ $ref: '#/components/responses/200'
141
+ '400':
142
+ $ref: '#/components/responses/400'
143
+ '401':
144
+ $ref: '#/components/responses/401'
145
+ '403':
146
+ $ref: '#/components/responses/403'
147
+ '404':
148
+ $ref: '#/components/responses/404'
149
+ '405':
150
+ $ref: '#/components/responses/405'
151
+ '406':
152
+ $ref: '#/components/responses/406'
153
+ '501':
154
+ $ref: '#/components/responses/501'
155
+ '503':
156
+ $ref: '#/components/responses/503'
157
+ '/participants/{Type}/{ID}/{SubId}/error':
158
+ put:
159
+ description: >-
160
+ If the server is unable to find, create or delete the associated FSP of
161
+ the provided identity, or another processing error occurred, the error
162
+ callback `PUT /participants/{Type}/{ID}/error` (or `PUT
163
+ /participants/{Type}/{ID}/{SubId}/error`) is used.
164
+ summary: Return participant information error
165
+ tags:
166
+ - participants
167
+ operationId: ParticipantsSubIdErrorByTypeAndID
168
+ parameters:
169
+ - $ref: '#/components/parameters/Type'
170
+ - $ref: '#/components/parameters/ID'
171
+ - $ref: '#/components/parameters/SubId'
172
+ - $ref: '#/components/parameters/Content-Length'
173
+ - $ref: '#/components/parameters/Content-Type'
174
+ - $ref: '#/components/parameters/Date'
175
+ - $ref: '#/components/parameters/X-Forwarded-For'
176
+ - $ref: '#/components/parameters/FSPIOP-Source'
177
+ - $ref: '#/components/parameters/FSPIOP-Destination'
178
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
179
+ - $ref: '#/components/parameters/FSPIOP-Signature'
180
+ - $ref: '#/components/parameters/FSPIOP-URI'
181
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
182
+ requestBody:
183
+ description: Details of the error returned.
184
+ required: true
185
+ content:
186
+ application/json:
187
+ schema:
188
+ $ref: '#/components/schemas/ErrorInformationObject'
189
+ responses:
190
+ '200':
191
+ $ref: '#/components/responses/200'
192
+ '400':
193
+ $ref: '#/components/responses/400'
194
+ '401':
195
+ $ref: '#/components/responses/401'
196
+ '403':
197
+ $ref: '#/components/responses/403'
198
+ '404':
199
+ $ref: '#/components/responses/404'
200
+ '405':
201
+ $ref: '#/components/responses/405'
202
+ '406':
203
+ $ref: '#/components/responses/406'
204
+ '501':
205
+ $ref: '#/components/responses/501'
206
+ '503':
207
+ $ref: '#/components/responses/503'
208
+ '/participants/{Type}/{ID}/{SubId}':
209
+ parameters:
210
+ - $ref: '#/components/parameters/Type'
211
+ - $ref: '#/components/parameters/ID'
212
+ - $ref: '#/components/parameters/SubId'
213
+ - $ref: '#/components/parameters/Content-Type'
214
+ - $ref: '#/components/parameters/Date'
215
+ - $ref: '#/components/parameters/X-Forwarded-For'
216
+ - $ref: '#/components/parameters/FSPIOP-Source'
217
+ - $ref: '#/components/parameters/FSPIOP-Destination'
218
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
219
+ - $ref: '#/components/parameters/FSPIOP-Signature'
220
+ - $ref: '#/components/parameters/FSPIOP-URI'
221
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
222
+ post:
223
+ description: >-
224
+ The HTTP request `POST /participants/{Type}/{ID}` (or `POST
225
+ /participants/{Type}/{ID}/{SubId}`) is used to create information in the
226
+ server regarding the provided identity, defined by `{Type}`, `{ID}`, and
227
+ optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789`
228
+ or `POST /participants/BUSINESS/shoecompany/employee1`). An
229
+ ExtensionList element has been added to this reqeust in version v1.1
230
+ summary: Create participant information
231
+ tags:
232
+ - participants
233
+ operationId: ParticipantsSubIdByTypeAndIDPost
234
+ parameters:
235
+ - $ref: '#/components/parameters/Accept'
236
+ - $ref: '#/components/parameters/Content-Length'
237
+ requestBody:
238
+ description: Participant information to be created.
239
+ required: true
240
+ content:
241
+ application/json:
242
+ schema:
243
+ $ref: '#/components/schemas/ParticipantsTypeIDSubIDPostRequest'
244
+ responses:
245
+ '202':
246
+ $ref: '#/components/responses/202'
247
+ '400':
248
+ $ref: '#/components/responses/400'
249
+ '401':
250
+ $ref: '#/components/responses/401'
251
+ '403':
252
+ $ref: '#/components/responses/403'
253
+ '404':
254
+ $ref: '#/components/responses/404'
255
+ '405':
256
+ $ref: '#/components/responses/405'
257
+ '406':
258
+ $ref: '#/components/responses/406'
259
+ '501':
260
+ $ref: '#/components/responses/501'
261
+ '503':
262
+ $ref: '#/components/responses/503'
263
+ get:
264
+ description: >-
265
+ The HTTP request `GET /participants/{Type}/{ID}` (or `GET
266
+ /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the
267
+ requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`,
268
+ is located (for example, `GET /participants/MSISDN/123456789`, or `GET
269
+ /participants/BUSINESS/shoecompany/employee1`). This HTTP request should
270
+ support a query string for filtering of currency. To use filtering of
271
+ currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ`
272
+ should be used, where `XYZ` is the requested currency.
273
+ summary: Look up participant information
274
+ tags:
275
+ - participants
276
+ operationId: ParticipantsSubIdByTypeAndID
277
+ parameters:
278
+ - $ref: '#/components/parameters/Accept'
279
+ responses:
280
+ '202':
281
+ $ref: '#/components/responses/202'
282
+ '400':
283
+ $ref: '#/components/responses/400'
284
+ '401':
285
+ $ref: '#/components/responses/401'
286
+ '403':
287
+ $ref: '#/components/responses/403'
288
+ '404':
289
+ $ref: '#/components/responses/404'
290
+ '405':
291
+ $ref: '#/components/responses/405'
292
+ '406':
293
+ $ref: '#/components/responses/406'
294
+ '501':
295
+ $ref: '#/components/responses/501'
296
+ '503':
297
+ $ref: '#/components/responses/503'
298
+ put:
299
+ description: >-
300
+ The callback `PUT /participants/{Type}/{ID}` (or `PUT
301
+ /participants/{Type}/{ID}/{SubId}`) is used to inform the client of a
302
+ successful result of the lookup, creation, or deletion of the FSP
303
+ information related to the Party. If the FSP information is deleted, the
304
+ fspId element should be empty; otherwise the element should include the
305
+ FSP information for the Party.
306
+ summary: Return participant information
307
+ tags:
308
+ - participants
309
+ operationId: ParticipantsSubIdByTypeAndID3
310
+ parameters:
311
+ - $ref: '#/components/parameters/Content-Length'
312
+ requestBody:
313
+ description: Participant information returned.
314
+ required: true
315
+ content:
316
+ application/json:
317
+ schema:
318
+ $ref: '#/components/schemas/ParticipantsTypeIDPutResponse'
319
+ responses:
320
+ '200':
321
+ $ref: '#/components/responses/200'
322
+ '400':
323
+ $ref: '#/components/responses/400'
324
+ '401':
325
+ $ref: '#/components/responses/401'
326
+ '403':
327
+ $ref: '#/components/responses/403'
328
+ '404':
329
+ $ref: '#/components/responses/404'
330
+ '405':
331
+ $ref: '#/components/responses/405'
332
+ '406':
333
+ $ref: '#/components/responses/406'
334
+ '501':
335
+ $ref: '#/components/responses/501'
336
+ '503':
337
+ $ref: '#/components/responses/503'
338
+ delete:
339
+ description: >-
340
+ The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE
341
+ /participants/{Type}/{ID}/{SubId}`) is used to delete information in the
342
+ server regarding the provided identity, defined by `{Type}` and `{ID}`)
343
+ (for example, `DELETE /participants/MSISDN/123456789`), and optionally
344
+ `{SubId}`. This HTTP request should support a query string to delete FSP
345
+ information regarding a specific currency only. To delete a specific
346
+ currency only, the HTTP request `DELETE
347
+ /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is
348
+ the requested currency.
349
+
350
+
351
+ **Note:** The Account Lookup System should verify that it is the Party’s
352
+ current FSP that is deleting the FSP information.
353
+ summary: Delete participant information
354
+ tags:
355
+ - participants
356
+ operationId: ParticipantsSubIdByTypeAndID2
357
+ parameters:
358
+ - $ref: '#/components/parameters/Accept'
359
+ responses:
360
+ '202':
361
+ $ref: '#/components/responses/202'
362
+ '400':
363
+ $ref: '#/components/responses/400'
364
+ '401':
365
+ $ref: '#/components/responses/401'
366
+ '403':
367
+ $ref: '#/components/responses/403'
368
+ '404':
369
+ $ref: '#/components/responses/404'
370
+ '405':
371
+ $ref: '#/components/responses/405'
372
+ '406':
373
+ $ref: '#/components/responses/406'
374
+ '501':
375
+ $ref: '#/components/responses/501'
376
+ '503':
377
+ $ref: '#/components/responses/503'
378
+ '/participants/{Type}/{ID}':
379
+ parameters:
380
+ - $ref: '#/components/parameters/Type'
381
+ - $ref: '#/components/parameters/ID'
382
+ - $ref: '#/components/parameters/Content-Type'
383
+ - $ref: '#/components/parameters/Date'
384
+ - $ref: '#/components/parameters/X-Forwarded-For'
385
+ - $ref: '#/components/parameters/FSPIOP-Source'
386
+ - $ref: '#/components/parameters/FSPIOP-Destination'
387
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
388
+ - $ref: '#/components/parameters/FSPIOP-Signature'
389
+ - $ref: '#/components/parameters/FSPIOP-URI'
390
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
391
+ post:
392
+ description: >-
393
+ The HTTP request `POST /participants/{Type}/{ID}` (or `POST
394
+ /participants/{Type}/{ID}/{SubId}`) is used to create information in the
395
+ server regarding the provided identity, defined by `{Type}`, `{ID}`, and
396
+ optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789`
397
+ or `POST /participants/BUSINESS/shoecompany/employee1`). An
398
+ ExtensionList element has been added to this reqeust in version v1.1
399
+ summary: Create participant information
400
+ tags:
401
+ - participants
402
+ operationId: ParticipantsByIDAndType
403
+ parameters:
404
+ - $ref: '#/components/parameters/Accept'
405
+ - $ref: '#/components/parameters/Content-Length'
406
+ requestBody:
407
+ description: Participant information to be created.
408
+ required: true
409
+ content:
410
+ application/json:
411
+ schema:
412
+ $ref: '#/components/schemas/ParticipantsTypeIDSubIDPostRequest'
413
+ responses:
414
+ '202':
415
+ $ref: '#/components/responses/202'
416
+ '400':
417
+ $ref: '#/components/responses/400'
418
+ '401':
419
+ $ref: '#/components/responses/401'
420
+ '403':
421
+ $ref: '#/components/responses/403'
422
+ '404':
423
+ $ref: '#/components/responses/404'
424
+ '405':
425
+ $ref: '#/components/responses/405'
426
+ '406':
427
+ $ref: '#/components/responses/406'
428
+ '501':
429
+ $ref: '#/components/responses/501'
430
+ '503':
431
+ $ref: '#/components/responses/503'
432
+ get:
433
+ description: >-
434
+ The HTTP request `GET /participants/{Type}/{ID}` (or `GET
435
+ /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the
436
+ requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`,
437
+ is located (for example, `GET /participants/MSISDN/123456789`, or `GET
438
+ /participants/BUSINESS/shoecompany/employee1`). This HTTP request should
439
+ support a query string for filtering of currency. To use filtering of
440
+ currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ`
441
+ should be used, where `XYZ` is the requested currency.
442
+ summary: Look up participant information
443
+ tags:
444
+ - participants
445
+ operationId: ParticipantsByTypeAndID
446
+ parameters:
447
+ - $ref: '#/components/parameters/Accept'
448
+ responses:
449
+ '202':
450
+ $ref: '#/components/responses/202'
451
+ '400':
452
+ $ref: '#/components/responses/400'
453
+ '401':
454
+ $ref: '#/components/responses/401'
455
+ '403':
456
+ $ref: '#/components/responses/403'
457
+ '404':
458
+ $ref: '#/components/responses/404'
459
+ '405':
460
+ $ref: '#/components/responses/405'
461
+ '406':
462
+ $ref: '#/components/responses/406'
463
+ '501':
464
+ $ref: '#/components/responses/501'
465
+ '503':
466
+ $ref: '#/components/responses/503'
467
+ put:
468
+ description: >-
469
+ The callback `PUT /participants/{Type}/{ID}` (or `PUT
470
+ /participants/{Type}/{ID}/{SubId}`) is used to inform the client of a
471
+ successful result of the lookup, creation, or deletion of the FSP
472
+ information related to the Party. If the FSP information is deleted, the
473
+ fspId element should be empty; otherwise the element should include the
474
+ FSP information for the Party.
475
+ summary: Return participant information
476
+ tags:
477
+ - participants
478
+ operationId: ParticipantsByTypeAndID3
479
+ parameters:
480
+ - $ref: '#/components/parameters/Content-Length'
481
+ requestBody:
482
+ description: Participant information returned.
483
+ required: true
484
+ content:
485
+ application/json:
486
+ schema:
487
+ $ref: '#/components/schemas/ParticipantsTypeIDPutResponse'
488
+ responses:
489
+ '200':
490
+ $ref: '#/components/responses/200'
491
+ '400':
492
+ $ref: '#/components/responses/400'
493
+ '401':
494
+ $ref: '#/components/responses/401'
495
+ '403':
496
+ $ref: '#/components/responses/403'
497
+ '404':
498
+ $ref: '#/components/responses/404'
499
+ '405':
500
+ $ref: '#/components/responses/405'
501
+ '406':
502
+ $ref: '#/components/responses/406'
503
+ '501':
504
+ $ref: '#/components/responses/501'
505
+ '503':
506
+ $ref: '#/components/responses/503'
507
+ delete:
508
+ description: >-
509
+ The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE
510
+ /participants/{Type}/{ID}/{SubId}`) is used to delete information in the
511
+ server regarding the provided identity, defined by `{Type}` and `{ID}`)
512
+ (for example, `DELETE /participants/MSISDN/123456789`), and optionally
513
+ `{SubId}`. This HTTP request should support a query string to delete FSP
514
+ information regarding a specific currency only. To delete a specific
515
+ currency only, the HTTP request `DELETE
516
+ /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is
517
+ the requested currency.
518
+
519
+
520
+ **Note:** The Account Lookup System should verify that it is the Party’s
521
+ current FSP that is deleting the FSP information.
522
+ summary: Delete participant information
523
+ tags:
524
+ - participants
525
+ operationId: ParticipantsByTypeAndID2
526
+ parameters:
527
+ - $ref: '#/components/parameters/Accept'
528
+ responses:
529
+ '202':
530
+ $ref: '#/components/responses/202'
531
+ '400':
532
+ $ref: '#/components/responses/400'
533
+ '401':
534
+ $ref: '#/components/responses/401'
535
+ '403':
536
+ $ref: '#/components/responses/403'
537
+ '404':
538
+ $ref: '#/components/responses/404'
539
+ '405':
540
+ $ref: '#/components/responses/405'
541
+ '406':
542
+ $ref: '#/components/responses/406'
543
+ '501':
544
+ $ref: '#/components/responses/501'
545
+ '503':
546
+ $ref: '#/components/responses/503'
547
+ /participants:
548
+ post:
549
+ description: >-
550
+ The HTTP request `POST /participants` is used to create information in
551
+ the server regarding the provided list of identities. This request
552
+ should be used for bulk creation of FSP information for more than one
553
+ Party. The optional currency parameter should indicate that each
554
+ provided Party supports the currency.
555
+ summary: Create bulk participant information
556
+ tags:
557
+ - participants
558
+ operationId: Participants1
559
+ parameters:
560
+ - $ref: '#/components/parameters/Accept'
561
+ - $ref: '#/components/parameters/Content-Length'
562
+ - $ref: '#/components/parameters/Content-Type'
563
+ - $ref: '#/components/parameters/Date'
564
+ - $ref: '#/components/parameters/X-Forwarded-For'
565
+ - $ref: '#/components/parameters/FSPIOP-Source'
566
+ - $ref: '#/components/parameters/FSPIOP-Destination'
567
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
568
+ - $ref: '#/components/parameters/FSPIOP-Signature'
569
+ - $ref: '#/components/parameters/FSPIOP-URI'
570
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
571
+ requestBody:
572
+ description: Participant information to be created.
573
+ required: true
574
+ content:
575
+ application/json:
576
+ schema:
577
+ $ref: '#/components/schemas/ParticipantsPostRequest'
578
+ responses:
579
+ '202':
580
+ $ref: '#/components/responses/202'
581
+ '400':
582
+ $ref: '#/components/responses/400'
583
+ '401':
584
+ $ref: '#/components/responses/401'
585
+ '403':
586
+ $ref: '#/components/responses/403'
587
+ '404':
588
+ $ref: '#/components/responses/404'
589
+ '405':
590
+ $ref: '#/components/responses/405'
591
+ '406':
592
+ $ref: '#/components/responses/406'
593
+ '501':
594
+ $ref: '#/components/responses/501'
595
+ '503':
596
+ $ref: '#/components/responses/503'
597
+ '/parties/{Type}/{ID}':
598
+ parameters:
599
+ - $ref: '#/components/parameters/Type'
600
+ - $ref: '#/components/parameters/ID'
601
+ - $ref: '#/components/parameters/Content-Type'
602
+ - $ref: '#/components/parameters/Date'
603
+ - $ref: '#/components/parameters/X-Forwarded-For'
604
+ - $ref: '#/components/parameters/FSPIOP-Source'
605
+ - $ref: '#/components/parameters/FSPIOP-Destination'
606
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
607
+ - $ref: '#/components/parameters/FSPIOP-Signature'
608
+ - $ref: '#/components/parameters/FSPIOP-URI'
609
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
610
+ get:
611
+ description: >-
612
+ The HTTP request `GET /parties/{Type}/{ID}` (or `GET
613
+ /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding
614
+ the requested Party, defined by `{Type}`, `{ID}` and optionally
615
+ `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET
616
+ /parties/BUSINESS/shoecompany/employee1`).
617
+ summary: Look up party information
618
+ tags:
619
+ - parties
620
+ operationId: PartiesByTypeAndID
621
+ parameters:
622
+ - $ref: '#/components/parameters/Accept'
623
+ responses:
624
+ '202':
625
+ $ref: '#/components/responses/202'
626
+ '400':
627
+ $ref: '#/components/responses/400'
628
+ '401':
629
+ $ref: '#/components/responses/401'
630
+ '403':
631
+ $ref: '#/components/responses/403'
632
+ '404':
633
+ $ref: '#/components/responses/404'
634
+ '405':
635
+ $ref: '#/components/responses/405'
636
+ '406':
637
+ $ref: '#/components/responses/406'
638
+ '501':
639
+ $ref: '#/components/responses/501'
640
+ '503':
641
+ $ref: '#/components/responses/503'
642
+ put:
643
+ description: >-
644
+ The callback `PUT /parties/{Type}/{ID}` (or `PUT
645
+ /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a
646
+ successful result of the Party information lookup.
647
+ summary: Return party information
648
+ tags:
649
+ - parties
650
+ operationId: PartiesByTypeAndID2
651
+ parameters:
652
+ - $ref: '#/components/parameters/Content-Length'
653
+ requestBody:
654
+ description: Party information returned.
655
+ required: true
656
+ content:
657
+ application/json:
658
+ schema:
659
+ $ref: '#/components/schemas/PartiesTypeIDPutResponse'
660
+ responses:
661
+ '200':
662
+ $ref: '#/components/responses/200'
663
+ '400':
664
+ $ref: '#/components/responses/400'
665
+ '401':
666
+ $ref: '#/components/responses/401'
667
+ '403':
668
+ $ref: '#/components/responses/403'
669
+ '404':
670
+ $ref: '#/components/responses/404'
671
+ '405':
672
+ $ref: '#/components/responses/405'
673
+ '406':
674
+ $ref: '#/components/responses/406'
675
+ '501':
676
+ $ref: '#/components/responses/501'
677
+ '503':
678
+ $ref: '#/components/responses/503'
679
+ '/parties/{Type}/{ID}/error':
680
+ put:
681
+ description: >-
682
+ If the server is unable to find Party information of the provided
683
+ identity, or another processing error occurred, the error callback `PUT
684
+ /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`)
685
+ is used.
686
+ summary: Return party information error
687
+ tags:
688
+ - parties
689
+ operationId: PartiesErrorByTypeAndID
690
+ parameters:
691
+ - $ref: '#/components/parameters/Type'
692
+ - $ref: '#/components/parameters/ID'
693
+ - $ref: '#/components/parameters/Content-Length'
694
+ - $ref: '#/components/parameters/Content-Type'
695
+ - $ref: '#/components/parameters/Date'
696
+ - $ref: '#/components/parameters/X-Forwarded-For'
697
+ - $ref: '#/components/parameters/FSPIOP-Source'
698
+ - $ref: '#/components/parameters/FSPIOP-Destination'
699
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
700
+ - $ref: '#/components/parameters/FSPIOP-Signature'
701
+ - $ref: '#/components/parameters/FSPIOP-URI'
702
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
703
+ requestBody:
704
+ description: Details of the error returned.
705
+ required: true
706
+ content:
707
+ application/json:
708
+ schema:
709
+ $ref: '#/components/schemas/ErrorInformationObject'
710
+ responses:
711
+ '200':
712
+ $ref: '#/components/responses/200'
713
+ '400':
714
+ $ref: '#/components/responses/400'
715
+ '401':
716
+ $ref: '#/components/responses/401'
717
+ '403':
718
+ $ref: '#/components/responses/403'
719
+ '404':
720
+ $ref: '#/components/responses/404'
721
+ '405':
722
+ $ref: '#/components/responses/405'
723
+ '406':
724
+ $ref: '#/components/responses/406'
725
+ '501':
726
+ $ref: '#/components/responses/501'
727
+ '503':
728
+ $ref: '#/components/responses/503'
729
+ '/parties/{Type}/{ID}/{SubId}':
730
+ parameters:
731
+ - $ref: '#/components/parameters/Type'
732
+ - $ref: '#/components/parameters/ID'
733
+ - $ref: '#/components/parameters/SubId'
734
+ - $ref: '#/components/parameters/Content-Type'
735
+ - $ref: '#/components/parameters/Date'
736
+ - $ref: '#/components/parameters/X-Forwarded-For'
737
+ - $ref: '#/components/parameters/FSPIOP-Source'
738
+ - $ref: '#/components/parameters/FSPIOP-Destination'
739
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
740
+ - $ref: '#/components/parameters/FSPIOP-Signature'
741
+ - $ref: '#/components/parameters/FSPIOP-URI'
742
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
743
+ get:
744
+ description: >-
745
+ The HTTP request `GET /parties/{Type}/{ID}` (or `GET
746
+ /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding
747
+ the requested Party, defined by `{Type}`, `{ID}` and optionally
748
+ `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET
749
+ /parties/BUSINESS/shoecompany/employee1`).
750
+ summary: Look up party information
751
+ tags:
752
+ - parties
753
+ operationId: PartiesSubIdByTypeAndID
754
+ parameters:
755
+ - $ref: '#/components/parameters/Accept'
756
+ responses:
757
+ '202':
758
+ $ref: '#/components/responses/202'
759
+ '400':
760
+ $ref: '#/components/responses/400'
761
+ '401':
762
+ $ref: '#/components/responses/401'
763
+ '403':
764
+ $ref: '#/components/responses/403'
765
+ '404':
766
+ $ref: '#/components/responses/404'
767
+ '405':
768
+ $ref: '#/components/responses/405'
769
+ '406':
770
+ $ref: '#/components/responses/406'
771
+ '501':
772
+ $ref: '#/components/responses/501'
773
+ '503':
774
+ $ref: '#/components/responses/503'
775
+ put:
776
+ description: >-
777
+ The callback `PUT /parties/{Type}/{ID}` (or `PUT
778
+ /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a
779
+ successful result of the Party information lookup.
780
+ summary: Return party information
781
+ tags:
782
+ - parties
783
+ operationId: PartiesSubIdByTypeAndIDPut
784
+ parameters:
785
+ - $ref: '#/components/parameters/Content-Length'
786
+ requestBody:
787
+ description: Party information returned.
788
+ required: true
789
+ content:
790
+ application/json:
791
+ schema:
792
+ $ref: '#/components/schemas/PartiesTypeIDPutResponse'
793
+ responses:
794
+ '200':
795
+ $ref: '#/components/responses/200'
796
+ '400':
797
+ $ref: '#/components/responses/400'
798
+ '401':
799
+ $ref: '#/components/responses/401'
800
+ '403':
801
+ $ref: '#/components/responses/403'
802
+ '404':
803
+ $ref: '#/components/responses/404'
804
+ '405':
805
+ $ref: '#/components/responses/405'
806
+ '406':
807
+ $ref: '#/components/responses/406'
808
+ '501':
809
+ $ref: '#/components/responses/501'
810
+ '503':
811
+ $ref: '#/components/responses/503'
812
+ '/parties/{Type}/{ID}/{SubId}/error':
813
+ put:
814
+ description: >-
815
+ If the server is unable to find Party information of the provided
816
+ identity, or another processing error occurred, the error callback `PUT
817
+ /parties/{Type}/{ID}/error` (or `PUT
818
+ /parties/{Type}/{ID}/{SubId}/error`) is used.
819
+ summary: Return party information error
820
+ tags:
821
+ - parties
822
+ operationId: PartiesSubIdErrorByTypeAndID
823
+ parameters:
824
+ - $ref: '#/components/parameters/Type'
825
+ - $ref: '#/components/parameters/ID'
826
+ - $ref: '#/components/parameters/SubId'
827
+ - $ref: '#/components/parameters/Content-Length'
828
+ - $ref: '#/components/parameters/Content-Type'
829
+ - $ref: '#/components/parameters/Date'
830
+ - $ref: '#/components/parameters/X-Forwarded-For'
831
+ - $ref: '#/components/parameters/FSPIOP-Source'
832
+ - $ref: '#/components/parameters/FSPIOP-Destination'
833
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
834
+ - $ref: '#/components/parameters/FSPIOP-Signature'
835
+ - $ref: '#/components/parameters/FSPIOP-URI'
836
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
837
+ requestBody:
838
+ description: Details of the error returned.
839
+ required: true
840
+ content:
841
+ application/json:
842
+ schema:
843
+ $ref: '#/components/schemas/ErrorInformationObject'
844
+ responses:
845
+ '200':
846
+ $ref: '#/components/responses/200'
847
+ '400':
848
+ $ref: '#/components/responses/400'
849
+ '401':
850
+ $ref: '#/components/responses/401'
851
+ '403':
852
+ $ref: '#/components/responses/403'
853
+ '404':
854
+ $ref: '#/components/responses/404'
855
+ '405':
856
+ $ref: '#/components/responses/405'
857
+ '406':
858
+ $ref: '#/components/responses/406'
859
+ '501':
860
+ $ref: '#/components/responses/501'
861
+ '503':
862
+ $ref: '#/components/responses/503'
863
+ '/transactionRequests/{ID}/error':
864
+ put:
865
+ description: >-
866
+ If the server is unable to find or create a transaction request, or
867
+ another processing error occurs, the error callback `PUT
868
+ /transactionRequests/{ID}/error` is used. The `{ID}` in the URI should
869
+ contain the `transactionRequestId` that was used for the creation of the
870
+ transaction request, or the `{ID}` that was used in the `GET
871
+ /transactionRequests/{ID}`.
872
+ summary: Return transaction request information error
873
+ tags:
874
+ - transactionRequests
875
+ operationId: TransactionRequestsErrorByID
876
+ parameters:
877
+ - $ref: '#/components/parameters/ID'
878
+ - $ref: '#/components/parameters/Content-Length'
879
+ - $ref: '#/components/parameters/Content-Type'
880
+ - $ref: '#/components/parameters/Date'
881
+ - $ref: '#/components/parameters/X-Forwarded-For'
882
+ - $ref: '#/components/parameters/FSPIOP-Source'
883
+ - $ref: '#/components/parameters/FSPIOP-Destination'
884
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
885
+ - $ref: '#/components/parameters/FSPIOP-Signature'
886
+ - $ref: '#/components/parameters/FSPIOP-URI'
887
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
888
+ requestBody:
889
+ description: Details of the error returned.
890
+ required: true
891
+ content:
892
+ application/json:
893
+ schema:
894
+ $ref: '#/components/schemas/ErrorInformationObject'
895
+ responses:
896
+ '200':
897
+ $ref: '#/components/responses/200'
898
+ '400':
899
+ $ref: '#/components/responses/400'
900
+ '401':
901
+ $ref: '#/components/responses/401'
902
+ '403':
903
+ $ref: '#/components/responses/403'
904
+ '404':
905
+ $ref: '#/components/responses/404'
906
+ '405':
907
+ $ref: '#/components/responses/405'
908
+ '406':
909
+ $ref: '#/components/responses/406'
910
+ '501':
911
+ $ref: '#/components/responses/501'
912
+ '503':
913
+ $ref: '#/components/responses/503'
914
+ '/transactionRequests/{ID}':
915
+ parameters:
916
+ - $ref: '#/components/parameters/ID'
917
+ - $ref: '#/components/parameters/Content-Type'
918
+ - $ref: '#/components/parameters/Date'
919
+ - $ref: '#/components/parameters/X-Forwarded-For'
920
+ - $ref: '#/components/parameters/FSPIOP-Source'
921
+ - $ref: '#/components/parameters/FSPIOP-Destination'
922
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
923
+ - $ref: '#/components/parameters/FSPIOP-Signature'
924
+ - $ref: '#/components/parameters/FSPIOP-URI'
925
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
926
+ get:
927
+ description: >-
928
+ The HTTP request `GET /transactionRequests/{ID}` is used to get
929
+ information regarding a transaction request created or requested
930
+ earlier. The `{ID}` in the URI should contain the `transactionRequestId`
931
+ that was used for the creation of the transaction request.
932
+ summary: Retrieve transaction request information
933
+ tags:
934
+ - transactionRequests
935
+ operationId: TransactionRequestsByID
936
+ parameters:
937
+ - $ref: '#/components/parameters/Accept'
938
+ responses:
939
+ '202':
940
+ $ref: '#/components/responses/202'
941
+ '400':
942
+ $ref: '#/components/responses/400'
943
+ '401':
944
+ $ref: '#/components/responses/401'
945
+ '403':
946
+ $ref: '#/components/responses/403'
947
+ '404':
948
+ $ref: '#/components/responses/404'
949
+ '405':
950
+ $ref: '#/components/responses/405'
951
+ '406':
952
+ $ref: '#/components/responses/406'
953
+ '501':
954
+ $ref: '#/components/responses/501'
955
+ '503':
956
+ $ref: '#/components/responses/503'
957
+ put:
958
+ description: >-
959
+ The callback `PUT /transactionRequests/{ID}` is used to inform the
960
+ client of a requested or created transaction request. The `{ID}` in the
961
+ URI should contain the `transactionRequestId` that was used for the
962
+ creation of the transaction request, or the `{ID}` that was used in the
963
+ `GET /transactionRequests/{ID}`.
964
+ summary: Return transaction request information
965
+ tags:
966
+ - transactionRequests
967
+ operationId: TransactionRequestsByIDPut
968
+ parameters:
969
+ - $ref: '#/components/parameters/Content-Length'
970
+ requestBody:
971
+ description: Transaction request information returned.
972
+ required: true
973
+ content:
974
+ application/json:
975
+ schema:
976
+ $ref: '#/components/schemas/TransactionRequestsIDPutResponse'
977
+ responses:
978
+ '200':
979
+ $ref: '#/components/responses/200'
980
+ '400':
981
+ $ref: '#/components/responses/400'
982
+ '401':
983
+ $ref: '#/components/responses/401'
984
+ '403':
985
+ $ref: '#/components/responses/403'
986
+ '404':
987
+ $ref: '#/components/responses/404'
988
+ '405':
989
+ $ref: '#/components/responses/405'
990
+ '406':
991
+ $ref: '#/components/responses/406'
992
+ '501':
993
+ $ref: '#/components/responses/501'
994
+ '503':
995
+ $ref: '#/components/responses/503'
996
+ /transactionRequests:
997
+ post:
998
+ description: >-
999
+ The HTTP request `POST /transactionRequests` is used to request the
1000
+ creation of a transaction request for the provided financial transaction
1001
+ in the server.
1002
+ summary: Perform transaction request
1003
+ tags:
1004
+ - transactionRequests
1005
+ operationId: TransactionRequests
1006
+ parameters:
1007
+ - $ref: '#/components/parameters/Accept'
1008
+ - $ref: '#/components/parameters/Content-Length'
1009
+ - $ref: '#/components/parameters/Content-Type'
1010
+ - $ref: '#/components/parameters/Date'
1011
+ - $ref: '#/components/parameters/X-Forwarded-For'
1012
+ - $ref: '#/components/parameters/FSPIOP-Source'
1013
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1014
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1015
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1016
+ - $ref: '#/components/parameters/FSPIOP-URI'
1017
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1018
+ requestBody:
1019
+ description: Transaction request to be created.
1020
+ required: true
1021
+ content:
1022
+ application/json:
1023
+ schema:
1024
+ $ref: '#/components/schemas/TransactionRequestsPostRequest'
1025
+ responses:
1026
+ '202':
1027
+ $ref: '#/components/responses/202'
1028
+ '400':
1029
+ $ref: '#/components/responses/400'
1030
+ '401':
1031
+ $ref: '#/components/responses/401'
1032
+ '403':
1033
+ $ref: '#/components/responses/403'
1034
+ '404':
1035
+ $ref: '#/components/responses/404'
1036
+ '405':
1037
+ $ref: '#/components/responses/405'
1038
+ '406':
1039
+ $ref: '#/components/responses/406'
1040
+ '501':
1041
+ $ref: '#/components/responses/501'
1042
+ '503':
1043
+ $ref: '#/components/responses/503'
1044
+ '/quotes/{ID}/error':
1045
+ put:
1046
+ description: >-
1047
+ If the server is unable to find or create a quote, or some other
1048
+ processing error occurs, the error callback `PUT /quotes/{ID}/error` is
1049
+ used. The `{ID}` in the URI should contain the `quoteId` that was used
1050
+ for the creation of the quote, or the `{ID}` that was used in the `GET
1051
+ /quotes/{ID}` request.
1052
+ summary: Return quote information error
1053
+ tags:
1054
+ - quotes
1055
+ operationId: QuotesByIDAndError
1056
+ parameters:
1057
+ - $ref: '#/components/parameters/ID'
1058
+ - $ref: '#/components/parameters/Content-Length'
1059
+ - $ref: '#/components/parameters/Content-Type'
1060
+ - $ref: '#/components/parameters/Date'
1061
+ - $ref: '#/components/parameters/X-Forwarded-For'
1062
+ - $ref: '#/components/parameters/FSPIOP-Source'
1063
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1064
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1065
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1066
+ - $ref: '#/components/parameters/FSPIOP-URI'
1067
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1068
+ requestBody:
1069
+ description: Details of the error returned.
1070
+ required: true
1071
+ content:
1072
+ application/json:
1073
+ schema:
1074
+ $ref: '#/components/schemas/ErrorInformationObject'
1075
+ responses:
1076
+ '200':
1077
+ $ref: '#/components/responses/200'
1078
+ '400':
1079
+ $ref: '#/components/responses/400'
1080
+ '401':
1081
+ $ref: '#/components/responses/401'
1082
+ '403':
1083
+ $ref: '#/components/responses/403'
1084
+ '404':
1085
+ $ref: '#/components/responses/404'
1086
+ '405':
1087
+ $ref: '#/components/responses/405'
1088
+ '406':
1089
+ $ref: '#/components/responses/406'
1090
+ '501':
1091
+ $ref: '#/components/responses/501'
1092
+ '503':
1093
+ $ref: '#/components/responses/503'
1094
+ '/quotes/{ID}':
1095
+ parameters:
1096
+ - $ref: '#/components/parameters/ID'
1097
+ - $ref: '#/components/parameters/Content-Type'
1098
+ - $ref: '#/components/parameters/Date'
1099
+ - $ref: '#/components/parameters/X-Forwarded-For'
1100
+ - $ref: '#/components/parameters/FSPIOP-Source'
1101
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1102
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1103
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1104
+ - $ref: '#/components/parameters/FSPIOP-URI'
1105
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1106
+ get:
1107
+ description: >-
1108
+ The HTTP request `GET /quotes/{ID}` is used to get information regarding
1109
+ a quote created or requested earlier. The `{ID}` in the URI should
1110
+ contain the `quoteId` that was used for the creation of the quote.
1111
+ summary: Retrieve quote information
1112
+ tags:
1113
+ - quotes
1114
+ operationId: QuotesByID
1115
+ parameters:
1116
+ - $ref: '#/components/parameters/Accept'
1117
+ responses:
1118
+ '202':
1119
+ $ref: '#/components/responses/202'
1120
+ '400':
1121
+ $ref: '#/components/responses/400'
1122
+ '401':
1123
+ $ref: '#/components/responses/401'
1124
+ '403':
1125
+ $ref: '#/components/responses/403'
1126
+ '404':
1127
+ $ref: '#/components/responses/404'
1128
+ '405':
1129
+ $ref: '#/components/responses/405'
1130
+ '406':
1131
+ $ref: '#/components/responses/406'
1132
+ '501':
1133
+ $ref: '#/components/responses/501'
1134
+ '503':
1135
+ $ref: '#/components/responses/503'
1136
+ put:
1137
+ description: >-
1138
+ The callback `PUT /quotes/{ID}` is used to inform the client of a
1139
+ requested or created quote. The `{ID}` in the URI should contain the
1140
+ `quoteId` that was used for the creation of the quote, or the `{ID}`
1141
+ that was used in the `GET /quotes/{ID}` request.
1142
+ summary: Return quote information
1143
+ tags:
1144
+ - quotes
1145
+ operationId: QuotesByID1
1146
+ parameters:
1147
+ - $ref: '#/components/parameters/Content-Length'
1148
+ requestBody:
1149
+ description: Quote information returned.
1150
+ required: true
1151
+ content:
1152
+ application/json:
1153
+ schema:
1154
+ $ref: '#/components/schemas/QuotesIDPutResponse'
1155
+ responses:
1156
+ '200':
1157
+ $ref: '#/components/responses/200'
1158
+ '400':
1159
+ $ref: '#/components/responses/400'
1160
+ '401':
1161
+ $ref: '#/components/responses/401'
1162
+ '403':
1163
+ $ref: '#/components/responses/403'
1164
+ '404':
1165
+ $ref: '#/components/responses/404'
1166
+ '405':
1167
+ $ref: '#/components/responses/405'
1168
+ '406':
1169
+ $ref: '#/components/responses/406'
1170
+ '501':
1171
+ $ref: '#/components/responses/501'
1172
+ '503':
1173
+ $ref: '#/components/responses/503'
1174
+ /quotes:
1175
+ post:
1176
+ description: >-
1177
+ The HTTP request `POST /quotes` is used to request the creation of a
1178
+ quote for the provided financial transaction in the server.
1179
+ summary: Calculate quote
1180
+ tags:
1181
+ - quotes
1182
+ operationId: Quotes
1183
+ parameters:
1184
+ - $ref: '#/components/parameters/Accept'
1185
+ - $ref: '#/components/parameters/Content-Length'
1186
+ - $ref: '#/components/parameters/Content-Type'
1187
+ - $ref: '#/components/parameters/Date'
1188
+ - $ref: '#/components/parameters/X-Forwarded-For'
1189
+ - $ref: '#/components/parameters/FSPIOP-Source'
1190
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1191
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1192
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1193
+ - $ref: '#/components/parameters/FSPIOP-URI'
1194
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1195
+ requestBody:
1196
+ description: Details of the quote to be created.
1197
+ required: true
1198
+ content:
1199
+ application/json:
1200
+ schema:
1201
+ $ref: '#/components/schemas/QuotesPostRequest'
1202
+ responses:
1203
+ '202':
1204
+ $ref: '#/components/responses/202'
1205
+ '400':
1206
+ $ref: '#/components/responses/400'
1207
+ '401':
1208
+ $ref: '#/components/responses/401'
1209
+ '403':
1210
+ $ref: '#/components/responses/403'
1211
+ '404':
1212
+ $ref: '#/components/responses/404'
1213
+ '405':
1214
+ $ref: '#/components/responses/405'
1215
+ '406':
1216
+ $ref: '#/components/responses/406'
1217
+ '501':
1218
+ $ref: '#/components/responses/501'
1219
+ '503':
1220
+ $ref: '#/components/responses/503'
1221
+ '/authorizations/{ID}':
1222
+ parameters:
1223
+ - $ref: '#/components/parameters/ID'
1224
+ - $ref: '#/components/parameters/Content-Type'
1225
+ - $ref: '#/components/parameters/Date'
1226
+ - $ref: '#/components/parameters/X-Forwarded-For'
1227
+ - $ref: '#/components/parameters/FSPIOP-Source'
1228
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1229
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1230
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1231
+ - $ref: '#/components/parameters/FSPIOP-URI'
1232
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1233
+ get:
1234
+ description: >-
1235
+ The HTTP request `GET /authorizations/{ID}` is used to request the Payer
1236
+ to enter the applicable credentials in the Payee FSP system. The `{ID}`
1237
+ in the URI should contain the `transactionRequestID`, received from the
1238
+ `POST /transactionRequests` service earlier in the process. This request
1239
+ requires a query string to be included in the URI, with the following
1240
+ key-value pairs*:*
1241
+
1242
+
1243
+ - `authenticationType={Type}`, where `{Type}` value is a valid
1244
+ authentication type from the enumeration `AuthenticationType`.
1245
+
1246
+
1247
+ - `retriesLeft=={NrOfRetries}`, where `{NrOfRetries}` is the number of
1248
+ retries left before the financial transaction is rejected.
1249
+ `{NrOfRetries}` must be expressed in the form of the data type
1250
+ `Integer`. `retriesLeft=1` means that this is the last retry before the
1251
+ financial transaction is rejected.
1252
+
1253
+
1254
+ - `amount={Amount}`, where `{Amount}` is the transaction amount that
1255
+ will be withdrawn from the Payer’s account. `{Amount}` must be expressed
1256
+ in the form of the data type `Amount`.
1257
+
1258
+
1259
+ - `currency={Currency}`, where `{Currency}` is the transaction currency
1260
+ for the amount that will be withdrawn from the Payer’s account. The
1261
+ `{Currency}` value must be expressed in the form of the enumeration
1262
+ `CurrencyCode`.
1263
+
1264
+
1265
+ The following is an example URI containing all the required key-value
1266
+ pairs in the query string*:*
1267
+
1268
+
1269
+ `GET
1270
+ /authorization/3d492671-b7af-4f3f-88de-76169b1bdf88?authenticationType=OTP&retriesLeft=2&amount=102&currency=USD`
1271
+ summary: Perform authorization
1272
+ tags:
1273
+ - authorizations
1274
+ operationId: AuthorizationsByIDGet
1275
+ parameters:
1276
+ - $ref: '#/components/parameters/Accept'
1277
+ responses:
1278
+ '202':
1279
+ $ref: '#/components/responses/202'
1280
+ '400':
1281
+ $ref: '#/components/responses/400'
1282
+ '401':
1283
+ $ref: '#/components/responses/401'
1284
+ '403':
1285
+ $ref: '#/components/responses/403'
1286
+ '404':
1287
+ $ref: '#/components/responses/404'
1288
+ '405':
1289
+ $ref: '#/components/responses/405'
1290
+ '406':
1291
+ $ref: '#/components/responses/406'
1292
+ '501':
1293
+ $ref: '#/components/responses/501'
1294
+ '503':
1295
+ $ref: '#/components/responses/503'
1296
+ put:
1297
+ description: >-
1298
+ The callback `PUT /authorizations/{ID}` is used to inform the client of
1299
+ the result of a previously-requested authorization. The `{ID}` in the
1300
+ URI should contain the `{ID}` that was used in the `GET
1301
+ /authorizations/{ID}` request.
1302
+ summary: Return authorization result
1303
+ tags:
1304
+ - authorizations
1305
+ operationId: AuthorizationsByIDPut
1306
+ parameters:
1307
+ - $ref: '#/components/parameters/Content-Length'
1308
+ requestBody:
1309
+ description: Authorization result returned.
1310
+ required: true
1311
+ content:
1312
+ application/json:
1313
+ schema:
1314
+ $ref: '#/components/schemas/AuthorizationsIDPutResponse'
1315
+ responses:
1316
+ '200':
1317
+ $ref: '#/components/responses/200'
1318
+ '400':
1319
+ $ref: '#/components/responses/400'
1320
+ '401':
1321
+ $ref: '#/components/responses/401'
1322
+ '403':
1323
+ $ref: '#/components/responses/403'
1324
+ '404':
1325
+ $ref: '#/components/responses/404'
1326
+ '405':
1327
+ $ref: '#/components/responses/405'
1328
+ '406':
1329
+ $ref: '#/components/responses/406'
1330
+ '501':
1331
+ $ref: '#/components/responses/501'
1332
+ '503':
1333
+ $ref: '#/components/responses/503'
1334
+ '/authorizations/{ID}/error':
1335
+ put:
1336
+ description: >-
1337
+ If the server is unable to find the transaction request, or another
1338
+ processing error occurs, the error callback `PUT
1339
+ /authorizations/{ID}/error` is used. The `{ID}` in the URI should
1340
+ contain the `{ID}` that was used in the `GET /authorizations/{ID}`.
1341
+ summary: Return authorization error
1342
+ tags:
1343
+ - authorizations
1344
+ operationId: AuthorizationsByIDAndError
1345
+ parameters:
1346
+ - $ref: '#/components/parameters/ID'
1347
+ - $ref: '#/components/parameters/Content-Length'
1348
+ - $ref: '#/components/parameters/Content-Type'
1349
+ - $ref: '#/components/parameters/Date'
1350
+ - $ref: '#/components/parameters/X-Forwarded-For'
1351
+ - $ref: '#/components/parameters/FSPIOP-Source'
1352
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1353
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1354
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1355
+ - $ref: '#/components/parameters/FSPIOP-URI'
1356
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1357
+ requestBody:
1358
+ description: Details of the error returned.
1359
+ required: true
1360
+ content:
1361
+ application/json:
1362
+ schema:
1363
+ $ref: '#/components/schemas/ErrorInformationObject'
1364
+ responses:
1365
+ '200':
1366
+ $ref: '#/components/responses/200'
1367
+ '400':
1368
+ $ref: '#/components/responses/400'
1369
+ '401':
1370
+ $ref: '#/components/responses/401'
1371
+ '403':
1372
+ $ref: '#/components/responses/403'
1373
+ '404':
1374
+ $ref: '#/components/responses/404'
1375
+ '405':
1376
+ $ref: '#/components/responses/405'
1377
+ '406':
1378
+ $ref: '#/components/responses/406'
1379
+ '501':
1380
+ $ref: '#/components/responses/501'
1381
+ '503':
1382
+ $ref: '#/components/responses/503'
1383
+ '/transfers/{ID}/error':
1384
+ put:
1385
+ description: >-
1386
+ If the server is unable to find or create a transfer, or another
1387
+ processing error occurs, the error callback `PUT /transfers/{ID}/error`
1388
+ is used. The `{ID}` in the URI should contain the `transferId` that was
1389
+ used for the creation of the transfer, or the `{ID}` that was used in
1390
+ the `GET /transfers/{ID}`.
1391
+ summary: Return transfer information error
1392
+ tags:
1393
+ - transfers
1394
+ operationId: TransfersByIDAndError
1395
+ parameters:
1396
+ - $ref: '#/components/parameters/ID'
1397
+ - $ref: '#/components/parameters/Content-Length'
1398
+ - $ref: '#/components/parameters/Content-Type'
1399
+ - $ref: '#/components/parameters/Date'
1400
+ - $ref: '#/components/parameters/X-Forwarded-For'
1401
+ - $ref: '#/components/parameters/FSPIOP-Source'
1402
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1403
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1404
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1405
+ - $ref: '#/components/parameters/FSPIOP-URI'
1406
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1407
+ requestBody:
1408
+ description: Details of the error returned.
1409
+ required: true
1410
+ content:
1411
+ application/json:
1412
+ schema:
1413
+ $ref: '#/components/schemas/ErrorInformationObject'
1414
+ responses:
1415
+ '200':
1416
+ $ref: '#/components/responses/200'
1417
+ '400':
1418
+ $ref: '#/components/responses/400'
1419
+ '401':
1420
+ $ref: '#/components/responses/401'
1421
+ '403':
1422
+ $ref: '#/components/responses/403'
1423
+ '404':
1424
+ $ref: '#/components/responses/404'
1425
+ '405':
1426
+ $ref: '#/components/responses/405'
1427
+ '406':
1428
+ $ref: '#/components/responses/406'
1429
+ '501':
1430
+ $ref: '#/components/responses/501'
1431
+ '503':
1432
+ $ref: '#/components/responses/503'
1433
+ '/transfers/{ID}':
1434
+ parameters:
1435
+ - $ref: '#/components/parameters/ID'
1436
+ - $ref: '#/components/parameters/Content-Type'
1437
+ - $ref: '#/components/parameters/Date'
1438
+ - $ref: '#/components/parameters/X-Forwarded-For'
1439
+ - $ref: '#/components/parameters/FSPIOP-Source'
1440
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1441
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1442
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1443
+ - $ref: '#/components/parameters/FSPIOP-URI'
1444
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1445
+ get:
1446
+ description: >-
1447
+ The HTTP request `GET /transfers/{ID}` is used to get information
1448
+ regarding a transfer created or requested earlier. The `{ID}` in the URI
1449
+ should contain the `transferId` that was used for the creation of the
1450
+ transfer.
1451
+ summary: Retrieve transfer information
1452
+ tags:
1453
+ - transfers
1454
+ operationId: TransfersByIDGet
1455
+ parameters:
1456
+ - $ref: '#/components/parameters/Accept'
1457
+ responses:
1458
+ '202':
1459
+ $ref: '#/components/responses/202'
1460
+ '400':
1461
+ $ref: '#/components/responses/400'
1462
+ '401':
1463
+ $ref: '#/components/responses/401'
1464
+ '403':
1465
+ $ref: '#/components/responses/403'
1466
+ '404':
1467
+ $ref: '#/components/responses/404'
1468
+ '405':
1469
+ $ref: '#/components/responses/405'
1470
+ '406':
1471
+ $ref: '#/components/responses/406'
1472
+ '501':
1473
+ $ref: '#/components/responses/501'
1474
+ '503':
1475
+ $ref: '#/components/responses/503'
1476
+ patch:
1477
+ description: >-
1478
+ The HTTP request PATCH /transfers/<ID> is used by a Switch to update the
1479
+ state of a previously reserved transfer, if the Payee FSP has requested
1480
+ a commit notification when the Switch has completed processing of the
1481
+ transfer. The <ID> in the URI should contain the transferId that was
1482
+ used for the creation of the transfer. Please note that this request
1483
+ does not generate a callback.
1484
+ summary: Return transfer information
1485
+ tags:
1486
+ - transfers
1487
+ operationId: TransfersByIDPatch
1488
+ parameters:
1489
+ - $ref: '#/components/parameters/Content-Length'
1490
+ requestBody:
1491
+ description: Transfer notification upon completion.
1492
+ required: true
1493
+ content:
1494
+ application/json:
1495
+ schema:
1496
+ $ref: '#/components/schemas/TransfersIDPatchResponse'
1497
+ responses:
1498
+ '200':
1499
+ $ref: '#/components/responses/200'
1500
+ '400':
1501
+ $ref: '#/components/responses/400'
1502
+ '401':
1503
+ $ref: '#/components/responses/401'
1504
+ '403':
1505
+ $ref: '#/components/responses/403'
1506
+ '404':
1507
+ $ref: '#/components/responses/404'
1508
+ '405':
1509
+ $ref: '#/components/responses/405'
1510
+ '406':
1511
+ $ref: '#/components/responses/406'
1512
+ '501':
1513
+ $ref: '#/components/responses/501'
1514
+ '503':
1515
+ $ref: '#/components/responses/503'
1516
+ put:
1517
+ description: >-
1518
+ The callback `PUT /transfers/{ID}` is used to inform the client of a
1519
+ requested or created transfer. The `{ID}` in the URI should contain the
1520
+ `transferId` that was used for the creation of the transfer, or the
1521
+ `{ID}` that was used in the `GET /transfers/{ID}` request.
1522
+ summary: Return transfer information
1523
+ tags:
1524
+ - transfers
1525
+ operationId: TransfersByIDPut
1526
+ parameters:
1527
+ - $ref: '#/components/parameters/Content-Length'
1528
+ requestBody:
1529
+ description: Transfer information returned.
1530
+ required: true
1531
+ content:
1532
+ application/json:
1533
+ schema:
1534
+ $ref: '#/components/schemas/TransfersIDPutResponse'
1535
+ responses:
1536
+ '200':
1537
+ $ref: '#/components/responses/200'
1538
+ '400':
1539
+ $ref: '#/components/responses/400'
1540
+ '401':
1541
+ $ref: '#/components/responses/401'
1542
+ '403':
1543
+ $ref: '#/components/responses/403'
1544
+ '404':
1545
+ $ref: '#/components/responses/404'
1546
+ '405':
1547
+ $ref: '#/components/responses/405'
1548
+ '406':
1549
+ $ref: '#/components/responses/406'
1550
+ '501':
1551
+ $ref: '#/components/responses/501'
1552
+ '503':
1553
+ $ref: '#/components/responses/503'
1554
+ /transfers:
1555
+ post:
1556
+ description: >-
1557
+ The HTTP request `POST /transfers` is used to request the creation of a
1558
+ transfer for the next ledger, and a financial transaction for the Payee
1559
+ FSP.
1560
+ summary: Perform transfer
1561
+ tags:
1562
+ - transfers
1563
+ operationId: transfers
1564
+ parameters:
1565
+ - $ref: '#/components/parameters/Accept'
1566
+ - $ref: '#/components/parameters/Content-Length'
1567
+ - $ref: '#/components/parameters/Content-Type'
1568
+ - $ref: '#/components/parameters/Date'
1569
+ - $ref: '#/components/parameters/X-Forwarded-For'
1570
+ - $ref: '#/components/parameters/FSPIOP-Source'
1571
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1572
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1573
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1574
+ - $ref: '#/components/parameters/FSPIOP-URI'
1575
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1576
+ requestBody:
1577
+ description: Details of the transfer to be created.
1578
+ required: true
1579
+ content:
1580
+ application/json:
1581
+ schema:
1582
+ $ref: '#/components/schemas/TransfersPostRequest'
1583
+ responses:
1584
+ '202':
1585
+ $ref: '#/components/responses/202'
1586
+ '400':
1587
+ $ref: '#/components/responses/400'
1588
+ '401':
1589
+ $ref: '#/components/responses/401'
1590
+ '403':
1591
+ $ref: '#/components/responses/403'
1592
+ '404':
1593
+ $ref: '#/components/responses/404'
1594
+ '405':
1595
+ $ref: '#/components/responses/405'
1596
+ '406':
1597
+ $ref: '#/components/responses/406'
1598
+ '501':
1599
+ $ref: '#/components/responses/501'
1600
+ '503':
1601
+ $ref: '#/components/responses/503'
1602
+ '/transactions/{ID}':
1603
+ parameters:
1604
+ - $ref: '#/components/parameters/ID'
1605
+ - $ref: '#/components/parameters/Content-Type'
1606
+ - $ref: '#/components/parameters/Date'
1607
+ - $ref: '#/components/parameters/X-Forwarded-For'
1608
+ - $ref: '#/components/parameters/FSPIOP-Source'
1609
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1610
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1611
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1612
+ - $ref: '#/components/parameters/FSPIOP-URI'
1613
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1614
+ get:
1615
+ description: >-
1616
+ The HTTP request `GET /transactions/{ID}` is used to get transaction
1617
+ information regarding a financial transaction created earlier. The
1618
+ `{ID}` in the URI should contain the `transactionId` that was used for
1619
+ the creation of the quote, as the transaction is created as part of
1620
+ another process (the transfer process).
1621
+ summary: Retrieve transaction information
1622
+ tags:
1623
+ - transactions
1624
+ operationId: TransactionsByID
1625
+ parameters:
1626
+ - $ref: '#/components/parameters/Accept'
1627
+ responses:
1628
+ '202':
1629
+ $ref: '#/components/responses/202'
1630
+ '400':
1631
+ $ref: '#/components/responses/400'
1632
+ '401':
1633
+ $ref: '#/components/responses/401'
1634
+ '403':
1635
+ $ref: '#/components/responses/403'
1636
+ '404':
1637
+ $ref: '#/components/responses/404'
1638
+ '405':
1639
+ $ref: '#/components/responses/405'
1640
+ '406':
1641
+ $ref: '#/components/responses/406'
1642
+ '501':
1643
+ $ref: '#/components/responses/501'
1644
+ '503':
1645
+ $ref: '#/components/responses/503'
1646
+ put:
1647
+ description: >-
1648
+ The callback `PUT /transactions/{ID}` is used to inform the client of a
1649
+ requested transaction. The `{ID}` in the URI should contain the `{ID}`
1650
+ that was used in the `GET /transactions/{ID}` request.
1651
+ summary: Return transaction information
1652
+ tags:
1653
+ - transactions
1654
+ operationId: TransactionsByID1
1655
+ parameters:
1656
+ - $ref: '#/components/parameters/Content-Length'
1657
+ requestBody:
1658
+ description: Transaction information returned.
1659
+ required: true
1660
+ content:
1661
+ application/json:
1662
+ schema:
1663
+ $ref: '#/components/schemas/TransactionsIDPutResponse'
1664
+ responses:
1665
+ '200':
1666
+ $ref: '#/components/responses/200'
1667
+ '400':
1668
+ $ref: '#/components/responses/400'
1669
+ '401':
1670
+ $ref: '#/components/responses/401'
1671
+ '403':
1672
+ $ref: '#/components/responses/403'
1673
+ '404':
1674
+ $ref: '#/components/responses/404'
1675
+ '405':
1676
+ $ref: '#/components/responses/405'
1677
+ '406':
1678
+ $ref: '#/components/responses/406'
1679
+ '501':
1680
+ $ref: '#/components/responses/501'
1681
+ '503':
1682
+ $ref: '#/components/responses/503'
1683
+ '/transactions/{ID}/error':
1684
+ put:
1685
+ description: >-
1686
+ If the server is unable to find or create a transaction, or another
1687
+ processing error occurs, the error callback `PUT
1688
+ /transactions/{ID}/error` is used. The `{ID}` in the URI should contain
1689
+ the `{ID}` that was used in the `GET /transactions/{ID}` request.
1690
+ summary: Return transaction information error
1691
+ tags:
1692
+ - transactions
1693
+ operationId: TransactionsErrorByID
1694
+ parameters:
1695
+ - $ref: '#/components/parameters/ID'
1696
+ - $ref: '#/components/parameters/Content-Length'
1697
+ - $ref: '#/components/parameters/Content-Type'
1698
+ - $ref: '#/components/parameters/Date'
1699
+ - $ref: '#/components/parameters/X-Forwarded-For'
1700
+ - $ref: '#/components/parameters/FSPIOP-Source'
1701
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1702
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1703
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1704
+ - $ref: '#/components/parameters/FSPIOP-URI'
1705
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1706
+ requestBody:
1707
+ description: Details of the error returned.
1708
+ required: true
1709
+ content:
1710
+ application/json:
1711
+ schema:
1712
+ $ref: '#/components/schemas/ErrorInformationObject'
1713
+ responses:
1714
+ '200':
1715
+ $ref: '#/components/responses/200'
1716
+ '400':
1717
+ $ref: '#/components/responses/400'
1718
+ '401':
1719
+ $ref: '#/components/responses/401'
1720
+ '403':
1721
+ $ref: '#/components/responses/403'
1722
+ '404':
1723
+ $ref: '#/components/responses/404'
1724
+ '405':
1725
+ $ref: '#/components/responses/405'
1726
+ '406':
1727
+ $ref: '#/components/responses/406'
1728
+ '501':
1729
+ $ref: '#/components/responses/501'
1730
+ '503':
1731
+ $ref: '#/components/responses/503'
1732
+ '/bulkQuotes/{ID}/error':
1733
+ put:
1734
+ description: >-
1735
+ If the server is unable to find or create a bulk quote, or another
1736
+ processing error occurs, the error callback `PUT /bulkQuotes/{ID}/error`
1737
+ is used. The `{ID}` in the URI should contain the `bulkQuoteId` that was
1738
+ used for the creation of the bulk quote, or the `{ID}` that was used in
1739
+ the `GET /bulkQuotes/{ID}` request.
1740
+ summary: Return bulk quote information error
1741
+ tags:
1742
+ - bulkQuotes
1743
+ operationId: BulkQuotesErrorByID
1744
+ parameters:
1745
+ - $ref: '#/components/parameters/ID'
1746
+ - $ref: '#/components/parameters/Content-Length'
1747
+ - $ref: '#/components/parameters/Content-Type'
1748
+ - $ref: '#/components/parameters/Date'
1749
+ - $ref: '#/components/parameters/X-Forwarded-For'
1750
+ - $ref: '#/components/parameters/FSPIOP-Source'
1751
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1752
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1753
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1754
+ - $ref: '#/components/parameters/FSPIOP-URI'
1755
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1756
+ requestBody:
1757
+ description: Details of the error returned.
1758
+ required: true
1759
+ content:
1760
+ application/json:
1761
+ schema:
1762
+ $ref: '#/components/schemas/ErrorInformationObject'
1763
+ responses:
1764
+ '200':
1765
+ $ref: '#/components/responses/200'
1766
+ '400':
1767
+ $ref: '#/components/responses/400'
1768
+ '401':
1769
+ $ref: '#/components/responses/401'
1770
+ '403':
1771
+ $ref: '#/components/responses/403'
1772
+ '404':
1773
+ $ref: '#/components/responses/404'
1774
+ '405':
1775
+ $ref: '#/components/responses/405'
1776
+ '406':
1777
+ $ref: '#/components/responses/406'
1778
+ '501':
1779
+ $ref: '#/components/responses/501'
1780
+ '503':
1781
+ $ref: '#/components/responses/503'
1782
+ '/bulkQuotes/{ID}':
1783
+ parameters:
1784
+ - $ref: '#/components/parameters/ID'
1785
+ - $ref: '#/components/parameters/Content-Type'
1786
+ - $ref: '#/components/parameters/Date'
1787
+ - $ref: '#/components/parameters/X-Forwarded-For'
1788
+ - $ref: '#/components/parameters/FSPIOP-Source'
1789
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1790
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1791
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1792
+ - $ref: '#/components/parameters/FSPIOP-URI'
1793
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1794
+ get:
1795
+ description: >-
1796
+ The HTTP request `GET /bulkQuotes/{ID}` is used to get information
1797
+ regarding a bulk quote created or requested earlier. The `{ID}` in the
1798
+ URI should contain the `bulkQuoteId` that was used for the creation of
1799
+ the bulk quote.
1800
+ summary: Retrieve bulk quote information
1801
+ tags:
1802
+ - bulkQuotes
1803
+ operationId: BulkQuotesByID
1804
+ parameters:
1805
+ - $ref: '#/components/parameters/Accept'
1806
+ responses:
1807
+ '202':
1808
+ $ref: '#/components/responses/202'
1809
+ '400':
1810
+ $ref: '#/components/responses/400'
1811
+ '401':
1812
+ $ref: '#/components/responses/401'
1813
+ '403':
1814
+ $ref: '#/components/responses/403'
1815
+ '404':
1816
+ $ref: '#/components/responses/404'
1817
+ '405':
1818
+ $ref: '#/components/responses/405'
1819
+ '406':
1820
+ $ref: '#/components/responses/406'
1821
+ '501':
1822
+ $ref: '#/components/responses/501'
1823
+ '503':
1824
+ $ref: '#/components/responses/503'
1825
+ put:
1826
+ description: >-
1827
+ The callback `PUT /bulkQuotes/{ID}` is used to inform the client of a
1828
+ requested or created bulk quote. The `{ID}` in the URI should contain
1829
+ the `bulkQuoteId` that was used for the creation of the bulk quote, or
1830
+ the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request.
1831
+ summary: Return bulk quote information
1832
+ tags:
1833
+ - bulkQuotes
1834
+ operationId: BulkQuotesByID1
1835
+ parameters:
1836
+ - $ref: '#/components/parameters/Content-Length'
1837
+ requestBody:
1838
+ description: Bulk quote information returned.
1839
+ required: true
1840
+ content:
1841
+ application/json:
1842
+ schema:
1843
+ $ref: '#/components/schemas/BulkQuotesIDPutResponse'
1844
+ responses:
1845
+ '200':
1846
+ $ref: '#/components/responses/200'
1847
+ '400':
1848
+ $ref: '#/components/responses/400'
1849
+ '401':
1850
+ $ref: '#/components/responses/401'
1851
+ '403':
1852
+ $ref: '#/components/responses/403'
1853
+ '404':
1854
+ $ref: '#/components/responses/404'
1855
+ '405':
1856
+ $ref: '#/components/responses/405'
1857
+ '406':
1858
+ $ref: '#/components/responses/406'
1859
+ '501':
1860
+ $ref: '#/components/responses/501'
1861
+ '503':
1862
+ $ref: '#/components/responses/503'
1863
+ '/bulkTransfers/{ID}':
1864
+ parameters:
1865
+ - $ref: '#/components/parameters/ID'
1866
+ - $ref: '#/components/parameters/Content-Type'
1867
+ - $ref: '#/components/parameters/Date'
1868
+ - $ref: '#/components/parameters/X-Forwarded-For'
1869
+ - $ref: '#/components/parameters/FSPIOP-Source'
1870
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1871
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1872
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1873
+ - $ref: '#/components/parameters/FSPIOP-URI'
1874
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1875
+ get:
1876
+ description: >-
1877
+ The HTTP request `GET /bulkTransfers/{ID}` is used to get information
1878
+ regarding a bulk transfer created or requested earlier. The `{ID}` in
1879
+ the URI should contain the `bulkTransferId` that was used for the
1880
+ creation of the bulk transfer.
1881
+ summary: Retrieve bulk transfer information
1882
+ tags:
1883
+ - bulkTransfers
1884
+ operationId: BulkTransferByID
1885
+ parameters:
1886
+ - $ref: '#/components/parameters/Accept'
1887
+ responses:
1888
+ '202':
1889
+ $ref: '#/components/responses/202'
1890
+ '400':
1891
+ $ref: '#/components/responses/400'
1892
+ '401':
1893
+ $ref: '#/components/responses/401'
1894
+ '403':
1895
+ $ref: '#/components/responses/403'
1896
+ '404':
1897
+ $ref: '#/components/responses/404'
1898
+ '405':
1899
+ $ref: '#/components/responses/405'
1900
+ '406':
1901
+ $ref: '#/components/responses/406'
1902
+ '501':
1903
+ $ref: '#/components/responses/501'
1904
+ '503':
1905
+ $ref: '#/components/responses/503'
1906
+ put:
1907
+ description: >-
1908
+ The callback `PUT /bulkTransfers/{ID}` is used to inform the client of a
1909
+ requested or created bulk transfer. The `{ID}` in the URI should contain
1910
+ the `bulkTransferId` that was used for the creation of the bulk transfer
1911
+ (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET
1912
+ /bulkTransfers/{ID}` request.
1913
+ summary: Return bulk transfer information
1914
+ tags:
1915
+ - bulkTransfers
1916
+ operationId: BulkTransfersByIDPut
1917
+ parameters:
1918
+ - $ref: '#/components/parameters/Content-Length'
1919
+ requestBody:
1920
+ description: Bulk transfer information returned.
1921
+ required: true
1922
+ content:
1923
+ application/json:
1924
+ schema:
1925
+ $ref: '#/components/schemas/BulkTransfersIDPutResponse'
1926
+ responses:
1927
+ '200':
1928
+ $ref: '#/components/responses/200'
1929
+ '400':
1930
+ $ref: '#/components/responses/400'
1931
+ '401':
1932
+ $ref: '#/components/responses/401'
1933
+ '403':
1934
+ $ref: '#/components/responses/403'
1935
+ '404':
1936
+ $ref: '#/components/responses/404'
1937
+ '405':
1938
+ $ref: '#/components/responses/405'
1939
+ '406':
1940
+ $ref: '#/components/responses/406'
1941
+ '501':
1942
+ $ref: '#/components/responses/501'
1943
+ '503':
1944
+ $ref: '#/components/responses/503'
1945
+ /bulkTransfers:
1946
+ post:
1947
+ description: >-
1948
+ The HTTP request `POST /bulkTransfers` is used to request the creation
1949
+ of a bulk transfer in the server.
1950
+ summary: Perform bulk transfer
1951
+ tags:
1952
+ - bulkTransfers
1953
+ operationId: BulkTransfers
1954
+ parameters:
1955
+ - $ref: '#/components/parameters/Accept'
1956
+ - $ref: '#/components/parameters/Content-Length'
1957
+ - $ref: '#/components/parameters/Content-Type'
1958
+ - $ref: '#/components/parameters/Date'
1959
+ - $ref: '#/components/parameters/X-Forwarded-For'
1960
+ - $ref: '#/components/parameters/FSPIOP-Source'
1961
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1962
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1963
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1964
+ - $ref: '#/components/parameters/FSPIOP-URI'
1965
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1966
+ requestBody:
1967
+ description: Details of the bulk transfer to be created.
1968
+ required: true
1969
+ content:
1970
+ application/json:
1971
+ schema:
1972
+ $ref: '#/components/schemas/BulkTransfersPostRequest'
1973
+ responses:
1974
+ '202':
1975
+ $ref: '#/components/responses/202'
1976
+ '400':
1977
+ $ref: '#/components/responses/400'
1978
+ '401':
1979
+ $ref: '#/components/responses/401'
1980
+ '403':
1981
+ $ref: '#/components/responses/403'
1982
+ '404':
1983
+ $ref: '#/components/responses/404'
1984
+ '405':
1985
+ $ref: '#/components/responses/405'
1986
+ '406':
1987
+ $ref: '#/components/responses/406'
1988
+ '501':
1989
+ $ref: '#/components/responses/501'
1990
+ '503':
1991
+ $ref: '#/components/responses/503'
1992
+ '/bulkTransfers/{ID}/error':
1993
+ put:
1994
+ description: >-
1995
+ If the server is unable to find or create a bulk transfer, or another
1996
+ processing error occurs, the error callback `PUT
1997
+ /bulkTransfers/{ID}/error` is used. The `{ID}` in the URI should contain
1998
+ the `bulkTransferId` that was used for the creation of the bulk transfer
1999
+ (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET
2000
+ /bulkTransfers/{ID}` request.
2001
+ summary: Return bulk transfer information error
2002
+ tags:
2003
+ - bulkTransfers
2004
+ operationId: BulkTransfersErrorByID
2005
+ parameters:
2006
+ - $ref: '#/components/parameters/ID'
2007
+ - $ref: '#/components/parameters/Content-Length'
2008
+ - $ref: '#/components/parameters/Content-Type'
2009
+ - $ref: '#/components/parameters/Date'
2010
+ - $ref: '#/components/parameters/X-Forwarded-For'
2011
+ - $ref: '#/components/parameters/FSPIOP-Source'
2012
+ - $ref: '#/components/parameters/FSPIOP-Destination'
2013
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
2014
+ - $ref: '#/components/parameters/FSPIOP-Signature'
2015
+ - $ref: '#/components/parameters/FSPIOP-URI'
2016
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
2017
+ requestBody:
2018
+ description: Details of the error returned.
2019
+ required: true
2020
+ content:
2021
+ application/json:
2022
+ schema:
2023
+ $ref: '#/components/schemas/ErrorInformationObject'
2024
+ responses:
2025
+ '200':
2026
+ $ref: '#/components/responses/200'
2027
+ '400':
2028
+ $ref: '#/components/responses/400'
2029
+ '401':
2030
+ $ref: '#/components/responses/401'
2031
+ '403':
2032
+ $ref: '#/components/responses/403'
2033
+ '404':
2034
+ $ref: '#/components/responses/404'
2035
+ '405':
2036
+ $ref: '#/components/responses/405'
2037
+ '406':
2038
+ $ref: '#/components/responses/406'
2039
+ '501':
2040
+ $ref: '#/components/responses/501'
2041
+ '503':
2042
+ $ref: '#/components/responses/503'
2043
+ components:
2044
+ parameters:
2045
+ ID:
2046
+ name: ID
2047
+ in: path
2048
+ required: true
2049
+ schema:
2050
+ type: string
2051
+ description: The identifier value.
2052
+ Content-Length:
2053
+ name: Content-Length
2054
+ in: header
2055
+ required: false
2056
+ schema:
2057
+ type: integer
2058
+ description: >-
2059
+ The `Content-Length` header field indicates the anticipated size of the
2060
+ payload body. Only sent if there is a body.
2061
+
2062
+
2063
+ **Note:** The API supports a maximum size of 5242880 bytes (5
2064
+ Megabytes).
2065
+ Content-Type:
2066
+ name: Content-Type
2067
+ in: header
2068
+ schema:
2069
+ type: string
2070
+ required: true
2071
+ description: >-
2072
+ The `Content-Type` header indicates the specific version of the API used
2073
+ to send the payload body.
2074
+ Date:
2075
+ name: Date
2076
+ in: header
2077
+ schema:
2078
+ type: string
2079
+ required: true
2080
+ description: The `Date` header field indicates the date when the request was sent.
2081
+ X-Forwarded-For:
2082
+ name: X-Forwarded-For
2083
+ in: header
2084
+ schema:
2085
+ type: string
2086
+ required: false
2087
+ description: >-
2088
+ The `X-Forwarded-For` header field is an unofficially accepted standard
2089
+ used for informational purposes of the originating client IP address, as
2090
+ a request might pass multiple proxies, firewalls, and so on. Multiple
2091
+ `X-Forwarded-For` values should be expected and supported by
2092
+ implementers of the API.
2093
+
2094
+
2095
+ **Note:** An alternative to `X-Forwarded-For` is defined in [RFC
2096
+ 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC
2097
+ 7239 is less-used and supported than `X-Forwarded-For`.
2098
+ FSPIOP-Source:
2099
+ name: FSPIOP-Source
2100
+ in: header
2101
+ schema:
2102
+ type: string
2103
+ required: true
2104
+ description: >-
2105
+ The `FSPIOP-Source` header field is a non-HTTP standard field used by
2106
+ the API for identifying the sender of the HTTP request. The field should
2107
+ be set by the original sender of the request. Required for routing and
2108
+ signature verification (see header field `FSPIOP-Signature`).
2109
+ FSPIOP-Destination:
2110
+ name: FSPIOP-Destination
2111
+ in: header
2112
+ schema:
2113
+ type: string
2114
+ required: false
2115
+ description: >-
2116
+ The `FSPIOP-Destination` header field is a non-HTTP standard field used
2117
+ by the API for HTTP header based routing of requests and responses to
2118
+ the destination. The field must be set by the original sender of the
2119
+ request if the destination is known (valid for all services except GET
2120
+ /parties) so that any entities between the client and the server do not
2121
+ need to parse the payload for routing purposes. If the destination is
2122
+ not known (valid for service GET /parties), the field should be left
2123
+ empty.
2124
+ FSPIOP-Encryption:
2125
+ name: FSPIOP-Encryption
2126
+ in: header
2127
+ schema:
2128
+ type: string
2129
+ required: false
2130
+ description: >-
2131
+ The `FSPIOP-Encryption` header field is a non-HTTP standard field used
2132
+ by the API for applying end-to-end encryption of the request.
2133
+ FSPIOP-Signature:
2134
+ name: FSPIOP-Signature
2135
+ in: header
2136
+ schema:
2137
+ type: string
2138
+ required: false
2139
+ description: >-
2140
+ The `FSPIOP-Signature` header field is a non-HTTP standard field used by
2141
+ the API for applying an end-to-end request signature.
2142
+ FSPIOP-URI:
2143
+ name: FSPIOP-URI
2144
+ in: header
2145
+ schema:
2146
+ type: string
2147
+ required: false
2148
+ description: >-
2149
+ The `FSPIOP-URI` header field is a non-HTTP standard field used by the
2150
+ API for signature verification, should contain the service URI. Required
2151
+ if signature verification is used, for more information, see [the API
2152
+ Signature
2153
+ document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set).
2154
+ FSPIOP-HTTP-Method:
2155
+ name: FSPIOP-HTTP-Method
2156
+ in: header
2157
+ schema:
2158
+ type: string
2159
+ required: false
2160
+ description: >-
2161
+ The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used
2162
+ by the API for signature verification, should contain the service HTTP
2163
+ method. Required if signature verification is used, for more
2164
+ information, see [the API Signature
2165
+ document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set).
2166
+ Type:
2167
+ name: Type
2168
+ in: path
2169
+ required: true
2170
+ schema:
2171
+ type: string
2172
+ description: 'The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.'
2173
+ SubId:
2174
+ name: SubId
2175
+ in: path
2176
+ required: true
2177
+ schema:
2178
+ type: string
2179
+ description: >-
2180
+ A sub-identifier of the party identifier, or a sub-type of the party
2181
+ identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
2182
+ Accept:
2183
+ name: Accept
2184
+ in: header
2185
+ required: true
2186
+ schema:
2187
+ type: string
2188
+ description: >-
2189
+ The `Accept` header field indicates the version of the API the client
2190
+ would like the server to use.
2191
+ schemas:
2192
+ ErrorCode:
2193
+ title: ErrorCode
2194
+ type: string
2195
+ pattern: '^[1-9]\d{3}$'
2196
+ description: >-
2197
+ The API data type ErrorCode is a JSON String of four characters,
2198
+ consisting of digits only. Negative numbers are not allowed. A leading
2199
+ zero is not allowed. Each error code in the API is a four-digit number,
2200
+ for example, 1234, where the first number (1 in the example) represents
2201
+ the high-level error category, the second number (2 in the example)
2202
+ represents the low-level error category, and the last two numbers (34 in
2203
+ the example) represent the specific error.
2204
+ example: '5100'
2205
+ ErrorDescription:
2206
+ title: ErrorDescription
2207
+ type: string
2208
+ minLength: 1
2209
+ maxLength: 128
2210
+ description: Error description string.
2211
+ ExtensionKey:
2212
+ title: ExtensionKey
2213
+ type: string
2214
+ minLength: 1
2215
+ maxLength: 32
2216
+ description: Extension key.
2217
+ ExtensionValue:
2218
+ title: ExtensionValue
2219
+ type: string
2220
+ minLength: 1
2221
+ maxLength: 128
2222
+ description: Extension value.
2223
+ Extension:
2224
+ title: Extension
2225
+ type: object
2226
+ description: Data model for the complex type Extension.
2227
+ properties:
2228
+ key:
2229
+ $ref: '#/components/schemas/ExtensionKey'
2230
+ value:
2231
+ $ref: '#/components/schemas/ExtensionValue'
2232
+ required:
2233
+ - key
2234
+ - value
2235
+ ExtensionList:
2236
+ title: ExtensionList
2237
+ type: object
2238
+ description: >-
2239
+ Data model for the complex type ExtensionList. An optional list of
2240
+ extensions, specific to deployment.
2241
+ properties:
2242
+ extension:
2243
+ type: array
2244
+ items:
2245
+ $ref: '#/components/schemas/Extension'
2246
+ minItems: 1
2247
+ maxItems: 16
2248
+ description: Number of Extension elements.
2249
+ required:
2250
+ - extension
2251
+ ErrorInformation:
2252
+ title: ErrorInformation
2253
+ type: object
2254
+ description: Data model for the complex type ErrorInformation.
2255
+ properties:
2256
+ errorCode:
2257
+ $ref: '#/components/schemas/ErrorCode'
2258
+ errorDescription:
2259
+ $ref: '#/components/schemas/ErrorDescription'
2260
+ extensionList:
2261
+ $ref: '#/components/schemas/ExtensionList'
2262
+ required:
2263
+ - errorCode
2264
+ - errorDescription
2265
+ ErrorInformationObject:
2266
+ title: ErrorInformationObject
2267
+ type: object
2268
+ description: Data model for the complex type object that contains ErrorInformation.
2269
+ properties:
2270
+ errorInformation:
2271
+ $ref: '#/components/schemas/ErrorInformation'
2272
+ required:
2273
+ - errorInformation
2274
+ ErrorInformationResponse:
2275
+ title: ErrorInformationResponse
2276
+ type: object
2277
+ description: >-
2278
+ Data model for the complex type object that contains an optional element
2279
+ ErrorInformation used along with 4xx and 5xx responses.
2280
+ properties:
2281
+ errorInformation:
2282
+ $ref: '#/components/schemas/ErrorInformation'
2283
+ PartyIdType:
2284
+ title: PartyIdType
2285
+ type: string
2286
+ enum:
2287
+ - MSISDN
2288
+ - EMAIL
2289
+ - PERSONAL_ID
2290
+ - BUSINESS
2291
+ - DEVICE
2292
+ - ACCOUNT_ID
2293
+ - IBAN
2294
+ - ALIAS
2295
+ description: >-
2296
+ Below are the allowed values for the enumeration.
2297
+
2298
+ - MSISDN - An MSISDN (Mobile Station International Subscriber Directory
2299
+ Number, that is, the phone number) is used as reference to a
2300
+ participant. The MSISDN identifier should be in international format
2301
+ according to the [ITU-T E.164
2302
+ standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the
2303
+ MSISDN may be prefixed by a single plus sign, indicating the
2304
+ international prefix.
2305
+
2306
+ - EMAIL - An email is used as reference to a participant. The format of
2307
+ the email should be according to the informational [RFC
2308
+ 3696](https://tools.ietf.org/html/rfc3696).
2309
+
2310
+ - PERSONAL_ID - A personal identifier is used as reference to a
2311
+ participant. Examples of personal identification are passport number,
2312
+ birth certificate number, and national registration number. The
2313
+ identifier number is added in the PartyIdentifier element. The personal
2314
+ identifier type is added in the PartySubIdOrType element.
2315
+
2316
+ - BUSINESS - A specific Business (for example, an organization or a
2317
+ company) is used as reference to a participant. The BUSINESS identifier
2318
+ can be in any format. To make a transaction connected to a specific
2319
+ username or bill number in a Business, the PartySubIdOrType element
2320
+ should be used.
2321
+
2322
+ - DEVICE - A specific device (for example, a POS or ATM) ID connected to
2323
+ a specific business or organization is used as reference to a Party. For
2324
+ referencing a specific device under a specific business or organization,
2325
+ use the PartySubIdOrType element.
2326
+
2327
+ - ACCOUNT_ID - A bank account number or FSP account ID should be used as
2328
+ reference to a participant. The ACCOUNT_ID identifier can be in any
2329
+ format, as formats can greatly differ depending on country and FSP.
2330
+
2331
+ - IBAN - A bank account number or FSP account ID is used as reference to
2332
+ a participant. The IBAN identifier can consist of up to 34 alphanumeric
2333
+ characters and should be entered without whitespace.
2334
+
2335
+ - ALIAS An alias is used as reference to a participant. The alias should
2336
+ be created in the FSP as an alternative reference to an account owner.
2337
+ Another example of an alias is a username in the FSP system. The ALIAS
2338
+ identifier can be in any format. It is also possible to use the
2339
+ PartySubIdOrType element for identifying an account under an Alias
2340
+ defined by the PartyIdentifier.
2341
+ PartyIdentifier:
2342
+ title: PartyIdentifier
2343
+ type: string
2344
+ minLength: 1
2345
+ maxLength: 128
2346
+ description: Identifier of the Party.
2347
+ example: '16135551212'
2348
+ PartySubIdOrType:
2349
+ title: PartySubIdOrType
2350
+ type: string
2351
+ minLength: 1
2352
+ maxLength: 128
2353
+ description: >-
2354
+ Either a sub-identifier of a PartyIdentifier, or a sub-type of the
2355
+ PartyIdType, normally a PersonalIdentifierType.
2356
+ FspId:
2357
+ title: FspId
2358
+ type: string
2359
+ minLength: 1
2360
+ maxLength: 32
2361
+ description: FSP identifier.
2362
+ PartyIdInfo:
2363
+ title: PartyIdInfo
2364
+ type: object
2365
+ description: >-
2366
+ Data model for the complex type PartyIdInfo. An ExtensionList element
2367
+ has been added to this reqeust in version v1.1
2368
+ properties:
2369
+ partyIdType:
2370
+ $ref: '#/components/schemas/PartyIdType'
2371
+ partyIdentifier:
2372
+ $ref: '#/components/schemas/PartyIdentifier'
2373
+ partySubIdOrType:
2374
+ $ref: '#/components/schemas/PartySubIdOrType'
2375
+ fspId:
2376
+ $ref: '#/components/schemas/FspId'
2377
+ extensionList:
2378
+ $ref: '#/components/schemas/ExtensionList'
2379
+ required:
2380
+ - partyIdType
2381
+ - partyIdentifier
2382
+ PartyResult:
2383
+ title: PartyResult
2384
+ type: object
2385
+ description: Data model for the complex type PartyResult.
2386
+ properties:
2387
+ partyId:
2388
+ $ref: '#/components/schemas/PartyIdInfo'
2389
+ errorInformation:
2390
+ $ref: '#/components/schemas/ErrorInformation'
2391
+ required:
2392
+ - partyId
2393
+ Currency:
2394
+ title: Currency
2395
+ description: >-
2396
+ The currency codes defined in [ISO
2397
+ 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter
2398
+ alphabetic codes are used as the standard naming representation for
2399
+ currencies.
2400
+ type: string
2401
+ minLength: 3
2402
+ maxLength: 3
2403
+ enum:
2404
+ - AED
2405
+ - AFN
2406
+ - ALL
2407
+ - AMD
2408
+ - ANG
2409
+ - AOA
2410
+ - ARS
2411
+ - AUD
2412
+ - AWG
2413
+ - AZN
2414
+ - BAM
2415
+ - BBD
2416
+ - BDT
2417
+ - BGN
2418
+ - BHD
2419
+ - BIF
2420
+ - BMD
2421
+ - BND
2422
+ - BOB
2423
+ - BRL
2424
+ - BSD
2425
+ - BTN
2426
+ - BWP
2427
+ - BYN
2428
+ - BZD
2429
+ - CAD
2430
+ - CDF
2431
+ - CHF
2432
+ - CLP
2433
+ - CNY
2434
+ - COP
2435
+ - CRC
2436
+ - CUC
2437
+ - CUP
2438
+ - CVE
2439
+ - CZK
2440
+ - DJF
2441
+ - DKK
2442
+ - DOP
2443
+ - DZD
2444
+ - EGP
2445
+ - ERN
2446
+ - ETB
2447
+ - EUR
2448
+ - FJD
2449
+ - FKP
2450
+ - GBP
2451
+ - GEL
2452
+ - GGP
2453
+ - GHS
2454
+ - GIP
2455
+ - GMD
2456
+ - GNF
2457
+ - GTQ
2458
+ - GYD
2459
+ - HKD
2460
+ - HNL
2461
+ - HRK
2462
+ - HTG
2463
+ - HUF
2464
+ - IDR
2465
+ - ILS
2466
+ - IMP
2467
+ - INR
2468
+ - IQD
2469
+ - IRR
2470
+ - ISK
2471
+ - JEP
2472
+ - JMD
2473
+ - JOD
2474
+ - JPY
2475
+ - KES
2476
+ - KGS
2477
+ - KHR
2478
+ - KMF
2479
+ - KPW
2480
+ - KRW
2481
+ - KWD
2482
+ - KYD
2483
+ - KZT
2484
+ - LAK
2485
+ - LBP
2486
+ - LKR
2487
+ - LRD
2488
+ - LSL
2489
+ - LYD
2490
+ - MAD
2491
+ - MDL
2492
+ - MGA
2493
+ - MKD
2494
+ - MMK
2495
+ - MNT
2496
+ - MOP
2497
+ - MRO
2498
+ - MUR
2499
+ - MVR
2500
+ - MWK
2501
+ - MXN
2502
+ - MYR
2503
+ - MZN
2504
+ - NAD
2505
+ - NGN
2506
+ - NIO
2507
+ - NOK
2508
+ - NPR
2509
+ - NZD
2510
+ - OMR
2511
+ - PAB
2512
+ - PEN
2513
+ - PGK
2514
+ - PHP
2515
+ - PKR
2516
+ - PLN
2517
+ - PYG
2518
+ - QAR
2519
+ - RON
2520
+ - RSD
2521
+ - RUB
2522
+ - RWF
2523
+ - SAR
2524
+ - SBD
2525
+ - SCR
2526
+ - SDG
2527
+ - SEK
2528
+ - SGD
2529
+ - SHP
2530
+ - SLL
2531
+ - SOS
2532
+ - SPL
2533
+ - SRD
2534
+ - STD
2535
+ - SVC
2536
+ - SYP
2537
+ - SZL
2538
+ - THB
2539
+ - TJS
2540
+ - TMT
2541
+ - TND
2542
+ - TOP
2543
+ - TRY
2544
+ - TTD
2545
+ - TVD
2546
+ - TWD
2547
+ - TZS
2548
+ - UAH
2549
+ - UGX
2550
+ - USD
2551
+ - UYU
2552
+ - UZS
2553
+ - VEF
2554
+ - VND
2555
+ - VUV
2556
+ - WST
2557
+ - XAF
2558
+ - XCD
2559
+ - XDR
2560
+ - XOF
2561
+ - XPF
2562
+ - YER
2563
+ - ZAR
2564
+ - ZMW
2565
+ - ZWD
2566
+ ParticipantsIDPutResponse:
2567
+ title: ParticipantsIDPutResponse
2568
+ type: object
2569
+ description: 'The object sent in the PUT /participants/{ID} callback.'
2570
+ properties:
2571
+ partyList:
2572
+ type: array
2573
+ items:
2574
+ $ref: '#/components/schemas/PartyResult'
2575
+ minItems: 1
2576
+ maxItems: 10000
2577
+ description: >-
2578
+ List of PartyResult elements that were either created or failed to
2579
+ be created.
2580
+ currency:
2581
+ $ref: '#/components/schemas/Currency'
2582
+ required:
2583
+ - partyList
2584
+ ParticipantsTypeIDPutResponse:
2585
+ title: ParticipantsTypeIDPutResponse
2586
+ type: object
2587
+ description: >-
2588
+ The object sent in the PUT /participants/{Type}/{ID}/{SubId} and
2589
+ /participants/{Type}/{ID} callbacks.
2590
+ properties:
2591
+ fspId:
2592
+ $ref: '#/components/schemas/FspId'
2593
+ ParticipantsTypeIDSubIDPostRequest:
2594
+ title: ParticipantsTypeIDSubIDPostRequest
2595
+ type: object
2596
+ description: >-
2597
+ The object sent in the POST /participants/{Type}/{ID}/{SubId} and
2598
+ /participants/{Type}/{ID} requests. An additional optional ExtensionList
2599
+ element has been added as part of v1.1 changes.
2600
+ properties:
2601
+ fspId:
2602
+ $ref: '#/components/schemas/FspId'
2603
+ currency:
2604
+ $ref: '#/components/schemas/Currency'
2605
+ extensionList:
2606
+ $ref: '#/components/schemas/ExtensionList'
2607
+ required:
2608
+ - fspId
2609
+ CorrelationId:
2610
+ title: CorrelationId
2611
+ type: string
2612
+ pattern: >-
2613
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2614
+ description: >-
2615
+ Identifier that correlates all messages of the same sequence. The API
2616
+ data type UUID (Universally Unique Identifier) is a JSON String in
2617
+ canonical format, conforming to [RFC
2618
+ 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a
2619
+ regular expression for interoperability reasons. A UUID is always 36
2620
+ characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).
2621
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
2622
+ ParticipantsPostRequest:
2623
+ title: ParticipantsPostRequest
2624
+ type: object
2625
+ description: The object sent in the POST /participants request.
2626
+ properties:
2627
+ requestId:
2628
+ $ref: '#/components/schemas/CorrelationId'
2629
+ partyList:
2630
+ type: array
2631
+ items:
2632
+ $ref: '#/components/schemas/PartyIdInfo'
2633
+ minItems: 1
2634
+ maxItems: 10000
2635
+ description: >-
2636
+ List of PartyIdInfo elements that the client would like to update or
2637
+ create FSP information about.
2638
+ currency:
2639
+ $ref: '#/components/schemas/Currency'
2640
+ required:
2641
+ - requestId
2642
+ - partyList
2643
+ MerchantClassificationCode:
2644
+ title: MerchantClassificationCode
2645
+ type: string
2646
+ pattern: '^[\d]{1,4}$'
2647
+ description: >-
2648
+ A limited set of pre-defined numbers. This list would be a limited set
2649
+ of numbers identifying a set of popular merchant types like School Fees,
2650
+ Pubs and Restaurants, Groceries, etc.
2651
+ PartyName:
2652
+ title: PartyName
2653
+ type: string
2654
+ minLength: 1
2655
+ maxLength: 128
2656
+ description: Name of the Party. Could be a real name or a nickname.
2657
+ FirstName:
2658
+ title: FirstName
2659
+ type: string
2660
+ minLength: 1
2661
+ maxLength: 128
2662
+ pattern: >-
2663
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2664
+ .,''-]{1,128}$
2665
+ description: First name of the Party (Name Type).
2666
+ example: Henrik
2667
+ MiddleName:
2668
+ title: MiddleName
2669
+ type: string
2670
+ minLength: 1
2671
+ maxLength: 128
2672
+ pattern: >-
2673
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2674
+ .,''-]{1,128}$
2675
+ description: Middle name of the Party (Name Type).
2676
+ example: Johannes
2677
+ LastName:
2678
+ title: LastName
2679
+ type: string
2680
+ minLength: 1
2681
+ maxLength: 128
2682
+ pattern: >-
2683
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2684
+ .,''-]{1,128}$
2685
+ description: Last name of the Party (Name Type).
2686
+ example: Karlsson
2687
+ PartyComplexName:
2688
+ title: PartyComplexName
2689
+ type: object
2690
+ description: Data model for the complex type PartyComplexName.
2691
+ properties:
2692
+ firstName:
2693
+ $ref: '#/components/schemas/FirstName'
2694
+ middleName:
2695
+ $ref: '#/components/schemas/MiddleName'
2696
+ lastName:
2697
+ $ref: '#/components/schemas/LastName'
2698
+ DateOfBirth:
2699
+ title: DateofBirth (type Date)
2700
+ type: string
2701
+ pattern: >-
2702
+ ^(?:[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)$
2703
+ description: Date of Birth of the Party.
2704
+ example: '1966-06-16'
2705
+ PartyPersonalInfo:
2706
+ title: PartyPersonalInfo
2707
+ type: object
2708
+ description: Data model for the complex type PartyPersonalInfo.
2709
+ properties:
2710
+ complexName:
2711
+ $ref: '#/components/schemas/PartyComplexName'
2712
+ dateOfBirth:
2713
+ $ref: '#/components/schemas/DateOfBirth'
2714
+ Party:
2715
+ title: Party
2716
+ type: object
2717
+ description: Data model for the complex type Party.
2718
+ properties:
2719
+ partyIdInfo:
2720
+ $ref: '#/components/schemas/PartyIdInfo'
2721
+ merchantClassificationCode:
2722
+ $ref: '#/components/schemas/MerchantClassificationCode'
2723
+ name:
2724
+ $ref: '#/components/schemas/PartyName'
2725
+ personalInfo:
2726
+ $ref: '#/components/schemas/PartyPersonalInfo'
2727
+ required:
2728
+ - partyIdInfo
2729
+ PartiesTypeIDPutResponse:
2730
+ title: PartiesTypeIDPutResponse
2731
+ type: object
2732
+ description: 'The object sent in the PUT /parties/{Type}/{ID} callback.'
2733
+ properties:
2734
+ party:
2735
+ $ref: '#/components/schemas/Party'
2736
+ required:
2737
+ - party
2738
+ TransactionRequestState:
2739
+ title: TransactionRequestState
2740
+ type: string
2741
+ enum:
2742
+ - RECEIVED
2743
+ - PENDING
2744
+ - ACCEPTED
2745
+ - REJECTED
2746
+ description: |-
2747
+ Below are the allowed values for the enumeration.
2748
+ - RECEIVED - Payer FSP has received the transaction from the Payee FSP.
2749
+ - PENDING - Payer FSP has sent the transaction request to the Payer.
2750
+ - ACCEPTED - Payer has approved the transaction.
2751
+ - REJECTED - Payer has rejected the transaction.
2752
+ example: RECEIVED
2753
+ TransactionRequestsIDPutResponse:
2754
+ title: TransactionRequestsIDPutResponse
2755
+ type: object
2756
+ description: 'The object sent in the PUT /transactionRequests/{ID} callback.'
2757
+ properties:
2758
+ transactionId:
2759
+ $ref: '#/components/schemas/CorrelationId'
2760
+ transactionRequestState:
2761
+ $ref: '#/components/schemas/TransactionRequestState'
2762
+ extensionList:
2763
+ $ref: '#/components/schemas/ExtensionList'
2764
+ required:
2765
+ - transactionRequestState
2766
+ Amount:
2767
+ title: Amount
2768
+ type: string
2769
+ pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$'
2770
+ description: >-
2771
+ The API data type Amount is a JSON String in a canonical format that is
2772
+ restricted by a regular expression for interoperability reasons. This
2773
+ pattern does not allow any trailing zeroes at all, but allows an amount
2774
+ without a minor currency unit. It also only allows four digits in the
2775
+ minor currency unit; a negative value is not allowed. Using more than 18
2776
+ digits in the major currency unit is not allowed.
2777
+ example: '123.45'
2778
+ Money:
2779
+ title: Money
2780
+ type: object
2781
+ description: Data model for the complex type Money.
2782
+ properties:
2783
+ currency:
2784
+ $ref: '#/components/schemas/Currency'
2785
+ amount:
2786
+ $ref: '#/components/schemas/Amount'
2787
+ required:
2788
+ - currency
2789
+ - amount
2790
+ TransactionScenario:
2791
+ title: TransactionScenario
2792
+ type: string
2793
+ enum:
2794
+ - DEPOSIT
2795
+ - WITHDRAWAL
2796
+ - TRANSFER
2797
+ - PAYMENT
2798
+ - REFUND
2799
+ description: >-
2800
+ Below are the allowed values for the enumeration.
2801
+
2802
+ - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a
2803
+ normal scenario, electronic funds are transferred from a Business
2804
+ account to a Consumer account, and physical cash is given from the
2805
+ Consumer to the Business User.
2806
+
2807
+ - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction.
2808
+ In a normal scenario, electronic funds are transferred from a Consumer’s
2809
+ account to a Business account, and physical cash is given from the
2810
+ Business User to the Consumer.
2811
+
2812
+ - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to
2813
+ Consumer) transaction.
2814
+
2815
+ - PAYMENT - Usually used for performing a transaction from a Consumer to
2816
+ a Merchant or Organization, but could also be for a B2B (Business to
2817
+ Business) payment. The transaction could be online for a purchase in an
2818
+ Internet store, in a physical store where both the Consumer and Business
2819
+ User are present, a bill payment, a donation, and so on.
2820
+
2821
+ - REFUND - Used for performing a refund of transaction.
2822
+ example: DEPOSIT
2823
+ TransactionSubScenario:
2824
+ title: TransactionSubScenario
2825
+ type: string
2826
+ pattern: '^[A-Z_]{1,32}$'
2827
+ description: >-
2828
+ Possible sub-scenario, defined locally within the scheme (UndefinedEnum
2829
+ Type).
2830
+ example: LOCALLY_DEFINED_SUBSCENARIO
2831
+ TransactionInitiator:
2832
+ title: TransactionInitiator
2833
+ type: string
2834
+ enum:
2835
+ - PAYER
2836
+ - PAYEE
2837
+ description: >-
2838
+ Below are the allowed values for the enumeration.
2839
+
2840
+ - PAYER - Sender of funds is initiating the transaction. The account to
2841
+ send from is either owned by the Payer or is connected to the Payer in
2842
+ some way.
2843
+
2844
+ - PAYEE - Recipient of the funds is initiating the transaction by
2845
+ sending a transaction request. The Payer must approve the transaction,
2846
+ either automatically by a pre-generated OTP or by pre-approval of the
2847
+ Payee, or by manually approving in his or her own Device.
2848
+ example: PAYEE
2849
+ TransactionInitiatorType:
2850
+ title: TransactionInitiatorType
2851
+ type: string
2852
+ enum:
2853
+ - CONSUMER
2854
+ - AGENT
2855
+ - BUSINESS
2856
+ - DEVICE
2857
+ description: |-
2858
+ Below are the allowed values for the enumeration.
2859
+ - CONSUMER - Consumer is the initiator of the transaction.
2860
+ - AGENT - Agent is the initiator of the transaction.
2861
+ - BUSINESS - Business is the initiator of the transaction.
2862
+ - DEVICE - Device is the initiator of the transaction.
2863
+ example: CONSUMER
2864
+ RefundReason:
2865
+ title: RefundReason
2866
+ type: string
2867
+ minLength: 1
2868
+ maxLength: 128
2869
+ description: Reason for the refund.
2870
+ example: Free text indicating reason for the refund.
2871
+ Refund:
2872
+ title: Refund
2873
+ type: object
2874
+ description: Data model for the complex type Refund.
2875
+ properties:
2876
+ originalTransactionId:
2877
+ $ref: '#/components/schemas/CorrelationId'
2878
+ refundReason:
2879
+ $ref: '#/components/schemas/RefundReason'
2880
+ required:
2881
+ - originalTransactionId
2882
+ BalanceOfPayments:
2883
+ title: BalanceOfPayments
2884
+ type: string
2885
+ pattern: '^[1-9]\d{2}$'
2886
+ description: >-
2887
+ (BopCode) The API data type
2888
+ [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String
2889
+ of 3 characters, consisting of digits only. Negative numbers are not
2890
+ allowed. A leading zero is not allowed.
2891
+ example: '123'
2892
+ TransactionType:
2893
+ title: TransactionType
2894
+ type: object
2895
+ description: Data model for the complex type TransactionType.
2896
+ properties:
2897
+ scenario:
2898
+ $ref: '#/components/schemas/TransactionScenario'
2899
+ subScenario:
2900
+ $ref: '#/components/schemas/TransactionSubScenario'
2901
+ initiator:
2902
+ $ref: '#/components/schemas/TransactionInitiator'
2903
+ initiatorType:
2904
+ $ref: '#/components/schemas/TransactionInitiatorType'
2905
+ refundInfo:
2906
+ $ref: '#/components/schemas/Refund'
2907
+ balanceOfPayments:
2908
+ $ref: '#/components/schemas/BalanceOfPayments'
2909
+ required:
2910
+ - scenario
2911
+ - initiator
2912
+ - initiatorType
2913
+ Note:
2914
+ title: Note
2915
+ type: string
2916
+ minLength: 1
2917
+ maxLength: 128
2918
+ description: Memo assigned to transaction.
2919
+ example: Note sent to Payee.
2920
+ Latitude:
2921
+ title: Latitude
2922
+ type: string
2923
+ pattern: >-
2924
+ ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$
2925
+ description: >-
2926
+ The API data type Latitude is a JSON String in a lexical format that is
2927
+ restricted by a regular expression for interoperability reasons.
2928
+ example: '+45.4215'
2929
+ Longitude:
2930
+ title: Longitude
2931
+ type: string
2932
+ pattern: >-
2933
+ ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
2934
+ description: >-
2935
+ The API data type Longitude is a JSON String in a lexical format that is
2936
+ restricted by a regular expression for interoperability reasons.
2937
+ example: '+75.6972'
2938
+ GeoCode:
2939
+ title: GeoCode
2940
+ type: object
2941
+ description: >-
2942
+ Data model for the complex type GeoCode. Indicates the geographic
2943
+ location from where the transaction was initiated.
2944
+ properties:
2945
+ latitude:
2946
+ $ref: '#/components/schemas/Latitude'
2947
+ longitude:
2948
+ $ref: '#/components/schemas/Longitude'
2949
+ required:
2950
+ - latitude
2951
+ - longitude
2952
+ AuthenticationType:
2953
+ title: AuthenticationType
2954
+ type: string
2955
+ enum:
2956
+ - OTP
2957
+ - QRCODE
2958
+ - U2F
2959
+ description: |-
2960
+ Below are the allowed values for the enumeration AuthenticationType.
2961
+ - OTP - One-time password generated by the Payer FSP.
2962
+ - QRCODE - QR code used as One Time Password.
2963
+ - U2F - U2F is a new addition isolated to Thirdparty stream.
2964
+ example: OTP
2965
+ DateTime:
2966
+ title: DateTime
2967
+ type: string
2968
+ pattern: >-
2969
+ ^(?:[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)$
2970
+ description: >-
2971
+ The API data type DateTime is a JSON String in a lexical format that is
2972
+ restricted by a regular expression for interoperability reasons. The
2973
+ format is according to [ISO
2974
+ 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed
2975
+ in a combined date, time and time zone format. A more readable version
2976
+ of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are
2977
+ "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z
2978
+ indicates Zulu time zone, same as UTC).
2979
+ example: '2016-05-24T08:38:08.699-04:00'
2980
+ TransactionRequestsPostRequest:
2981
+ title: TransactionRequestsPostRequest
2982
+ type: object
2983
+ description: The object sent in the POST /transactionRequests request.
2984
+ properties:
2985
+ transactionRequestId:
2986
+ $ref: '#/components/schemas/CorrelationId'
2987
+ payee:
2988
+ $ref: '#/components/schemas/Party'
2989
+ payer:
2990
+ $ref: '#/components/schemas/PartyIdInfo'
2991
+ amount:
2992
+ $ref: '#/components/schemas/Money'
2993
+ transactionType:
2994
+ $ref: '#/components/schemas/TransactionType'
2995
+ note:
2996
+ $ref: '#/components/schemas/Note'
2997
+ geoCode:
2998
+ $ref: '#/components/schemas/GeoCode'
2999
+ authenticationType:
3000
+ $ref: '#/components/schemas/AuthenticationType'
3001
+ expiration:
3002
+ $ref: '#/components/schemas/DateTime'
3003
+ extensionList:
3004
+ $ref: '#/components/schemas/ExtensionList'
3005
+ required:
3006
+ - transactionRequestId
3007
+ - payee
3008
+ - payer
3009
+ - amount
3010
+ - transactionType
3011
+ IlpPacket:
3012
+ title: IlpPacket
3013
+ type: string
3014
+ pattern: '^[A-Za-z0-9-_]+[=]{0,2}$'
3015
+ minLength: 1
3016
+ maxLength: 32768
3017
+ description: Information for recipient (transport layer information).
3018
+ example: >-
3019
+ AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA
3020
+ IlpCondition:
3021
+ title: IlpCondition
3022
+ type: string
3023
+ pattern: '^[A-Za-z0-9-_]{43}$'
3024
+ maxLength: 48
3025
+ description: Condition that must be attached to the transfer by the Payer.
3026
+ QuotesIDPutResponse:
3027
+ title: QuotesIDPutResponse
3028
+ type: object
3029
+ description: 'The object sent in the PUT /quotes/{ID} callback.'
3030
+ properties:
3031
+ transferAmount:
3032
+ $ref: '#/components/schemas/Money'
3033
+ payeeReceiveAmount:
3034
+ $ref: '#/components/schemas/Money'
3035
+ payeeFspFee:
3036
+ $ref: '#/components/schemas/Money'
3037
+ payeeFspCommission:
3038
+ $ref: '#/components/schemas/Money'
3039
+ expiration:
3040
+ $ref: '#/components/schemas/DateTime'
3041
+ geoCode:
3042
+ $ref: '#/components/schemas/GeoCode'
3043
+ ilpPacket:
3044
+ $ref: '#/components/schemas/IlpPacket'
3045
+ condition:
3046
+ $ref: '#/components/schemas/IlpCondition'
3047
+ extensionList:
3048
+ $ref: '#/components/schemas/ExtensionList'
3049
+ required:
3050
+ - transferAmount
3051
+ - expiration
3052
+ - ilpPacket
3053
+ - condition
3054
+ AmountType:
3055
+ title: AmountType
3056
+ type: string
3057
+ enum:
3058
+ - SEND
3059
+ - RECEIVE
3060
+ description: >-
3061
+ Below are the allowed values for the enumeration AmountType.
3062
+
3063
+ - SEND - Amount the Payer would like to send, that is, the amount that
3064
+ should be withdrawn from the Payer account including any fees.
3065
+
3066
+ - RECEIVE - Amount the Payer would like the Payee to receive, that is,
3067
+ the amount that should be sent to the receiver exclusive of any fees.
3068
+ example: RECEIVE
3069
+ QuotesPostRequest:
3070
+ title: QuotesPostRequest
3071
+ type: object
3072
+ description: The object sent in the POST /quotes request.
3073
+ properties:
3074
+ quoteId:
3075
+ $ref: '#/components/schemas/CorrelationId'
3076
+ transactionId:
3077
+ $ref: '#/components/schemas/CorrelationId'
3078
+ transactionRequestId:
3079
+ $ref: '#/components/schemas/CorrelationId'
3080
+ payee:
3081
+ $ref: '#/components/schemas/Party'
3082
+ payer:
3083
+ $ref: '#/components/schemas/Party'
3084
+ amountType:
3085
+ $ref: '#/components/schemas/AmountType'
3086
+ amount:
3087
+ $ref: '#/components/schemas/Money'
3088
+ fees:
3089
+ $ref: '#/components/schemas/Money'
3090
+ transactionType:
3091
+ $ref: '#/components/schemas/TransactionType'
3092
+ geoCode:
3093
+ $ref: '#/components/schemas/GeoCode'
3094
+ note:
3095
+ $ref: '#/components/schemas/Note'
3096
+ expiration:
3097
+ $ref: '#/components/schemas/DateTime'
3098
+ extensionList:
3099
+ $ref: '#/components/schemas/ExtensionList'
3100
+ required:
3101
+ - quoteId
3102
+ - transactionId
3103
+ - payee
3104
+ - payer
3105
+ - amountType
3106
+ - amount
3107
+ - transactionType
3108
+ OtpValue:
3109
+ title: OtpValue
3110
+ type: string
3111
+ pattern: '^\d{3,10}$'
3112
+ description: >-
3113
+ The API data type OtpValue is a JSON String of 3 to 10 characters,
3114
+ consisting of digits only. Negative numbers are not allowed. One or more
3115
+ leading zeros are allowed.
3116
+ QRCODE:
3117
+ title: QRCODE
3118
+ type: string
3119
+ minLength: 1
3120
+ maxLength: 64
3121
+ description: QR code used as a One Time Password.
3122
+ U2FPIN:
3123
+ title: U2FPIN
3124
+ type: string
3125
+ pattern: '^\S{1,64}$'
3126
+ minLength: 1
3127
+ maxLength: 64
3128
+ description: >
3129
+ U2F challenge-response, where payer FSP verifies if the response
3130
+ provided by end-user device matches the previously registered key.
3131
+ Integer:
3132
+ title: Integer
3133
+ type: string
3134
+ pattern: '^[1-9]\d*$'
3135
+ description: >-
3136
+ The API data type Integer is a JSON String consisting of digits only.
3137
+ Negative numbers and leading zeroes are not allowed. The data type is
3138
+ always limited to a specific number of digits.
3139
+ U2FPinValue:
3140
+ title: U2FPinValue
3141
+ type: object
3142
+ description: >
3143
+ U2F challenge-response, where payer FSP verifies if the response
3144
+ provided by end-user device matches the previously registered key.
3145
+ properties:
3146
+ pinValue:
3147
+ allOf:
3148
+ - $ref: '#/components/schemas/U2FPIN'
3149
+ description: U2F challenge-response.
3150
+ counter:
3151
+ allOf:
3152
+ - $ref: '#/components/schemas/Integer'
3153
+ description: >-
3154
+ Sequential counter used for cloning detection. Present only for U2F
3155
+ authentication.
3156
+ required:
3157
+ - pinValue
3158
+ - counter
3159
+ AuthenticationValue:
3160
+ title: AuthenticationValue
3161
+ anyOf:
3162
+ - $ref: '#/components/schemas/OtpValue'
3163
+ - $ref: '#/components/schemas/QRCODE'
3164
+ - $ref: '#/components/schemas/U2FPinValue'
3165
+ pattern: '^\d{3,10}$|^\S{1,64}$'
3166
+ description: >-
3167
+ Contains the authentication value. The format depends on the
3168
+ authentication type used in the AuthenticationInfo complex type.
3169
+ AuthenticationInfo:
3170
+ title: AuthenticationInfo
3171
+ type: object
3172
+ description: Data model for the complex type AuthenticationInfo.
3173
+ properties:
3174
+ authentication:
3175
+ $ref: '#/components/schemas/AuthenticationType'
3176
+ authenticationValue:
3177
+ $ref: '#/components/schemas/AuthenticationValue'
3178
+ required:
3179
+ - authentication
3180
+ - authenticationValue
3181
+ AuthorizationResponse:
3182
+ title: AuthorizationResponse
3183
+ type: string
3184
+ enum:
3185
+ - ENTERED
3186
+ - REJECTED
3187
+ - RESEND
3188
+ description: |-
3189
+ Below are the allowed values for the enumeration.
3190
+ - ENTERED - Consumer entered the authentication value.
3191
+ - REJECTED - Consumer rejected the transaction.
3192
+ - RESEND - Consumer requested to resend the authentication value.
3193
+ example: ENTERED
3194
+ AuthorizationsIDPutResponse:
3195
+ title: AuthorizationsIDPutResponse
3196
+ type: object
3197
+ description: 'The object sent in the PUT /authorizations/{ID} callback.'
3198
+ properties:
3199
+ authenticationInfo:
3200
+ $ref: '#/components/schemas/AuthenticationInfo'
3201
+ responseType:
3202
+ $ref: '#/components/schemas/AuthorizationResponse'
3203
+ required:
3204
+ - responseType
3205
+ IlpFulfilment:
3206
+ title: IlpFulfilment
3207
+ type: string
3208
+ pattern: '^[A-Za-z0-9-_]{43}$'
3209
+ maxLength: 48
3210
+ description: Fulfilment that must be attached to the transfer by the Payee.
3211
+ example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
3212
+ TransferState:
3213
+ title: TransferState
3214
+ type: string
3215
+ enum:
3216
+ - RECEIVED
3217
+ - RESERVED
3218
+ - COMMITTED
3219
+ - ABORTED
3220
+ description: >-
3221
+ Below are the allowed values for the enumeration.
3222
+
3223
+ - RECEIVED - Next ledger has received the transfer.
3224
+
3225
+ - RESERVED - Next ledger has reserved the transfer.
3226
+
3227
+ - COMMITTED - Next ledger has successfully performed the transfer.
3228
+
3229
+ - ABORTED - Next ledger has aborted the transfer due to a rejection or
3230
+ failure to perform the transfer.
3231
+ example: RESERVED
3232
+ TransfersIDPutResponse:
3233
+ title: TransfersIDPutResponse
3234
+ type: object
3235
+ description: 'The object sent in the PUT /transfers/{ID} callback.'
3236
+ properties:
3237
+ fulfilment:
3238
+ $ref: '#/components/schemas/IlpFulfilment'
3239
+ completedTimestamp:
3240
+ $ref: '#/components/schemas/DateTime'
3241
+ transferState:
3242
+ $ref: '#/components/schemas/TransferState'
3243
+ extensionList:
3244
+ $ref: '#/components/schemas/ExtensionList'
3245
+ required:
3246
+ - transferState
3247
+ TransfersIDPatchResponse:
3248
+ title: TransfersIDPatchResponse
3249
+ type: object
3250
+ description: 'PATCH /transfers/{ID} object'
3251
+ properties:
3252
+ completedTimestamp:
3253
+ $ref: '#/components/schemas/DateTime'
3254
+ transferState:
3255
+ $ref: '#/components/schemas/TransferState'
3256
+ extensionList:
3257
+ $ref: '#/components/schemas/ExtensionList'
3258
+ required:
3259
+ - completedTimestamp
3260
+ - transferState
3261
+ TransfersPostRequest:
3262
+ title: TransfersPostRequest
3263
+ type: object
3264
+ description: The object sent in the POST /transfers request.
3265
+ properties:
3266
+ transferId:
3267
+ $ref: '#/components/schemas/CorrelationId'
3268
+ payeeFsp:
3269
+ $ref: '#/components/schemas/FspId'
3270
+ payerFsp:
3271
+ $ref: '#/components/schemas/FspId'
3272
+ amount:
3273
+ $ref: '#/components/schemas/Money'
3274
+ ilpPacket:
3275
+ $ref: '#/components/schemas/IlpPacket'
3276
+ condition:
3277
+ $ref: '#/components/schemas/IlpCondition'
3278
+ expiration:
3279
+ $ref: '#/components/schemas/DateTime'
3280
+ extensionList:
3281
+ $ref: '#/components/schemas/ExtensionList'
3282
+ required:
3283
+ - transferId
3284
+ - payeeFsp
3285
+ - payerFsp
3286
+ - amount
3287
+ - ilpPacket
3288
+ - condition
3289
+ - expiration
3290
+ TransactionState:
3291
+ title: TransactionState
3292
+ type: string
3293
+ enum:
3294
+ - RECEIVED
3295
+ - PENDING
3296
+ - COMPLETED
3297
+ - REJECTED
3298
+ description: |-
3299
+ Below are the allowed values for the enumeration.
3300
+ - RECEIVED - Payee FSP has received the transaction from the Payer FSP.
3301
+ - PENDING - Payee FSP has validated the transaction.
3302
+ - COMPLETED - Payee FSP has successfully performed the transaction.
3303
+ - REJECTED - Payee FSP has failed to perform the transaction.
3304
+ example: RECEIVED
3305
+ Code:
3306
+ title: Code
3307
+ type: string
3308
+ pattern: '^[0-9a-zA-Z]{4,32}$'
3309
+ description: Any code/token returned by the Payee FSP (TokenCode Type).
3310
+ example: Test-Code
3311
+ TransactionsIDPutResponse:
3312
+ title: TransactionsIDPutResponse
3313
+ type: object
3314
+ description: 'The object sent in the PUT /transactions/{ID} callback.'
3315
+ properties:
3316
+ completedTimestamp:
3317
+ $ref: '#/components/schemas/DateTime'
3318
+ transactionState:
3319
+ $ref: '#/components/schemas/TransactionState'
3320
+ code:
3321
+ $ref: '#/components/schemas/Code'
3322
+ extensionList:
3323
+ $ref: '#/components/schemas/ExtensionList'
3324
+ required:
3325
+ - transactionState
3326
+ IndividualQuoteResult:
3327
+ title: IndividualQuoteResult
3328
+ type: object
3329
+ description: Data model for the complex type IndividualQuoteResult.
3330
+ properties:
3331
+ quoteId:
3332
+ $ref: '#/components/schemas/CorrelationId'
3333
+ payee:
3334
+ $ref: '#/components/schemas/Party'
3335
+ transferAmount:
3336
+ $ref: '#/components/schemas/Money'
3337
+ payeeReceiveAmount:
3338
+ $ref: '#/components/schemas/Money'
3339
+ payeeFspFee:
3340
+ $ref: '#/components/schemas/Money'
3341
+ payeeFspCommission:
3342
+ $ref: '#/components/schemas/Money'
3343
+ ilpPacket:
3344
+ $ref: '#/components/schemas/IlpPacket'
3345
+ condition:
3346
+ $ref: '#/components/schemas/IlpCondition'
3347
+ errorInformation:
3348
+ $ref: '#/components/schemas/ErrorInformation'
3349
+ extensionList:
3350
+ $ref: '#/components/schemas/ExtensionList'
3351
+ required:
3352
+ - quoteId
3353
+ BulkQuotesIDPutResponse:
3354
+ title: BulkQuotesIDPutResponse
3355
+ type: object
3356
+ description: 'The object sent in the PUT /bulkQuotes/{ID} callback.'
3357
+ properties:
3358
+ individualQuoteResults:
3359
+ type: array
3360
+ maxItems: 1000
3361
+ items:
3362
+ $ref: '#/components/schemas/IndividualQuoteResult'
3363
+ description: >-
3364
+ Fees for each individual transaction, if any of them are charged per
3365
+ transaction.
3366
+ expiration:
3367
+ $ref: '#/components/schemas/DateTime'
3368
+ extensionList:
3369
+ $ref: '#/components/schemas/ExtensionList'
3370
+ required:
3371
+ - expiration
3372
+ IndividualTransferResult:
3373
+ title: IndividualTransferResult
3374
+ type: object
3375
+ description: Data model for the complex type IndividualTransferResult.
3376
+ properties:
3377
+ transferId:
3378
+ $ref: '#/components/schemas/CorrelationId'
3379
+ fulfilment:
3380
+ $ref: '#/components/schemas/IlpFulfilment'
3381
+ errorInformation:
3382
+ $ref: '#/components/schemas/ErrorInformation'
3383
+ extensionList:
3384
+ $ref: '#/components/schemas/ExtensionList'
3385
+ required:
3386
+ - transferId
3387
+ BulkTransferState:
3388
+ title: BulkTransactionState
3389
+ type: string
3390
+ enum:
3391
+ - RECEIVED
3392
+ - PENDING
3393
+ - ACCEPTED
3394
+ - PROCESSING
3395
+ - COMPLETED
3396
+ - REJECTED
3397
+ description: >-
3398
+ Below are the allowed values for the enumeration.
3399
+
3400
+ - RECEIVED - Payee FSP has received the bulk transfer from the Payer
3401
+ FSP.
3402
+
3403
+ - PENDING - Payee FSP has validated the bulk transfer.
3404
+
3405
+ - ACCEPTED - Payee FSP has accepted to process the bulk transfer.
3406
+
3407
+ - PROCESSING - Payee FSP has started to transfer fund to the Payees.
3408
+
3409
+ - COMPLETED - Payee FSP has completed transfer of funds to the Payees.
3410
+
3411
+ - REJECTED - Payee FSP has rejected to process the bulk transfer.
3412
+ example: RECEIVED
3413
+ BulkTransfersIDPutResponse:
3414
+ title: BulkTransfersIDPutResponse
3415
+ type: object
3416
+ description: 'The object sent in the PUT /bulkTransfers/{ID} callback.'
3417
+ properties:
3418
+ completedTimestamp:
3419
+ $ref: '#/components/schemas/DateTime'
3420
+ individualTransferResults:
3421
+ type: array
3422
+ maxItems: 1000
3423
+ items:
3424
+ $ref: '#/components/schemas/IndividualTransferResult'
3425
+ description: List of IndividualTransferResult elements.
3426
+ bulkTransferState:
3427
+ $ref: '#/components/schemas/BulkTransferState'
3428
+ extensionList:
3429
+ $ref: '#/components/schemas/ExtensionList'
3430
+ required:
3431
+ - bulkTransferState
3432
+ IndividualTransfer:
3433
+ title: IndividualTransfer
3434
+ type: object
3435
+ description: Data model for the complex type IndividualTransfer.
3436
+ properties:
3437
+ transferId:
3438
+ $ref: '#/components/schemas/CorrelationId'
3439
+ transferAmount:
3440
+ $ref: '#/components/schemas/Money'
3441
+ ilpPacket:
3442
+ $ref: '#/components/schemas/IlpPacket'
3443
+ condition:
3444
+ $ref: '#/components/schemas/IlpCondition'
3445
+ extensionList:
3446
+ $ref: '#/components/schemas/ExtensionList'
3447
+ required:
3448
+ - transferId
3449
+ - transferAmount
3450
+ - ilpPacket
3451
+ - condition
3452
+ BulkTransfersPostRequest:
3453
+ title: BulkTransfersPostRequest
3454
+ type: object
3455
+ description: The object sent in the POST /bulkTransfers request.
3456
+ properties:
3457
+ bulkTransferId:
3458
+ $ref: '#/components/schemas/CorrelationId'
3459
+ bulkQuoteId:
3460
+ $ref: '#/components/schemas/CorrelationId'
3461
+ payerFsp:
3462
+ $ref: '#/components/schemas/FspId'
3463
+ payeeFsp:
3464
+ $ref: '#/components/schemas/FspId'
3465
+ individualTransfers:
3466
+ type: array
3467
+ minItems: 1
3468
+ maxItems: 1000
3469
+ items:
3470
+ $ref: '#/components/schemas/IndividualTransfer'
3471
+ description: List of IndividualTransfer elements.
3472
+ expiration:
3473
+ $ref: '#/components/schemas/DateTime'
3474
+ extensionList:
3475
+ $ref: '#/components/schemas/ExtensionList'
3476
+ required:
3477
+ - bulkTransferId
3478
+ - bulkQuoteId
3479
+ - payerFsp
3480
+ - payeeFsp
3481
+ - individualTransfers
3482
+ - expiration
3483
+ responses:
3484
+ '200':
3485
+ description: OK
3486
+ '202':
3487
+ description: Accepted
3488
+ '400':
3489
+ description: Bad Request
3490
+ content:
3491
+ application/json:
3492
+ schema:
3493
+ $ref: '#/components/schemas/ErrorInformationResponse'
3494
+ headers:
3495
+ Content-Length:
3496
+ $ref: '#/components/headers/Content-Length'
3497
+ Content-Type:
3498
+ $ref: '#/components/headers/Content-Type'
3499
+ '401':
3500
+ description: Unauthorized
3501
+ content:
3502
+ application/json:
3503
+ schema:
3504
+ $ref: '#/components/schemas/ErrorInformationResponse'
3505
+ headers:
3506
+ Content-Length:
3507
+ $ref: '#/components/headers/Content-Length'
3508
+ Content-Type:
3509
+ $ref: '#/components/headers/Content-Type'
3510
+ '403':
3511
+ description: Forbidden
3512
+ content:
3513
+ application/json:
3514
+ schema:
3515
+ $ref: '#/components/schemas/ErrorInformationResponse'
3516
+ headers:
3517
+ Content-Length:
3518
+ $ref: '#/components/headers/Content-Length'
3519
+ Content-Type:
3520
+ $ref: '#/components/headers/Content-Type'
3521
+ '404':
3522
+ description: Not Found
3523
+ content:
3524
+ application/json:
3525
+ schema:
3526
+ $ref: '#/components/schemas/ErrorInformationResponse'
3527
+ headers:
3528
+ Content-Length:
3529
+ $ref: '#/components/headers/Content-Length'
3530
+ Content-Type:
3531
+ $ref: '#/components/headers/Content-Type'
3532
+ '405':
3533
+ description: Method Not Allowed
3534
+ content:
3535
+ application/json:
3536
+ schema:
3537
+ $ref: '#/components/schemas/ErrorInformationResponse'
3538
+ headers:
3539
+ Content-Length:
3540
+ $ref: '#/components/headers/Content-Length'
3541
+ Content-Type:
3542
+ $ref: '#/components/headers/Content-Type'
3543
+ '406':
3544
+ description: Not Acceptable
3545
+ content:
3546
+ application/json:
3547
+ schema:
3548
+ $ref: '#/components/schemas/ErrorInformationResponse'
3549
+ headers:
3550
+ Content-Length:
3551
+ $ref: '#/components/headers/Content-Length'
3552
+ Content-Type:
3553
+ $ref: '#/components/headers/Content-Type'
3554
+ '501':
3555
+ description: Not Implemented
3556
+ content:
3557
+ application/json:
3558
+ schema:
3559
+ $ref: '#/components/schemas/ErrorInformationResponse'
3560
+ headers:
3561
+ Content-Length:
3562
+ $ref: '#/components/headers/Content-Length'
3563
+ Content-Type:
3564
+ $ref: '#/components/headers/Content-Type'
3565
+ '503':
3566
+ description: Service Unavailable
3567
+ content:
3568
+ application/json:
3569
+ schema:
3570
+ $ref: '#/components/schemas/ErrorInformationResponse'
3571
+ headers:
3572
+ Content-Length:
3573
+ $ref: '#/components/headers/Content-Length'
3574
+ Content-Type:
3575
+ $ref: '#/components/headers/Content-Type'
3576
+ headers:
3577
+ Content-Length:
3578
+ required: false
3579
+ schema:
3580
+ type: integer
3581
+ description: >-
3582
+ The `Content-Length` header field indicates the anticipated size of the
3583
+ payload body. Only sent if there is a body.
3584
+
3585
+
3586
+ **Note:** The API supports a maximum size of 5242880 bytes (5
3587
+ Megabytes).
3588
+ Content-Type:
3589
+ schema:
3590
+ type: string
3591
+ required: true
3592
+ description: >-
3593
+ The `Content-Type` header indicates the specific version of the API used
3594
+ to send the payload body.