ml-testing-toolkit 18.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/.dockerignore +10 -0
  2. package/.grype.yaml +16 -0
  3. package/.ncurc.yaml +9 -0
  4. package/.nvmrc +1 -0
  5. package/.versionrc.js +16 -0
  6. package/CHANGELOG.md +504 -0
  7. package/CODEOWNERS +30 -0
  8. package/Dockerfile +42 -0
  9. package/Dockerfile-newman +13 -0
  10. package/LICENSE.md +9 -0
  11. package/README.md +119 -0
  12. package/assets/diagrams/architectural/architectural-diagram.svg +3 -0
  13. package/assets/diagrams/flow/flow-diagram.svg +3 -0
  14. package/assets/images/Sample-Response-Failure.png +0 -0
  15. package/assets/images/Screenshot 2020-04-16 at 22.58.04.png +0 -0
  16. package/assets/images/TLS-Enabled-on-Environment.png +0 -0
  17. package/assets/images/adapter-mutual-tls-enabled.png +0 -0
  18. package/assets/images/add-additional-input-values.png +0 -0
  19. package/assets/images/add-condition-button.png +0 -0
  20. package/assets/images/add-new-assertion.png +0 -0
  21. package/assets/images/add-new-input-value.png +0 -0
  22. package/assets/images/add-new-input-variable.png +0 -0
  23. package/assets/images/additional-transfers.png +0 -0
  24. package/assets/images/api-provisioning-add-new-api-confirmation.png +0 -0
  25. package/assets/images/api-provisioning-file-input-window.png +0 -0
  26. package/assets/images/api-provisioning-list-apis-view.png +0 -0
  27. package/assets/images/api-provisioning-menu-item.png +0 -0
  28. package/assets/images/apply_and_restart.jpg +0 -0
  29. package/assets/images/assess-request-or-response.png +0 -0
  30. package/assets/images/assess-response-equation-save.png +0 -0
  31. package/assets/images/assess-response-equation.png +0 -0
  32. package/assets/images/assess-response-status.png +0 -0
  33. package/assets/images/building-new-rules-file.png +0 -0
  34. package/assets/images/callback-rules-screen.png +0 -0
  35. package/assets/images/configurable-parameter-assertion.png +0 -0
  36. package/assets/images/configurable-parameter-currency.png +0 -0
  37. package/assets/images/configurable-parameter.png +0 -0
  38. package/assets/images/connection-manager-ui-opening.png +0 -0
  39. package/assets/images/create-inbound-user-simulator.png +0 -0
  40. package/assets/images/creating-new-rule-file.png +0 -0
  41. package/assets/images/dfsp-client-cacert.png +0 -0
  42. package/assets/images/dfsp-client-submit.png +0 -0
  43. package/assets/images/dfsp-client.png +0 -0
  44. package/assets/images/dfsp-p2p-happy-path.png +0 -0
  45. package/assets/images/dfsp-server-cacert.png +0 -0
  46. package/assets/images/dfsp-server-cert.png +0 -0
  47. package/assets/images/download-report.png +0 -0
  48. package/assets/images/drive_have_not_been_shared.jpg +0 -0
  49. package/assets/images/event-response-options.png +0 -0
  50. package/assets/images/expand-monitoring-messages.png +0 -0
  51. package/assets/images/fixed-response-sample.png +0 -0
  52. package/assets/images/header-selection.png +0 -0
  53. package/assets/images/heap_error_windows.jpg +0 -0
  54. package/assets/images/hosted-mode-docker-compose-intro.png +0 -0
  55. package/assets/images/hub-client-cert.png +0 -0
  56. package/assets/images/import-template.png +0 -0
  57. package/assets/images/inbound-requests-environment.png +0 -0
  58. package/assets/images/inbound-requests-scripts.png +0 -0
  59. package/assets/images/jws-certificate-submit.png +0 -0
  60. package/assets/images/jws-certificate.png +0 -0
  61. package/assets/images/jws-certs-keys.png +0 -0
  62. package/assets/images/jws-hub-certs-keys.png +0 -0
  63. package/assets/images/local-enable-jws-publickey.png +0 -0
  64. package/assets/images/local-mutual-tls-enabled.png +0 -0
  65. package/assets/images/local_drives_to_be_available.jpg +0 -0
  66. package/assets/images/mcm-environment-opening.png +0 -0
  67. package/assets/images/menu-items.png +0 -0
  68. package/assets/images/mock-response-sample.png +0 -0
  69. package/assets/images/monitoring-initial-state.png +0 -0
  70. package/assets/images/monitoring-messages.png +0 -0
  71. package/assets/images/new-empty-assertion.png +0 -0
  72. package/assets/images/opened-imported-template.png +0 -0
  73. package/assets/images/opening-default-settings.png +0 -0
  74. package/assets/images/opening-sync-response-rules.png +0 -0
  75. package/assets/images/opening-view.png +0 -0
  76. package/assets/images/outbound-display-opening-hub.png +0 -0
  77. package/assets/images/outbound-display-opening.png +0 -0
  78. package/assets/images/override-with-environment-variable.png +0 -0
  79. package/assets/images/populate-with-sample-body.png +0 -0
  80. package/assets/images/resource-selection.png +0 -0
  81. package/assets/images/rule-builder-select-api.png +0 -0
  82. package/assets/images/sample-condition-add-configurable-params.png +0 -0
  83. package/assets/images/sample-condition.png +0 -0
  84. package/assets/images/sample-editor.png +0 -0
  85. package/assets/images/sample-request.png +0 -0
  86. package/assets/images/sample-test-assertion.png +0 -0
  87. package/assets/images/send-transfer.png +0 -0
  88. package/assets/images/sending-single-test-case-1.png +0 -0
  89. package/assets/images/sending-single-test-case-2.png +0 -0
  90. package/assets/images/sending-test-cases.png +0 -0
  91. package/assets/images/server-certificates-submitted.png +0 -0
  92. package/assets/images/simulator-response.png +0 -0
  93. package/assets/images/simulator-scheme-adapter-endpoint.png +0 -0
  94. package/assets/images/summarized-view-of-rule.png +0 -0
  95. package/assets/images/template-window.png +0 -0
  96. package/assets/images/test-case-editor-console-log.png +0 -0
  97. package/assets/images/test-case-editor-environment-state.png +0 -0
  98. package/assets/images/test-case-editor-scripts.png +0 -0
  99. package/assets/images/test-case-editor.png +0 -0
  100. package/assets/images/testcase-definition-download.png +0 -0
  101. package/assets/images/testcase-definition-edit-meta-info.png +0 -0
  102. package/assets/images/testing-toolkit-mojaloop-testing-toolkit-endpoint.png +0 -0
  103. package/assets/images/tls-hub-certs-keys.png +0 -0
  104. package/assets/images/tls-jws-enabled-on-environment.png +0 -0
  105. package/assets/images/updated-sample-body-data.png +0 -0
  106. package/assets/images/using-configurable-parameter.png +0 -0
  107. package/assets/images/validation-rules-screen.png +0 -0
  108. package/assets/images/view-response.png +0 -0
  109. package/audit-ci.jsonc +7 -0
  110. package/connection-manager/docker-compose.yml +55 -0
  111. package/database/docker-compose.yml +16 -0
  112. package/docker/hosted-mode/docker-compose.yaml +107 -0
  113. package/docker/hosted-mode/keycloak/keycloak-realm.json +2298 -0
  114. package/docker/hosted-mode/mongo-init.sh +1 -0
  115. package/docker/hosted-mode-tls/docker-compose.yaml +171 -0
  116. package/docker/hosted-mode-tls/keycloak/keycloak-realm.json +2298 -0
  117. package/docker/hosted-mode-tls/mongo-init.sh +1 -0
  118. package/docker-compose.yml +62 -0
  119. package/documents/Mojaloop-Testing-Toolkit.md +296 -0
  120. package/documents/RULES_ENGINE.md +403 -0
  121. package/documents/User-Guide-API-Provisioning.md +121 -0
  122. package/documents/User-Guide-CLI.md +218 -0
  123. package/documents/User-Guide-Connection-Manager.md +282 -0
  124. package/documents/User-Guide-Frequently-Asked-Questions.md +39 -0
  125. package/documents/User-Guide-Hosted-Mode-Docker-Compose.md +110 -0
  126. package/documents/User-Guide-Installation.md +163 -0
  127. package/documents/User-Guide-Mojaloop-Testing-Toolkit.md +642 -0
  128. package/documents/User-Guide-OAuth-Server-Deployment.md +283 -0
  129. package/documents/User-Guide-Onboarding-DFSP.md +197 -0
  130. package/documents/User-Guide-Onboarding-HUB.md +191 -0
  131. package/documents/User-Guide.md +53 -0
  132. package/examples/collections/dfsp/p2p_failed_tests.json +7161 -0
  133. package/examples/collections/dfsp/p2p_fx_happy_path.json +502 -0
  134. package/examples/collections/dfsp/p2p_happy_path.json +350 -0
  135. package/examples/collections/dfsp/p2p_happy_path_extended.json +6106 -0
  136. package/examples/collections/dfsp/p2p_happy_path_jws.json +511 -0
  137. package/examples/collections/dfsp/p2p_payee_assertions_websocket.json +441 -0
  138. package/examples/collections/dfsp/sample.json +5029 -0
  139. package/examples/collections/dfsp/transaction_request_service.json +240 -0
  140. package/examples/collections/fxp/FXP.json +264 -0
  141. package/examples/collections/fxp/SDK_backend.json +98 -0
  142. package/examples/collections/fxp/SDK_outbound.json +163 -0
  143. package/examples/collections/hub/hub_01_p2p_happy_path/hub_p2p_receive_quote.json +400 -0
  144. package/examples/collections/hub/hub_01_p2p_happy_path/hub_p2p_send_quote.json +395 -0
  145. package/examples/collections/hub/hub_02_block_transfer/hub_block_transfer.json +393 -0
  146. package/examples/collections/hub/hub_03_funds_in_out/hub_funds_in.json +224 -0
  147. package/examples/collections/hub/hub_03_funds_in_out/hub_funds_out.json +780 -0
  148. package/examples/collections/hub/hub_04_settlements/hub_settlements.json +3138 -0
  149. package/examples/collections/hub/hub_05_transfer_negative_scenarios/hub_transfer_negative_payee_abort.json +475 -0
  150. package/examples/collections/hub/hub_05_transfer_negative_scenarios/hub_transfer_negative_payee_invalid_fulfillment.json +370 -0
  151. package/examples/collections/hub/hub_05_transfer_negative_scenarios/hub_transfer_negative_transfer_timeout.json +262 -0
  152. package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_authorizations.json +117 -0
  153. package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_error_framework.json +591 -0
  154. package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_received_state.json +379 -0
  155. package/examples/collections/hub/hub_06_transaction_requests_service/hub_trs_reject_state.json +361 -0
  156. package/examples/collections/hub/hub_07_quoting_service.json +525 -0
  157. package/examples/collections/hub/hub_08_participant_inactive_stop_transfers.json +706 -0
  158. package/examples/collections/hub/hub_09_duplicate_handling_transfers.json +1377 -0
  159. package/examples/collections/hub/hub_10_on_us_transfers.json +245 -0
  160. package/examples/collections/hub/hub_11_accented_and_spl_chars.json +629 -0
  161. package/examples/collections/hub/hub_12_fspiop_version_1.1.json +646 -0
  162. package/examples/collections/hub/hub_13_bulk_transfers.json +1857 -0
  163. package/examples/collections/iso20022/self_referencing_iso20022.json +926 -0
  164. package/examples/collections/provisioning/testingtoolkitdfsp.json +904 -0
  165. package/examples/environments/dfsp_local_environment.json +46 -0
  166. package/examples/environments/hub_local_environment.json +57 -0
  167. package/jest.config.js +17 -0
  168. package/package.json +199 -0
  169. package/sbom-v18.12.4.csv +1553 -0
  170. package/secrets/keygen.sh +5 -0
  171. package/secrets/privatekey.pem +27 -0
  172. package/secrets/publickey.cer +21 -0
  173. package/secrets/tls/01.pem +132 -0
  174. package/secrets/tls/createSecrets.sh +20 -0
  175. package/secrets/tls/hub_client.csr +32 -0
  176. package/secrets/tls/hub_client_cacert.pem +35 -0
  177. package/secrets/tls/hub_client_cakey.pem +52 -0
  178. package/secrets/tls/hub_client_key.key +52 -0
  179. package/secrets/tls/hub_server.csr +31 -0
  180. package/secrets/tls/hub_server_cacert.pem +35 -0
  181. package/secrets/tls/hub_server_cakey.pem +52 -0
  182. package/secrets/tls/hub_server_cert.pem +132 -0
  183. package/secrets/tls/hub_server_key.key +52 -0
  184. package/secrets/tls/index.txt +1 -0
  185. package/secrets/tls/index.txt.attr +1 -0
  186. package/secrets/tls/openssl-client.cnf +36 -0
  187. package/secrets/tls/openssl-clientca.cnf +71 -0
  188. package/secrets/tls/openssl-server.cnf +39 -0
  189. package/secrets/tls/openssl-serverca.cnf +71 -0
  190. package/secrets/tls/serial.txt +1 -0
  191. package/spec_files/api_definitions/als_admin_1.1/api_spec.yaml +804 -0
  192. package/spec_files/api_definitions/central_admin_1.0/api_spec.yaml +1850 -0
  193. package/spec_files/api_definitions/central_admin_1.0/response_map.json +96 -0
  194. package/spec_files/api_definitions/central_admin_old_9.3/api_spec.yaml +2467 -0
  195. package/spec_files/api_definitions/central_admin_old_9.3/response_map.json +96 -0
  196. package/spec_files/api_definitions/fspiop_1.0/api_spec.yaml +4187 -0
  197. package/spec_files/api_definitions/fspiop_1.0/callback_map.json +568 -0
  198. package/spec_files/api_definitions/fspiop_1.0/mockRef.json +79 -0
  199. package/spec_files/api_definitions/fspiop_1.0/trigger_templates/transaction_request_followup.json +126 -0
  200. package/spec_files/api_definitions/fspiop_1.0/trigger_templates/transaction_request_followup_quotes_only.json +97 -0
  201. package/spec_files/api_definitions/fspiop_1.1/api_spec.yaml +3778 -0
  202. package/spec_files/api_definitions/fspiop_1.1/callback_map.json +568 -0
  203. package/spec_files/api_definitions/fspiop_1.1/mockRef.json +79 -0
  204. package/spec_files/api_definitions/fspiop_1.1/trigger_templates/transaction_request_followup.json +125 -0
  205. package/spec_files/api_definitions/fspiop_2.0/api_spec.yaml +4839 -0
  206. package/spec_files/api_definitions/fspiop_2.0/callback_map.json +716 -0
  207. package/spec_files/api_definitions/fspiop_2.0/mockRef.json +79 -0
  208. package/spec_files/api_definitions/fspiop_2.0/trigger_templates/transaction_request_followup.json +125 -0
  209. package/spec_files/api_definitions/fspiop_2.0_iso20022/api_spec.yaml +8331 -0
  210. package/spec_files/api_definitions/fspiop_2.0_iso20022/callback_map.json +508 -0
  211. package/spec_files/api_definitions/fspiop_2.0_iso20022/mockRef.json +66 -0
  212. package/spec_files/api_definitions/fx-api_2.0/api_spec.yaml +1768 -0
  213. package/spec_files/api_definitions/fx-api_2.0/callback_map.json +188 -0
  214. package/spec_files/api_definitions/fx-api_2.0/mockRef.json +83 -0
  215. package/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml +2612 -0
  216. package/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/mockRef.json +22 -0
  217. package/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/response_map.json +35 -0
  218. package/spec_files/api_definitions/mojaloop_simulator_0.1/api_spec.yaml +225 -0
  219. package/spec_files/api_definitions/mojaloop_simulator_sim_1.4/api_spec.yaml +1087 -0
  220. package/spec_files/api_definitions/mojaloop_simulator_sim_1.4/mockRef.json +75 -0
  221. package/spec_files/api_definitions/mojaloop_simulator_sim_1.4/response_map.json +55 -0
  222. package/spec_files/api_definitions/payment_manager_1.4/api_spec.yaml +1389 -0
  223. package/spec_files/api_definitions/sdk-scheme-adapter-backend-v2_1_0-openapi3-snippets_2.1/api_spec.yaml +2834 -0
  224. package/spec_files/api_definitions/sdk-scheme-adapter-outbound-v2_1_0-openapi3-snippets_2.1/api_spec.yaml +3449 -0
  225. package/spec_files/api_definitions/settlements_1.0/api_spec.yaml +983 -0
  226. package/spec_files/api_definitions/settlements_1.0/mockRef.json +38 -0
  227. package/spec_files/api_definitions/settlements_1.0/response_map.json +34 -0
  228. package/spec_files/api_definitions/settlements_2.0/api_spec.yaml +1001 -0
  229. package/spec_files/api_definitions/settlements_2.0/mockRef.json +38 -0
  230. package/spec_files/api_definitions/settlements_2.0/response_map.json +34 -0
  231. package/spec_files/api_definitions/thirdparty_sdk_outbound_0.1/api_spec.yaml +2139 -0
  232. package/spec_files/reports/templates/newman/html_template.html +1202 -0
  233. package/spec_files/reports/templates/newman/pdf_template.html +790 -0
  234. package/spec_files/reports/templates/testcase_definition/table_view.html +1602 -0
  235. package/spec_files/rules_callback/config.json +3 -0
  236. package/spec_files/rules_callback/default.json +2698 -0
  237. package/spec_files/rules_callback/p2p-limit.json +129 -0
  238. package/spec_files/rules_forward/config.json +3 -0
  239. package/spec_files/rules_forward/default.json +482 -0
  240. package/spec_files/rules_response/config.json +3 -0
  241. package/spec_files/rules_response/default.json +295 -0
  242. package/spec_files/rules_validation/config.json +3 -0
  243. package/spec_files/rules_validation/default.json +1 -0
  244. package/spec_files/rules_validation/p2p-limit.json +55 -0
  245. package/spec_files/system_config.json +175 -0
  246. package/spec_files/user_config.json +109 -0
  247. package/src/index.js +67 -0
  248. package/src/lib/MyEventEmitter.js +54 -0
  249. package/src/lib/api-management.js +143 -0
  250. package/src/lib/api-routes/config.js +83 -0
  251. package/src/lib/api-routes/history.js +139 -0
  252. package/src/lib/api-routes/keycloak.js +54 -0
  253. package/src/lib/api-routes/longpolling.js +70 -0
  254. package/src/lib/api-routes/oauth2.js +149 -0
  255. package/src/lib/api-routes/objectstore.js +53 -0
  256. package/src/lib/api-routes/openapi.js +224 -0
  257. package/src/lib/api-routes/outbound.js +134 -0
  258. package/src/lib/api-routes/reports.js +72 -0
  259. package/src/lib/api-routes/rules.js +356 -0
  260. package/src/lib/api-routes/samples.js +92 -0
  261. package/src/lib/api-routes/server-logs.js +44 -0
  262. package/src/lib/api-routes/settings.js +71 -0
  263. package/src/lib/api-server.js +135 -0
  264. package/src/lib/arrayStore.js +101 -0
  265. package/src/lib/callbackHandler.js +201 -0
  266. package/src/lib/config.js +177 -0
  267. package/src/lib/configuration-providers/mb-connection-manager.js +625 -0
  268. package/src/lib/db/adapters/dbAdapter.js +184 -0
  269. package/src/lib/db/dfspMockUsers.js +64 -0
  270. package/src/lib/db/models/mongoDBWrapper.js +78 -0
  271. package/src/lib/eventListenerClient/inboundEventListener.js +176 -0
  272. package/src/lib/fileAdapter.js +57 -0
  273. package/src/lib/httpAgentStore.js +135 -0
  274. package/src/lib/importExport.js +186 -0
  275. package/src/lib/jws/JwsSigning.js +141 -0
  276. package/src/lib/loadSamples.js +128 -0
  277. package/src/lib/logger.js +20 -0
  278. package/src/lib/longpollingEmitter.js +56 -0
  279. package/src/lib/metrics.js +51 -0
  280. package/src/lib/mocking/custom-functions/generic.js +57 -0
  281. package/src/lib/mocking/middleware-functions/ilpModel.js +238 -0
  282. package/src/lib/mocking/middleware-functions/quotesAssociation.js +75 -0
  283. package/src/lib/mocking/middleware-functions/transactionRequestsService.js +78 -0
  284. package/src/lib/mocking/openApiDefinitionsModel.js +64 -0
  285. package/src/lib/mocking/openApiMockHandler.js +466 -0
  286. package/src/lib/mocking/openApiRulesEngine.js +492 -0
  287. package/src/lib/mocking/openApiVersionTools.js +136 -0
  288. package/src/lib/mocking/transformers/fspiopToISO20022.js +230 -0
  289. package/src/lib/mocking/transformers/index.js +41 -0
  290. package/src/lib/notificationEmitter.js +64 -0
  291. package/src/lib/oauth/KeycloakHelper.js +220 -0
  292. package/src/lib/oauth/LoginService.js +133 -0
  293. package/src/lib/oauth/OAuthHelper.js +181 -0
  294. package/src/lib/oauth/OAuthValidator.js +118 -0
  295. package/src/lib/oauth/Wso2Client.js +64 -0
  296. package/src/lib/objectStore/inMemoryImpl.js +50 -0
  297. package/src/lib/objectStore/objectStoreInterface.js +51 -0
  298. package/src/lib/objectStore.js +122 -0
  299. package/src/lib/report-generator/generator.js +126 -0
  300. package/src/lib/report-generator/helpers.js +154 -0
  301. package/src/lib/requestLogger.js +190 -0
  302. package/src/lib/resources/wso2carbon-publickey.cert +20 -0
  303. package/src/lib/rulesEngine.js +95 -0
  304. package/src/lib/rulesEngineModel.js +463 -0
  305. package/src/lib/scripting-engines/postman-sandbox.js +142 -0
  306. package/src/lib/scripting-engines/vm-javascript-sandbox.js +294 -0
  307. package/src/lib/server-logs/adapters/elastic-search.js +102 -0
  308. package/src/lib/server-logs/adapters/grafana.js +0 -0
  309. package/src/lib/server-logs/index.js +75 -0
  310. package/src/lib/socket-server.js +55 -0
  311. package/src/lib/storageAdapter.js +109 -0
  312. package/src/lib/test-outbound/TestCaseRunner.js +173 -0
  313. package/src/lib/test-outbound/getTracing.js +19 -0
  314. package/src/lib/test-outbound/outbound-initiator.js +1107 -0
  315. package/src/lib/uniqueIdGenerator.js +35 -0
  316. package/src/lib/utils.js +89 -0
  317. package/src/lib/utilsInternal.js +56 -0
  318. package/src/lib/webSocketClient/WebSocketClientManager.js +197 -0
  319. package/src/server.js +218 -0
@@ -0,0 +1,804 @@
1
+ openapi: 3.0.1
2
+ info:
3
+ title: Open API for ALS Admin API
4
+ description: Open API for ALS Admin API
5
+ license:
6
+ name: Apache 2.0
7
+ version: "1.1"
8
+ servers:
9
+ - url: /
10
+ paths:
11
+ /oracles:
12
+ parameters:
13
+ - $ref: '#/components/parameters/Content-Type'
14
+ - $ref: '#/components/parameters/Date'
15
+ get:
16
+ tags:
17
+ - admin
18
+ - sampled
19
+ summary: Get Oracles
20
+ description: The HTTP request GET /oracles is used to return the list of all
21
+ oracle endpoints. There are optional fields for type and currency i.e. /admin/oracles?type=MSISDN&currency=USD
22
+ which can be used to get more filtered results or a specific entry
23
+ operationId: OraclesGet
24
+ parameters:
25
+ - $ref: '#/components/parameters/type'
26
+ - $ref: '#/components/parameters/currency'
27
+ - $ref: '#/components/parameters/Accept'
28
+ responses:
29
+ 200:
30
+ $ref: '#/components/responses/Response200'
31
+ 400:
32
+ $ref: '#/components/responses/ErrorResponse400'
33
+ 401:
34
+ $ref: '#/components/responses/ErrorResponse401'
35
+ 403:
36
+ $ref: '#/components/responses/ErrorResponse403'
37
+ 404:
38
+ $ref: '#/components/responses/ErrorResponse404'
39
+ 405:
40
+ $ref: '#/components/responses/ErrorResponse405'
41
+ 406:
42
+ $ref: '#/components/responses/ErrorResponse406'
43
+ 501:
44
+ $ref: '#/components/responses/ErrorResponse501'
45
+ 503:
46
+ $ref: '#/components/responses/ErrorResponse503'
47
+ post:
48
+ tags:
49
+ - admin
50
+ - sampled
51
+ summary: Create Oracles
52
+ description: The HTTP request POST /oracles is used to create information in
53
+ the server regarding the provided oracles. This request should be used for
54
+ creation of Oracle information.
55
+ operationId: OraclesPost
56
+ parameters:
57
+ - $ref: '#/components/parameters/Accept'
58
+ requestBody:
59
+ content:
60
+ application/json:
61
+ schema:
62
+ $ref: '#/components/schemas/OracleInfo'
63
+ required: true
64
+ responses:
65
+ 201:
66
+ $ref: '#/components/responses/Response201'
67
+ 400:
68
+ $ref: '#/components/responses/ErrorResponse400'
69
+ 401:
70
+ $ref: '#/components/responses/ErrorResponse401'
71
+ 403:
72
+ $ref: '#/components/responses/ErrorResponse403'
73
+ 404:
74
+ $ref: '#/components/responses/ErrorResponse404'
75
+ 405:
76
+ $ref: '#/components/responses/ErrorResponse405'
77
+ 406:
78
+ $ref: '#/components/responses/ErrorResponse406'
79
+ 501:
80
+ $ref: '#/components/responses/ErrorResponse501'
81
+ 503:
82
+ $ref: '#/components/responses/ErrorResponse503'
83
+ /oracles/{ID}:
84
+ parameters:
85
+ - $ref: '#/components/parameters/Content-Type'
86
+ - $ref: '#/components/parameters/Date'
87
+ - $ref: '#/components/parameters/ID'
88
+ put:
89
+ tags:
90
+ - admin
91
+ - sampled
92
+ summary: Update Oracle
93
+ description: The HTTP request PUT /oracles/{ID} is used to update information
94
+ in the server regarding the provided oracle. This request should be used for
95
+ individual update of Oracle information.
96
+ operationId: OraclesByIdPut
97
+ parameters:
98
+ - $ref: '#/components/parameters/Content-Length'
99
+ requestBody:
100
+ content:
101
+ application/json:
102
+ schema:
103
+ $ref: '#/components/schemas/OracleInfo'
104
+ required: true
105
+ responses:
106
+ 204:
107
+ $ref: '#/components/responses/Response204'
108
+ 400:
109
+ $ref: '#/components/responses/ErrorResponse400'
110
+ 401:
111
+ $ref: '#/components/responses/ErrorResponse401'
112
+ 403:
113
+ $ref: '#/components/responses/ErrorResponse403'
114
+ 404:
115
+ $ref: '#/components/responses/ErrorResponse404'
116
+ 405:
117
+ $ref: '#/components/responses/ErrorResponse405'
118
+ 406:
119
+ $ref: '#/components/responses/ErrorResponse406'
120
+ 501:
121
+ $ref: '#/components/responses/ErrorResponse501'
122
+ 503:
123
+ $ref: '#/components/responses/ErrorResponse503'
124
+ delete:
125
+ tags:
126
+ - admin
127
+ - sampled
128
+ summary: Delete Oracle
129
+ description: The HTTP request DELETE /oracles/{ID} is used to delete information
130
+ in the server regarding the provided oracle.
131
+ operationId: OraclesByIdDelete
132
+ parameters:
133
+ - $ref: '#/components/parameters/Accept'
134
+ responses:
135
+ 204:
136
+ $ref: '#/components/responses/Response204'
137
+ 400:
138
+ $ref: '#/components/responses/ErrorResponse400'
139
+ 401:
140
+ $ref: '#/components/responses/ErrorResponse401'
141
+ 403:
142
+ $ref: '#/components/responses/ErrorResponse403'
143
+ 404:
144
+ $ref: '#/components/responses/ErrorResponse404'
145
+ 405:
146
+ $ref: '#/components/responses/ErrorResponse405'
147
+ 406:
148
+ $ref: '#/components/responses/ErrorResponse406'
149
+ 501:
150
+ $ref: '#/components/responses/ErrorResponse501'
151
+ 503:
152
+ $ref: '#/components/responses/ErrorResponse503'
153
+ /health:
154
+ get:
155
+ tags:
156
+ - admin
157
+ summary: Get Oracles
158
+ description: The HTTP request GET /health is used to return the current status
159
+ of the Admin API.
160
+ operationId: HealthGet
161
+ responses:
162
+ 200:
163
+ $ref: '#/components/responses/ResponseHealth200'
164
+ 400:
165
+ $ref: '#/components/responses/ErrorResponse400'
166
+ 401:
167
+ $ref: '#/components/responses/ErrorResponse401'
168
+ 403:
169
+ $ref: '#/components/responses/ErrorResponse403'
170
+ 404:
171
+ $ref: '#/components/responses/ErrorResponse404'
172
+ 405:
173
+ $ref: '#/components/responses/ErrorResponse405'
174
+ 406:
175
+ $ref: '#/components/responses/ErrorResponse406'
176
+ 501:
177
+ $ref: '#/components/responses/ErrorResponse501'
178
+ 503:
179
+ $ref: '#/components/responses/ErrorResponse503'
180
+ components:
181
+ schemas:
182
+ ErrorCode:
183
+ title: ErrorCode
184
+ pattern: ^[1-9]\d{3}$
185
+ type: string
186
+ description: The API data type ErrorCode is a JSON String of four characters,
187
+ consisting of digits only. Negative numbers are not allowed. A leading zero
188
+ is not allowed. Each error code in the API is a four-digit number, for example,
189
+ 1234, where the first number (1 in the example) represents the high-level
190
+ error category, the second number (2 in the example) represents the low-level
191
+ error category, and the last two numbers (34 in the example) represents the
192
+ specific error.
193
+ ErrorDescription:
194
+ title: ErrorDescription
195
+ maxLength: 128
196
+ minLength: 1
197
+ type: string
198
+ description: Error description string.
199
+ ExtensionKey:
200
+ title: ExtensionKey
201
+ maxLength: 32
202
+ minLength: 1
203
+ type: string
204
+ description: Extension key.
205
+ ExtensionValue:
206
+ title: ExtensionValue
207
+ maxLength: 128
208
+ minLength: 1
209
+ type: string
210
+ description: Extension value.
211
+ Currency:
212
+ title: CurrencyEnum
213
+ maxLength: 3
214
+ minLength: 3
215
+ type: string
216
+ description: The currency codes defined in ISO 4217 as three-letter alphabetic
217
+ codes are used as the standard naming representation for currencies.
218
+ enum:
219
+ - AED
220
+ - AFN
221
+ - ALL
222
+ - AMD
223
+ - ANG
224
+ - AOA
225
+ - ARS
226
+ - AUD
227
+ - AWG
228
+ - AZN
229
+ - BAM
230
+ - BBD
231
+ - BDT
232
+ - BGN
233
+ - BHD
234
+ - BIF
235
+ - BMD
236
+ - BND
237
+ - BOB
238
+ - BRL
239
+ - BSD
240
+ - BTN
241
+ - BWP
242
+ - BYN
243
+ - BZD
244
+ - CAD
245
+ - CDF
246
+ - CHF
247
+ - CLP
248
+ - CNY
249
+ - COP
250
+ - CRC
251
+ - CUC
252
+ - CUP
253
+ - CVE
254
+ - CZK
255
+ - DJF
256
+ - DKK
257
+ - DOP
258
+ - DZD
259
+ - EGP
260
+ - ERN
261
+ - ETB
262
+ - EUR
263
+ - FJD
264
+ - FKP
265
+ - GBP
266
+ - GEL
267
+ - GGP
268
+ - GHS
269
+ - GIP
270
+ - GMD
271
+ - GNF
272
+ - GTQ
273
+ - GYD
274
+ - HKD
275
+ - HNL
276
+ - HRK
277
+ - HTG
278
+ - HUF
279
+ - IDR
280
+ - ILS
281
+ - IMP
282
+ - INR
283
+ - IQD
284
+ - IRR
285
+ - ISK
286
+ - JEP
287
+ - JMD
288
+ - JOD
289
+ - JPY
290
+ - KES
291
+ - KGS
292
+ - KHR
293
+ - KMF
294
+ - KPW
295
+ - KRW
296
+ - KWD
297
+ - KYD
298
+ - KZT
299
+ - LAK
300
+ - LBP
301
+ - LKR
302
+ - LRD
303
+ - LSL
304
+ - LYD
305
+ - MAD
306
+ - MDL
307
+ - MGA
308
+ - MKD
309
+ - MMK
310
+ - MNT
311
+ - MOP
312
+ - MRO
313
+ - MUR
314
+ - MVR
315
+ - MWK
316
+ - MXN
317
+ - MYR
318
+ - MZN
319
+ - NAD
320
+ - NGN
321
+ - NIO
322
+ - NOK
323
+ - NPR
324
+ - NZD
325
+ - OMR
326
+ - PAB
327
+ - PEN
328
+ - PGK
329
+ - PHP
330
+ - PKR
331
+ - PLN
332
+ - PYG
333
+ - QAR
334
+ - RON
335
+ - RSD
336
+ - RUB
337
+ - RWF
338
+ - SAR
339
+ - SBD
340
+ - SCR
341
+ - SDG
342
+ - SEK
343
+ - SGD
344
+ - SHP
345
+ - SLL
346
+ - SOS
347
+ - SPL
348
+ - SRD
349
+ - STD
350
+ - SVC
351
+ - SYP
352
+ - SZL
353
+ - THB
354
+ - TJS
355
+ - TMT
356
+ - TND
357
+ - TOP
358
+ - TRY
359
+ - TTD
360
+ - TVD
361
+ - TWD
362
+ - TZS
363
+ - UAH
364
+ - UGX
365
+ - USD
366
+ - UYU
367
+ - UZS
368
+ - VEF
369
+ - VND
370
+ - VUV
371
+ - WST
372
+ - XAF
373
+ - XCD
374
+ - XDR
375
+ - XOF
376
+ - XPF
377
+ - XTS
378
+ - XXX
379
+ - YER
380
+ - ZAR
381
+ - ZMW
382
+ - ZWD
383
+ ErrorInformation:
384
+ title: ErrorInformation
385
+ required:
386
+ - errorCode
387
+ - errorDescription
388
+ type: object
389
+ properties:
390
+ errorCode:
391
+ $ref: '#/components/schemas/ErrorCode'
392
+ errorDescription:
393
+ $ref: '#/components/schemas/ErrorDescription'
394
+ extensionList:
395
+ $ref: '#/components/schemas/ExtensionList'
396
+ description: Data model for the complex type ErrorInformation.
397
+ ErrorInformationResponse:
398
+ title: ErrorInformationResponse
399
+ type: object
400
+ properties:
401
+ errorInformation:
402
+ $ref: '#/components/schemas/ErrorInformation'
403
+ description: Data model for the complex type object that contains an optional
404
+ element ErrorInformation used along with 4xx and 5xx responses.
405
+ Extension:
406
+ title: Extension
407
+ required:
408
+ - key
409
+ - value
410
+ type: object
411
+ properties:
412
+ key:
413
+ $ref: '#/components/schemas/ExtensionKey'
414
+ value:
415
+ $ref: '#/components/schemas/ExtensionValue'
416
+ description: Data model for the complex type Extension
417
+ ExtensionList:
418
+ title: ExtensionList
419
+ required:
420
+ - extension
421
+ type: object
422
+ properties:
423
+ extension:
424
+ maxItems: 16
425
+ minItems: 1
426
+ type: array
427
+ description: Number of Extension elements
428
+ items:
429
+ $ref: '#/components/schemas/Extension'
430
+ description: Data model for the complex type ExtensionList
431
+ Endpoint:
432
+ title: Endpoint
433
+ required:
434
+ - endpointType
435
+ - value
436
+ type: object
437
+ properties:
438
+ value:
439
+ type: string
440
+ description: An endpoint for the Oracle.
441
+ endpointType:
442
+ $ref: '#/components/schemas/EndpointType'
443
+ description: Contains information about an endpoint
444
+ EndpointType:
445
+ title: EndpointType
446
+ type: string
447
+ description: The type of endpoint requested
448
+ enum:
449
+ - URL
450
+ HealthStatusType:
451
+ title: HealthStatusType
452
+ type: string
453
+ description: Below are the allowed values for the enumeration HealthStatusType
454
+ - OK - DOWN
455
+ enum:
456
+ - OK
457
+ - DOWN
458
+ HealthServicesType:
459
+ title: HealthServicesType
460
+ type: object
461
+ properties:
462
+ name:
463
+ type: string
464
+ status:
465
+ $ref: '#/components/schemas/HealthStatusType'
466
+ description: Data model for the complex type HealthServicesType. Contains health
467
+ services information.
468
+ OracleInfo:
469
+ title: OracleInfo
470
+ required:
471
+ - endpoint
472
+ - oracleIdType
473
+ type: object
474
+ properties:
475
+ oracleIdType:
476
+ $ref: '#/components/schemas/PartyIdType'
477
+ endpoint:
478
+ $ref: '#/components/schemas/Endpoint'
479
+ currency:
480
+ $ref: '#/components/schemas/Currency'
481
+ isDefault:
482
+ type: boolean
483
+ description: Is the endpoint default or not
484
+ description: Data model for the complex type OracleInfo.
485
+ OracleInfoGetResponse:
486
+ title: OracleInfoGetResponse
487
+ required:
488
+ - endpoint
489
+ - oracleIdType
490
+ type: object
491
+ properties:
492
+ oracleId:
493
+ type: string
494
+ description: Oracle type entry's unique identified
495
+ oracleIdType:
496
+ $ref: '#/components/schemas/PartyIdType'
497
+ endpoint:
498
+ $ref: '#/components/schemas/Endpoint'
499
+ currency:
500
+ $ref: '#/components/schemas/Currency'
501
+ isDefault:
502
+ type: boolean
503
+ description: Is the endpoint default or not
504
+ description: Data model for the complex type OracleInfo.
505
+ OracleInfoGetResponseList:
506
+ title: OracleInfoGetResponseList
507
+ type: array
508
+ description: List of OracleInfoGetResponse
509
+ items:
510
+ $ref: '#/components/schemas/OracleInfoGetResponse'
511
+ PartyIdType:
512
+ title: PartyIdTypeEnum
513
+ type: string
514
+ description: Below are the allowed values for the enumeration - MSISDN An MSISDN
515
+ (Mobile Station International Subscriber Directory Number, that is, the phone
516
+ number) is used as reference to a participant. The MSISDN identifier should
517
+ be in international format according to the ITU-T E.164 standard. Optionally,
518
+ the MSISDN may be prefixed by a single plus sign, indicating the international
519
+ prefix. - EMAIL An email is used as reference to a participant. The format
520
+ of the email should be according to the informational RFC 3696. - PERSONAL_ID
521
+ A personal identifier is used as reference to a participant. Examples of personal
522
+ identification are passport number, birth certificate number, and national
523
+ registration number. The identifier number is added in the PartyIdentifier
524
+ element. The personal identifier type is added in the PartySubIdOrType element.
525
+ - BUSINESS A specific Business (for example, an organization or a company)
526
+ is used as reference to a participant. The BUSINESS identifier can be in any
527
+ format. To make a transaction connected to a specific username or bill number
528
+ in a Business, the PartySubIdOrType element should be used. - DEVICE A specific
529
+ device (for example, a POS or ATM) ID connected to a specific business or
530
+ organization is used as reference to a Party. For referencing a specific device
531
+ under a specific business or organization, use the PartySubIdOrType element.
532
+ - ACCOUNT_ID A bank account number or FSP account ID should be used as reference
533
+ to a participant. The ACCOUNT_ID identifier can be in any format, as formats
534
+ can greatly differ depending on country and FSP. - IBAN A bank account number
535
+ or FSP account ID is used as reference to a participant. The IBAN identifier
536
+ can consist of up to 34 alphanumeric characters and should be entered without
537
+ whitespace. - ALIAS An alias is used as reference to a participant. The alias
538
+ should be created in the FSP as an alternative reference to an account owner.
539
+ Another example of an alias is a username in the FSP system. The ALIAS identifier
540
+ can be in any format. It is also possible to use the PartySubIdOrType element
541
+ for identifying an account under an Alias defined by the PartyIdentifier.
542
+ enum:
543
+ - MSISDN
544
+ - EMAIL
545
+ - PERSONAL_ID
546
+ - BUSINESS
547
+ - DEVICE
548
+ - ACCOUNT_ID
549
+ - IBAN
550
+ - ALIAS
551
+ Status:
552
+ title: Status
553
+ type: object
554
+ properties:
555
+ status:
556
+ type: string
557
+ description: The return status, usually "OK"
558
+ uptime:
559
+ type: number
560
+ description: The amount of time in seconds that the server has been up for.
561
+ startTime:
562
+ type: string
563
+ description: The UTC time that the server started up
564
+ versionNumber:
565
+ type: string
566
+ description: Current version of the API
567
+ services:
568
+ type: array
569
+ description: An list of the statuses of services that the API requires
570
+ items:
571
+ $ref: '#/components/schemas/HealthServicesType'
572
+ description: Data model for the api status.
573
+ responses:
574
+ ErrorResponse400:
575
+ description: Bad Request - The application cannot process the request; for example,
576
+ due to malformed syntax or the payload exceeded size restrictions.
577
+ headers:
578
+ Content-Length:
579
+ description: The Content-Length header field indicates the anticipated size
580
+ of the payload body. Only sent if there is a body.
581
+ schema:
582
+ type: integer
583
+ Content-Type:
584
+ description: The Content-Type header indicates the specific version of the
585
+ API used to send the payload body.
586
+ schema:
587
+ type: string
588
+ content:
589
+ application/json:
590
+ schema:
591
+ $ref: '#/components/schemas/ErrorInformationResponse'
592
+ ErrorResponse401:
593
+ description: Unauthorized - The request requires authentication in order to
594
+ be processed.
595
+ headers:
596
+ Content-Length:
597
+ description: The Content-Length header field indicates the anticipated size
598
+ of the payload body. Only sent if there is a body.
599
+ schema:
600
+ type: integer
601
+ Content-Type:
602
+ description: The Content-Type header indicates the specific version of the
603
+ API used to send the payload body.
604
+ schema:
605
+ type: string
606
+ content:
607
+ application/json:
608
+ schema:
609
+ $ref: '#/components/schemas/ErrorInformationResponse'
610
+ ErrorResponse403:
611
+ description: Forbidden - The request was denied and will be denied in the future.
612
+ headers:
613
+ Content-Length:
614
+ description: The Content-Length header field indicates the anticipated size
615
+ of the payload body. Only sent if there is a body.
616
+ schema:
617
+ type: integer
618
+ Content-Type:
619
+ description: The Content-Type header indicates the specific version of the
620
+ API used to send the payload body.
621
+ schema:
622
+ type: string
623
+ content:
624
+ application/json:
625
+ schema:
626
+ $ref: '#/components/schemas/ErrorInformationResponse'
627
+ ErrorResponse404:
628
+ description: Not Found - The resource specified in the URI was not found.
629
+ headers:
630
+ Content-Length:
631
+ description: The Content-Length header field indicates the anticipated size
632
+ of the payload body. Only sent if there is a body.
633
+ schema:
634
+ type: integer
635
+ Content-Type:
636
+ description: The Content-Type header indicates the specific version of the
637
+ API used to send the payload body.
638
+ schema:
639
+ type: string
640
+ content:
641
+ application/json:
642
+ schema:
643
+ $ref: '#/components/schemas/ErrorInformationResponse'
644
+ ErrorResponse405:
645
+ description: Method Not Allowed - An unsupported HTTP method for the request
646
+ was used.
647
+ headers:
648
+ Content-Length:
649
+ description: The Content-Length header field indicates the anticipated size
650
+ of the payload body. Only sent if there is a body.
651
+ schema:
652
+ type: integer
653
+ Content-Type:
654
+ description: The Content-Type header indicates the specific version of the
655
+ API used to send the payload body.
656
+ schema:
657
+ type: string
658
+ content:
659
+ application/json:
660
+ schema:
661
+ $ref: '#/components/schemas/ErrorInformationResponse'
662
+ ErrorResponse406:
663
+ description: Not acceptable - The server is not capable of generating content
664
+ according to the Accept headers sent in the request. Used in the API to indicate
665
+ that the server does not support the version that the client is requesting.
666
+ headers:
667
+ Content-Length:
668
+ description: The Content-Length header field indicates the anticipated size
669
+ of the payload body. Only sent if there is a body.
670
+ schema:
671
+ type: integer
672
+ Content-Type:
673
+ description: The Content-Type header indicates the specific version of the
674
+ API used to send the payload body.
675
+ schema:
676
+ type: string
677
+ content:
678
+ application/json:
679
+ schema:
680
+ $ref: '#/components/schemas/ErrorInformationResponse'
681
+ ErrorResponse501:
682
+ description: Not Implemented - The server does not support the requested service.
683
+ The client should not retry.
684
+ headers:
685
+ Content-Length:
686
+ description: The Content-Length header field indicates the anticipated size
687
+ of the payload body. Only sent if there is a body.
688
+ schema:
689
+ type: integer
690
+ Content-Type:
691
+ description: The Content-Type header indicates the specific version of the
692
+ API used to send the payload body.
693
+ schema:
694
+ type: string
695
+ content:
696
+ application/json:
697
+ schema:
698
+ $ref: '#/components/schemas/ErrorInformationResponse'
699
+ ErrorResponse503:
700
+ description: Service Unavailable - The server is currently unavailable to accept
701
+ any new service requests. This should be a temporary state, and the client
702
+ should retry within a reasonable time frame.
703
+ headers:
704
+ Content-Length:
705
+ description: The Content-Length header field indicates the anticipated size
706
+ of the payload body. Only sent if there is a body.
707
+ schema:
708
+ type: integer
709
+ Content-Type:
710
+ description: The Content-Type header indicates the specific version of the
711
+ API used to send the payload body.
712
+ schema:
713
+ type: string
714
+ content:
715
+ application/json:
716
+ schema:
717
+ $ref: '#/components/schemas/ErrorInformationResponse'
718
+ Response200:
719
+ description: OK
720
+ headers:
721
+ Content-Length:
722
+ description: The Content-Length header field indicates the anticipated size
723
+ of the payload body. Only sent if there is a body.
724
+ schema:
725
+ type: integer
726
+ Content-Type:
727
+ description: The Content-Type header indicates the specific version of the
728
+ API used to send the payload body.
729
+ schema:
730
+ type: string
731
+ content:
732
+ application/json:
733
+ schema:
734
+ $ref: '#/components/schemas/OracleInfoGetResponseList'
735
+ Response201:
736
+ description: Created
737
+ content: {}
738
+ Response204:
739
+ description: No Content
740
+ content: {}
741
+ ResponseHealth200:
742
+ description: OK
743
+ content:
744
+ application/json:
745
+ schema:
746
+ $ref: '#/components/schemas/Status'
747
+ parameters:
748
+ Accept:
749
+ name: accept
750
+ in: header
751
+ description: The Accept header field indicates the version of the API the client
752
+ would like the server to use.
753
+ required: true
754
+ schema:
755
+ type: string
756
+ Accept-Optional:
757
+ name: accept
758
+ in: header
759
+ description: The Accept header field indicates the version of the API the client
760
+ would like the server to use.
761
+ schema:
762
+ type: string
763
+ Content-Length:
764
+ name: content-length
765
+ in: header
766
+ description: The Content-Length header field indicates the anticipated size
767
+ of the payload body. Only sent if there is a body. Note - The API supports
768
+ a maximum size of 5242880 bytes (5 Megabytes)
769
+ schema:
770
+ type: integer
771
+ Content-Type:
772
+ name: content-type
773
+ in: header
774
+ description: The Content-Type header indicates the specific version of the API
775
+ used to send the payload body.
776
+ required: true
777
+ schema:
778
+ type: string
779
+ Date:
780
+ name: date
781
+ in: header
782
+ description: The Date header field indicates the date when the request was sent.
783
+ required: true
784
+ schema:
785
+ type: string
786
+ ID:
787
+ name: ID
788
+ in: path
789
+ description: ID relating to the oracle endpoint entry
790
+ required: true
791
+ schema:
792
+ type: string
793
+ type:
794
+ name: type
795
+ in: query
796
+ description: type of oracle entry
797
+ schema:
798
+ type: string
799
+ currency:
800
+ name: currency
801
+ in: query
802
+ description: currency relating to the oracle endpoint entry
803
+ schema:
804
+ type: string