From 92eb4918fcbebc4532ebd1434aa7c565822e15bd Mon Sep 17 00:00:00 2001 From: Yevhen Kyriukha Date: Thu, 28 Jul 2022 17:52:59 +0300 Subject: [PATCH] feat!: use updated outbound OpenAPI specification from api-snippets (#340) * feat!: use updated outbound OpenAPI specification from api-snippets * use audit-ci for audit check. * move api-snippets to deps. --- .circleci/config.yml | 132 +- README.md | 8 +- audit-ci.jsonc | 16 + audit-resolve.json | 101 - package-lock.json | 337 +- package.json | 15 +- src/InboundServer/api.yaml | 96 +- src/OutboundServer/api.yaml | 2884 ----------------- src/OutboundServer/api_interfaces/index.d.ts | 101 - .../api_interfaces/openapi.d.ts | 1388 -------- .../components/parameters/bulkQuoteId.yaml | 9 - .../components/parameters/bulkTransferId.yaml | 9 - .../parameters/requestToPayTransactionId.yaml | 9 - .../components/parameters/transferId.yaml | 9 - .../responses/accountsCreationCompleted.yaml | 5 - .../responses/accountsCreationError.yaml | 5 - .../responses/accountsCreationTimeout.yaml | 5 - .../responses/bulkQuoteBadRequest.yaml | 5 - .../responses/bulkQuoteServerError.yaml | 5 - .../responses/bulkQuoteSuccess.yaml | 5 - .../responses/bulkQuoteTimeout.yaml | 5 - .../responses/bulkTransferBadRequest.yaml | 5 - .../responses/bulkTransferServerError.yaml | 5 - .../responses/bulkTransferSuccess.yaml | 5 - .../responses/bulkTransferTimeout.yaml | 5 - .../responses/partiesByIdError404.yaml | 9 - .../responses/partiesByIdSuccess.yaml | 5 - .../responses/quotesPostSuccess.yaml | 5 - .../responses/quotesServerError.yaml | 5 - .../responses/requestToPaySuccess.yaml | 5 - .../requestToPayTransferBadRequest.yaml | 5 - .../requestToPayTransferSuccess.yaml | 5 - .../responses/simpleTransfersPostSuccess.yaml | 5 - .../responses/simpleTransfersServerError.yaml | 5 - .../responses/transferBadRequest.yaml | 5 - .../responses/transferServerError.yaml | 5 - .../components/responses/transferSuccess.yaml | 5 - .../components/responses/transferTimeout.yaml | 5 - .../schemas/accountCreationStatus.yaml | 18 - .../schemas/accountsCreationState.yaml | 4 - .../components/schemas/accountsRequest.yaml | 20 - .../components/schemas/accountsResponse.yaml | 24 - .../schemas/async2SyncCurrentState.yaml | 5 - .../schemas/bulkQuoteErrorResponse.yaml | 8 - .../components/schemas/bulkQuoteRequest.yaml | 26 - .../components/schemas/bulkQuoteResponse.yaml | 21 - .../components/schemas/bulkQuoteStatus.yaml | 4 - .../schemas/bulkQuoteStatusResponse.yaml | 17 - .../schemas/bulkTransferErrorResponse.yaml | 8 - .../schemas/bulkTransferRequest.yaml | 26 - .../schemas/bulkTransferResponse.yaml | 16 - .../schemas/bulkTransferStatus.yaml | 4 - .../schemas/bulkTransferStatusResponse.yaml | 17 - .../schemas/errorAccountsResponse.yaml | 8 - .../schemas/errorQuotesResponse.yaml | 9 - .../components/schemas/errorResponse.yaml | 8 - .../schemas/errorSimpleTransfersResponse.yaml | 3 - .../schemas/errorTransferResponse.yaml | 8 - .../schemas/extensionListEmptiable.yaml | 6 - .../components/schemas/individualQuote.yaml | 32 - .../schemas/individualQuoteResult.yaml | 28 - .../schemas/individualTransfer.yaml | 32 - .../schemas/individualTransferFulfilment.yaml | 13 - .../schemas/individualTransferResult.yaml | 41 - .../components/schemas/mojaloopError.yaml | 5 - .../mojaloopTransactionRequestState.yaml | 2 - .../schemas/partiesByIdResponse.yaml | 20 - .../components/schemas/quote.yaml | 3 - .../components/schemas/quoteError.yaml | 16 - .../components/schemas/quotesPostRequest.yaml | 13 - .../schemas/quotesPostResponse.yaml | 56 - .../schemas/requestToPayRequest.yaml | 39 - .../schemas/requestToPayResponse.yaml | 41 - .../schemas/requestToPayTransferRequest.yaml | 42 - .../schemas/requestToPayTransferResponse.yaml | 58 - .../schemas/simpleTransferServerError.yaml | 5 - .../schemas/simpleTransfersPostRequest.yaml | 12 - .../schemas/simpleTransfersPostResponse.yaml | 18 - .../components/schemas/transactionType.yaml | 4 - .../transferContinuationAcceptOTP.yaml | 9 - .../transferContinuationAcceptParty.yaml | 8 - .../transferContinuationAcceptQuote.yaml | 9 - .../components/schemas/transferError.yaml | 16 - .../schemas/transferFulfilment.yaml | 3 - .../components/schemas/transferParty.yaml | 40 - .../components/schemas/transferRequest.yaml | 40 - .../components/schemas/transferResponse.yaml | 84 - .../components/schemas/transferStatus.yaml | 6 - .../schemas/transferStatusResponse.yaml | 20 - src/OutboundServer/api_template/health.yaml | 12 - src/OutboundServer/api_template/openapi.yaml | 52 - .../api_template/paths/accounts.yaml | 26 - .../api_template/paths/bulkQuotes.yaml | 23 - .../paths/bulkQuotes_bulkQuoteId.yaml | 24 - .../api_template/paths/bulkTransfers.yaml | 23 - .../paths/bulkTransfers_bulkTransferId.yaml | 24 - .../api_template/paths/parties_Type_ID.yaml | 20 - .../paths/parties_Type_ID_SubId.yaml | 22 - .../api_template/paths/quotes.yaml | 20 - .../api_template/paths/requestToPay.yaml | 22 - .../paths/requestToPayTransfer.yaml | 57 - ...PayTransfer_requestToPayTransactionId.yaml | 34 - .../api_template/paths/simpleTransfers.yaml | 19 - .../api_template/paths/transfers.yaml | 55 - .../paths/transfers_transferId.yaml | 58 - src/OutboundServer/index.js | 2 +- test/unit/api/utils.js | 13 +- 107 files changed, 263 insertions(+), 6456 deletions(-) create mode 100644 audit-ci.jsonc delete mode 100644 audit-resolve.json delete mode 100644 src/OutboundServer/api.yaml delete mode 100644 src/OutboundServer/api_interfaces/index.d.ts delete mode 100644 src/OutboundServer/api_interfaces/openapi.d.ts delete mode 100644 src/OutboundServer/api_template/components/parameters/bulkQuoteId.yaml delete mode 100644 src/OutboundServer/api_template/components/parameters/bulkTransferId.yaml delete mode 100644 src/OutboundServer/api_template/components/parameters/requestToPayTransactionId.yaml delete mode 100644 src/OutboundServer/api_template/components/parameters/transferId.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/accountsCreationCompleted.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/accountsCreationError.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/accountsCreationTimeout.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/bulkQuoteBadRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/bulkQuoteServerError.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/bulkQuoteSuccess.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/bulkQuoteTimeout.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/bulkTransferBadRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/bulkTransferServerError.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/bulkTransferSuccess.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/bulkTransferTimeout.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/partiesByIdError404.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/partiesByIdSuccess.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/quotesPostSuccess.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/quotesServerError.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/requestToPaySuccess.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/requestToPayTransferBadRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/requestToPayTransferSuccess.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/simpleTransfersPostSuccess.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/simpleTransfersServerError.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/transferBadRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/transferServerError.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/transferSuccess.yaml delete mode 100644 src/OutboundServer/api_template/components/responses/transferTimeout.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/accountCreationStatus.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/accountsCreationState.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/accountsRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/accountsResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/async2SyncCurrentState.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkQuoteErrorResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkQuoteRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkQuoteResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkQuoteStatus.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkQuoteStatusResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkTransferErrorResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkTransferRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkTransferResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkTransferStatus.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/bulkTransferStatusResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/errorAccountsResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/errorQuotesResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/errorResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/errorSimpleTransfersResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/errorTransferResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/extensionListEmptiable.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/individualQuote.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/individualQuoteResult.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/individualTransfer.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/individualTransferFulfilment.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/individualTransferResult.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/mojaloopError.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/mojaloopTransactionRequestState.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/partiesByIdResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/quote.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/quoteError.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/quotesPostRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/quotesPostResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/requestToPayRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/requestToPayResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/requestToPayTransferRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/requestToPayTransferResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/simpleTransferServerError.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/simpleTransfersPostRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/simpleTransfersPostResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transactionType.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferContinuationAcceptOTP.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferContinuationAcceptParty.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferContinuationAcceptQuote.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferError.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferFulfilment.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferParty.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferRequest.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferResponse.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferStatus.yaml delete mode 100644 src/OutboundServer/api_template/components/schemas/transferStatusResponse.yaml delete mode 100644 src/OutboundServer/api_template/health.yaml delete mode 100644 src/OutboundServer/api_template/openapi.yaml delete mode 100644 src/OutboundServer/api_template/paths/accounts.yaml delete mode 100644 src/OutboundServer/api_template/paths/bulkQuotes.yaml delete mode 100644 src/OutboundServer/api_template/paths/bulkQuotes_bulkQuoteId.yaml delete mode 100644 src/OutboundServer/api_template/paths/bulkTransfers.yaml delete mode 100644 src/OutboundServer/api_template/paths/bulkTransfers_bulkTransferId.yaml delete mode 100644 src/OutboundServer/api_template/paths/parties_Type_ID.yaml delete mode 100644 src/OutboundServer/api_template/paths/parties_Type_ID_SubId.yaml delete mode 100644 src/OutboundServer/api_template/paths/quotes.yaml delete mode 100644 src/OutboundServer/api_template/paths/requestToPay.yaml delete mode 100644 src/OutboundServer/api_template/paths/requestToPayTransfer.yaml delete mode 100644 src/OutboundServer/api_template/paths/requestToPayTransfer_requestToPayTransactionId.yaml delete mode 100644 src/OutboundServer/api_template/paths/simpleTransfers.yaml delete mode 100644 src/OutboundServer/api_template/paths/transfers.yaml delete mode 100644 src/OutboundServer/api_template/paths/transfers_transferId.yaml diff --git a/.circleci/config.yml b/.circleci/config.yml index 35e3ea8be..2fb2fb1ae 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -37,19 +37,6 @@ defaults_license_scanner: &defaults_license_scanner git clone https://github.com/mojaloop/license-scanner /tmp/license-scanner cd /tmp/license-scanner && make build default-files set-up -## remove -defaults_npm_auth: &defaults_npm_auth - name: Update NPM registry auth token - command: echo "//registry.npmjs.org/:_authToken=$NPM_TOKEN" > .npmrc - -## remove -defaults_npm_publish_release: &defaults_npm_publish_release - name: Publish NPM $RELEASE_TAG artifact - command: | - source $BASH_ENV - echo "Publishing tag $RELEASE_TAG" - npm publish --tag $RELEASE_TAG --access public - defaults_export_version_from_package: &defaults_export_version_from_package name: Format the changelog into the github release body and get release tag command: | @@ -225,7 +212,7 @@ jobs: command: mkdir -p ./audit/results - run: name: Check for new npm vulnerabilities - command: npm run audit:check --silent -- --json > ./audit/results/auditResults.json + command: npm run audit:check -- -o json > ./audit/results/auditResults.json - store_artifacts: path: ./audit/results prefix: audit @@ -566,85 +553,6 @@ jobs: event: fail template: SLACK_TEMP_RELEASE_FAILURE - publish-npm: - executor: default-docker - steps: - - run: - name: Install general dependencies - command: *defaults_Dependencies - - checkout - - restore_cache: - key: dependency-cache-{{ .Environment.CIRCLE_SHA1 }} - - run: - name: Setup for LATEST release - command: | - echo "export RELEASE_TAG=$RELEASE_TAG_PROD" >> $BASH_ENV - echo "RELEASE_TAG=$RELEASE_TAG_PROD" - - PACKAGE_VERSION=$(cat package-lock.json | jq -r .version) - echo "export PACKAGE_VERSION=${PACKAGE_VERSION}" >> $BASH_ENV - echo "PACKAGE_VERSION=${PACKAGE_VERSION}" - - run: - name: Setup Slack config - command: | - echo "export SLACK_PROJECT_NAME=${CIRCLE_PROJECT_REPONAME}" >> $BASH_ENV - echo "export SLACK_RELEASE_TYPE='NPM Release'" >> $BASH_ENV - echo "export SLACK_RELEASE_TAG=v${CIRCLE_TAG:1}" >> $BASH_ENV - echo "export SLACK_RELEASE_URL=https://www.npmjs.com/package/@mojaloop/${CIRCLE_PROJECT_REPONAME}/v/${CIRCLE_TAG:1}" >> $BASH_ENV - echo "export SLACK_BUILD_ID=${CIRCLE_BUILD_NUM}" >> $BASH_ENV - echo "export SLACK_CI_URL=${CIRCLE_BUILD_URL}" >> $BASH_ENV - - run: - <<: *defaults_npm_auth - - run: - <<: *defaults_npm_publish_release - - slack/notify: - event: pass - template: SLACK_TEMP_RELEASE_SUCCESS - - slack/notify: - event: fail - template: SLACK_TEMP_RELEASE_FAILURE - - publish-npm-snapshot: - executor: default-docker - steps: - - run: - name: Install general dependencies - command: *defaults_Dependencies - - checkout - - restore_cache: - key: dependency-cache-{{ .Environment.CIRCLE_SHA1 }} - - run: - name: Setup for SNAPSHOT release - command: | - echo "export RELEASE_TAG=${RELEASE_TAG_SNAPSHOT}" >> $BASH_ENV - echo "RELEASE_TAG=${RELEASE_TAG_SNAPSHOT}" - - echo "Override package version: ${CIRCLE_TAG:1}" - npx standard-version --skip.tag --skip.commit --skip.changelog --release-as ${CIRCLE_TAG:1} - - PACKAGE_VERSION=$(cat package-lock.json | jq -r .version) - echo "export PACKAGE_VERSION=${PACKAGE_VERSION}" >> $BASH_ENV - echo "PACKAGE_VERSION=${PACKAGE_VERSION}" - - run: - name: Setup Slack config - command: | - echo "export SLACK_PROJECT_NAME=${CIRCLE_PROJECT_REPONAME}" >> $BASH_ENV - echo "export SLACK_RELEASE_TYPE='NPM Snapshot'" >> $BASH_ENV - echo "export SLACK_RELEASE_TAG=v${CIRCLE_TAG:1}" >> $BASH_ENV - echo "export SLACK_RELEASE_URL=https://www.npmjs.com/package/@mojaloop/${CIRCLE_PROJECT_REPONAME}/v/${CIRCLE_TAG:1}" >> $BASH_ENV - echo "export SLACK_BUILD_ID=${CIRCLE_BUILD_NUM}" >> $BASH_ENV - echo "export SLACK_CI_URL=${CIRCLE_BUILD_URL}" >> $BASH_ENV - - run: - <<: *defaults_npm_auth - - run: - <<: *defaults_npm_publish_release - - slack/notify: - event: pass - template: SLACK_TEMP_RELEASE_SUCCESS - - slack/notify: - event: fail - template: SLACK_TEMP_RELEASE_FAILURE - ## # Workflows # @@ -860,41 +768,3 @@ workflows: branches: ignore: - /.*/ - - publish-npm: - context: org-global - requires: - - pr-tools/pr-title-check - - test-dependencies - - test-lint - - test-unit - - vulnerability-check - - audit-licenses - - test-integration - - license-scan - - image-scan - - validate-openapi - filters: - tags: - only: /v[0-9]+(\.[0-9]+)*/ - branches: - ignore: - - /.*/ - - publish-npm-snapshot: - context: org-global - requires: - - pr-tools/pr-title-check - - test-dependencies - - test-lint - - test-unit - - vulnerability-check - - audit-licenses - - test-integration - - license-scan - - image-scan - - validate-openapi - filters: - tags: - only: /v[0-9]+(\.[0-9]+)*\-snapshot+((\.[0-9]+)?)/ - branches: - ignore: - - /.*/ diff --git a/README.md b/README.md index ae58146bb..395c2cffd 100644 --- a/README.md +++ b/README.md @@ -19,7 +19,7 @@ For information on the background and context of this project please see the pre DFSP backends must implement the [DFSP Inbound API](docs/dfspInboundApi.yaml) in order for the scheme adapter to make incoming transfers i.e. to receive funds to a customer account. -DFSP backends can call the [DFSP Outbound API](/src/outboundApi/api.yaml) in order to make outgoing transfers i.e. to send funds from a customer account. +DFSP backends can call the [DFSP Outbound API](https://github.com/mojaloop/api-snippets/blob/master/docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml) in order to make outgoing transfers i.e. to send funds from a customer account. ## Docker Image @@ -192,12 +192,6 @@ To rebuild the inbound interface run npm run build:openapi:inbound ``` -To rebuild the outbound interface run - -```bash -npm run build:openapi:outbound -``` - ## Automated Releases As part of our CI/CD process, we use a combination of CircleCI, standard-version diff --git a/audit-ci.jsonc b/audit-ci.jsonc new file mode 100644 index 000000000..8b8472af6 --- /dev/null +++ b/audit-ci.jsonc @@ -0,0 +1,16 @@ +{ + "$schema": "https://github.com/IBM/audit-ci/raw/main/docs/schema.json", + "moderate": true, + "allowlist": [ + "GHSA-v88g-cgmw-v5xw", + "GHSA-phwq-j96m-2c2q", + "GHSA-282f-qqgm-c34q", + "GHSA-6vfc-qv3f-vr6c", + "GHSA-wc69-rhjr-hc9g", + "GHSA-g954-5hwp-pp24", + "GHSA-mjxr-4v3x-q3m4", + "GHSA-rjqq-98f6-6j3r", + "GHSA-3cvr-822r-rqcc", + "GHSA-p9pc-299p-vxgp" + ] +} diff --git a/audit-resolve.json b/audit-resolve.json deleted file mode 100644 index b752e4da3..000000000 --- a/audit-resolve.json +++ /dev/null @@ -1,101 +0,0 @@ -{ - "decisions": { - "1075703|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs": { - "decision": "ignore", - "madeAt": 1657188195403, - "expiresAt": 1659780190646 - }, - "1075704|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs": { - "decision": "ignore", - "madeAt": 1657188196343, - "expiresAt": 1659780190646 - }, - "1080944|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs>moment": { - "decision": "ignore", - "madeAt": 1657188197274, - "expiresAt": 1659780190646 - }, - "1070030|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs>moment>shins>markdown-it": { - "decision": "ignore", - "madeAt": 1657188198190, - "expiresAt": 1659780190646 - }, - "1070030|widdershins>markdown-it": { - "decision": "ignore", - "madeAt": 1657188198190, - "expiresAt": 1659780190646 - }, - "1068155|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs>moment>shins>markdown-it>sanitize-html": { - "decision": "ignore", - "madeAt": 1657188199040, - "expiresAt": 1659780190646 - }, - "1070260|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs>moment>shins>markdown-it>sanitize-html": { - "decision": "ignore", - "madeAt": 1657188199954, - "expiresAt": 1659780190646 - }, - "1070412|ejs": { - "decision": "ignore", - "madeAt": 1657188200902, - "expiresAt": 1659780190646 - }, - "1067553|swagger2openapi>better-ajv-errors>jsonpointer": { - "decision": "ignore", - "madeAt": 1657188201786, - "expiresAt": 1659780190646 - }, - "1067946|swagger2openapi>better-ajv-errors>jsonpointer>oas-validator>ajv": { - "decision": "ignore", - "madeAt": 1657188202661, - "expiresAt": 1659780190646 - }, - "1068310|widdershins>markdown-it>yargs>yargs-parser": { - "decision": "ignore", - "madeAt": 1657188203603, - "expiresAt": 1659780190646 - }, - "1080969|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs>moment": { - "decision": "ignore", - "madeAt": 1657217280998, - "expiresAt": 1659809259103 - }, - "1081008|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs>moment": { - "decision": "ignore", - "madeAt": 1657621042651, - "expiresAt": 1660213039412 - }, - "1081761|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs>moment": { - "decision": "ignore", - "madeAt": 1658860721215, - "expiresAt": 1661452716888 - }, - "1070030|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs>moment>widdershins>markdown-it": { - "decision": "ignore", - "madeAt": 1658860722876, - "expiresAt": 1661452716888 - }, - "1070030|shins>markdown-it": { - "decision": "ignore", - "madeAt": 1658860722876, - "expiresAt": 1661452716888 - }, - "1068310|@mojaloop/central-services-shared>@mojaloop/event-sdk>grpc>protobufjs>moment>widdershins>markdown-it>yargs>yargs-parser": { - "decision": "ignore", - "madeAt": 1658860723959, - "expiresAt": 1661452716888 - }, - "1068155|shins>markdown-it>sanitize-html": { - "decision": "ignore", - "madeAt": 1658860724884, - "expiresAt": 1661452716888 - }, - "1070260|shins>markdown-it>sanitize-html": { - "decision": "ignore", - "madeAt": 1658860725792, - "expiresAt": 1661452716888 - } - }, - "rules": {}, - "version": 1 -} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index b7d39cf13..0d899ad2b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -10,6 +10,7 @@ "license": "Apache-2.0", "dependencies": { "@koa/cors": "^3.3.0", + "@mojaloop/api-snippets": "^14.2.2", "@mojaloop/central-services-shared": "17.0.2", "@mojaloop/sdk-standard-components": "^17.1.1", "ajv": "8.11.0", @@ -38,9 +39,9 @@ "devDependencies": { "@babel/core": "^7.18.9", "@babel/preset-env": "^7.18.9", - "@mojaloop/api-snippets": "^14.2.0", "@redocly/openapi-cli": "^1.0.0-beta.94", "@types/jest": "^28.1.6", + "audit-ci": "^6.3.0", "babel-jest": "^28.1.3", "eslint": "^8.20.0", "eslint-config-airbnb-base": "^15.0.0", @@ -1945,7 +1946,6 @@ "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, "peer": true, "dependencies": { "@jridgewell/trace-mapping": "0.3.9" @@ -1958,7 +1958,6 @@ "version": "0.3.9", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, "peer": true, "dependencies": { "@jridgewell/resolve-uri": "^3.0.3", @@ -2877,7 +2876,6 @@ "version": "3.0.7", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", - "dev": true, "engines": { "node": ">=6.0.0" } @@ -2894,8 +2892,7 @@ "node_modules/@jridgewell/sourcemap-codec": { "version": "1.4.13", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", - "dev": true + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" }, "node_modules/@jridgewell/trace-mapping": { "version": "0.3.13", @@ -2966,10 +2963,9 @@ } }, "node_modules/@mojaloop/api-snippets": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/@mojaloop/api-snippets/-/api-snippets-14.2.0.tgz", - "integrity": "sha512-g7pnMenw2VOIKPdaql43FyyIEbdhV5cJv0M0cc0kLBX9WlSlRQn2Lkn906VQq8vB+EKUFF0TxfevFqaqZ/6VeQ==", - "dev": true, + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@mojaloop/api-snippets/-/api-snippets-14.2.2.tgz", + "integrity": "sha512-zSkm/fqJXPBI42zXI1mITL5QKbr7wo69fMZvldDbJM/5cMkpWxYKjwOI2zlAPo4j7wiEDv5gPSJP/pzVpzN2KQ==", "dependencies": { "@apidevtools/json-schema-ref-parser": "^9.0.9", "commander": "^9.4.0", @@ -2989,7 +2985,6 @@ "version": "9.4.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", - "dev": true, "engines": { "node": "^12.20.0 || >=14" } @@ -3636,28 +3631,24 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true, "peer": true }, "node_modules/@tsconfig/node12": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, "peer": true }, "node_modules/@tsconfig/node14": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, "peer": true }, "node_modules/@tsconfig/node16": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "dev": true, "peer": true }, "node_modules/@types/babel__core": { @@ -4042,7 +4033,6 @@ "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true, "bin": { "acorn": "bin/acorn" }, @@ -4270,7 +4260,6 @@ "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, "peer": true }, "node_modules/argparse": { @@ -4395,6 +4384,82 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, + "node_modules/audit-ci": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/audit-ci/-/audit-ci-6.3.0.tgz", + "integrity": "sha512-rVCn4J7SUMQw2A21E3PPLzMz70A5RqWIx5BzvuU0iKeEGuuC6vGE00eeo4mFEnr439WdvI9i2lCXnmgABqLSeQ==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "escape-string-regexp": "^4.0.0", + "event-stream": "4.0.1", + "jju": "^1.4.0", + "JSONStream": "^1.3.5", + "readline-transform": "1.0.0", + "semver": "^7.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "audit-ci": "dist/bin.js" + }, + "engines": { + "node": ">=12.9.0" + } + }, + "node_modules/audit-ci/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/audit-ci/node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/audit-ci/node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/audit-ci/node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" + } + }, "node_modules/audit-resolve-core": { "version": "3.0.0-3", "resolved": "https://registry.npmjs.org/audit-resolve-core/-/audit-resolve-core-3.0.0-3.tgz", @@ -5580,8 +5645,7 @@ "node_modules/component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "node_modules/compress-brotli": { "version": "1.3.8", @@ -6327,8 +6391,7 @@ "node_modules/cookiejar": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "node_modules/cookies": { "version": "0.8.0", @@ -6385,7 +6448,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, "peer": true }, "node_modules/cross-spawn": { @@ -6684,7 +6746,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, "peer": true, "engines": { "node": ">=0.3.1" @@ -7591,7 +7652,6 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, "bin": { "esparse": "bin/esparse.js", "esvalidate": "bin/esvalidate.js" @@ -8150,19 +8210,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -8595,8 +8642,7 @@ "node_modules/globalyzer": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==" }, "node_modules/globby": { "version": "11.1.0", @@ -8621,8 +8667,7 @@ "node_modules/globrex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" }, "node_modules/got": { "version": "12.1.0", @@ -8665,7 +8710,6 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "dev": true, "dependencies": { "lodash": "^4.17.15" } @@ -9609,7 +9653,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, "dependencies": { "has": "^1.0.3" }, @@ -11347,7 +11390,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/jest-ts-auto-mock/-/jest-ts-auto-mock-2.1.0.tgz", "integrity": "sha512-ubL0pweKUHQNY2xCgwXjYllEQMgpKDojcEODpraQVevHqBFBsFDJZkpZp/2JsmujMu4TNJPzmSugXOLfKndmlQ==", - "dev": true, "peerDependencies": { "ts-auto-mock": "^3.5.0" } @@ -11757,7 +11799,6 @@ "version": "3.0.15", "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz", "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==", - "dev": true, "dependencies": { "commander": "~4.1.1", "graphlib": "^2.1.8", @@ -11779,7 +11820,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "dependencies": { "sprintf-js": "~1.0.2" } @@ -11788,7 +11828,6 @@ "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, "engines": { "node": ">= 6" } @@ -11797,7 +11836,6 @@ "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -12245,8 +12283,7 @@ "node_modules/lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "node_modules/lodash.camelcase": { "version": "4.3.0", @@ -12385,7 +12422,6 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, "peer": true }, "node_modules/make-fetch-happen": { @@ -12580,7 +12616,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -12593,7 +12628,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true, "bin": { "mime": "cli.js" }, @@ -12856,8 +12890,7 @@ "node_modules/native-promise-only": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", - "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==", - "dev": true + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==" }, "node_modules/natural-compare": { "version": "1.4.0", @@ -13978,7 +14011,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-5.4.1.tgz", "integrity": "sha512-AGB2QiZPz4rE7zIwV3dRHtoUC/CWHhUjuzGXvtmMQN2AFV8xCTLKcZUHLcdPQmt/83i22nRE7+TxXOXkK+gf4Q==", - "dev": true, "dependencies": { "js-yaml": "^4.1.0", "mime": "^3.0.0", @@ -13998,7 +14030,6 @@ "version": "21.0.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true, "engines": { "node": ">=12" } @@ -14311,7 +14342,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.12.tgz", "integrity": "sha512-n7oDG8B+k/p818uweWrOixY9/Dsr89o2TkCm6tOTex3fpdo2+BFDgR+KpB37mGKBRsBAlR8CIJMFN0OEy/7hIQ==", - "dev": true, "dependencies": { "native-promise-only": "^0.8.1", "superagent": "^7.1.6" @@ -14320,8 +14350,7 @@ "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "node_modules/path-to-regexp": { "version": "0.1.7", @@ -14489,7 +14518,6 @@ "version": "2.7.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true, "bin": { "prettier": "bin-prettier.js" }, @@ -15091,6 +15119,15 @@ "node": ">=8.10.0" } }, + "node_modules/readline-transform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/readline-transform/-/readline-transform-1.0.0.tgz", + "integrity": "sha512-7KA6+N9IGat52d83dvxnApAWN+MtVb1MiVuMR/cf1O4kYsJG+g/Aav0AHcHKsb6StinayfPLne0+fMX2sOzAKg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -15308,7 +15345,6 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, "dependencies": { "is-core-module": "^2.8.1", "path-parse": "^1.0.7", @@ -15947,7 +15983,6 @@ "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true, "engines": { "node": ">=8" } @@ -16444,7 +16479,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz", "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==", - "dev": true, "dependencies": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.3", @@ -16466,7 +16500,6 @@ "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, "bin": { "mime": "cli.js" }, @@ -16478,7 +16511,6 @@ "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, "dependencies": { "lru-cache": "^6.0.0" }, @@ -16600,7 +16632,6 @@ "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, "engines": { "node": ">= 0.4" }, @@ -16867,7 +16898,6 @@ "version": "0.2.9", "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", - "dev": true, "dependencies": { "globalyzer": "0.1.0", "globrex": "^0.1.2" @@ -16939,7 +16969,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/ts-auto-mock/-/ts-auto-mock-3.6.2.tgz", "integrity": "sha512-ApHKLw1TlYd7SjS2k99yb0ZwIshwznSgIyRkw4IA9/OeHK1sXorOpApG+a7UTq1aVVDlzTTRTibqPH8gS6AOcA==", - "dev": true, "dependencies": { "lodash-es": "^4.17.21", "micromatch": "^4.0.5", @@ -16957,7 +16986,6 @@ "version": "10.8.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", - "dev": true, "peer": true, "dependencies": { "@cspotcode/source-map-support": "^0.8.0", @@ -17001,7 +17029,6 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, "peer": true, "engines": { "node": ">=0.4.0" @@ -17078,7 +17105,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/ttypescript/-/ttypescript-1.5.13.tgz", "integrity": "sha512-KT/RBfGGlVJFqEI8cVvI3nMsmYcFvPSZh8bU0qX+pAwbi7/ABmYkzn7l/K8skw0xmYjVCoyaV6WLsBQxdadybQ==", - "dev": true, "dependencies": { "resolve": ">=1.9.0" }, @@ -17155,7 +17181,6 @@ "version": "4.7.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==", - "dev": true, "peer": true, "bin": { "tsc": "bin/tsc", @@ -17208,7 +17233,6 @@ "version": "5.5.1", "resolved": "https://registry.npmjs.org/undici/-/undici-5.5.1.tgz", "integrity": "sha512-MEvryPLf18HvlCbLSzCW0U00IMftKGI5udnjrQbC5D4P0Hodwffhv+iGfWuJwg16Y/TK11ZFK8i+BPVW2z/eAw==", - "dev": true, "engines": { "node": ">=12.18" } @@ -17407,7 +17431,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, "peer": true }, "node_modules/v8-to-istanbul": { @@ -18236,7 +18259,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, "peer": true, "engines": { "node": ">=6" @@ -19598,7 +19620,6 @@ "version": "0.8.1", "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, "peer": true, "requires": { "@jridgewell/trace-mapping": "0.3.9" @@ -19608,7 +19629,6 @@ "version": "0.3.9", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, "peer": true, "requires": { "@jridgewell/resolve-uri": "^3.0.3", @@ -20335,8 +20355,7 @@ "@jridgewell/resolve-uri": { "version": "3.0.7", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", - "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", - "dev": true + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==" }, "@jridgewell/set-array": { "version": "1.1.1", @@ -20347,8 +20366,7 @@ "@jridgewell/sourcemap-codec": { "version": "1.4.13", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", - "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", - "dev": true + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==" }, "@jridgewell/trace-mapping": { "version": "0.3.13", @@ -20409,10 +20427,9 @@ } }, "@mojaloop/api-snippets": { - "version": "14.2.0", - "resolved": "https://registry.npmjs.org/@mojaloop/api-snippets/-/api-snippets-14.2.0.tgz", - "integrity": "sha512-g7pnMenw2VOIKPdaql43FyyIEbdhV5cJv0M0cc0kLBX9WlSlRQn2Lkn906VQq8vB+EKUFF0TxfevFqaqZ/6VeQ==", - "dev": true, + "version": "14.2.2", + "resolved": "https://registry.npmjs.org/@mojaloop/api-snippets/-/api-snippets-14.2.2.tgz", + "integrity": "sha512-zSkm/fqJXPBI42zXI1mITL5QKbr7wo69fMZvldDbJM/5cMkpWxYKjwOI2zlAPo4j7wiEDv5gPSJP/pzVpzN2KQ==", "requires": { "@apidevtools/json-schema-ref-parser": "^9.0.9", "commander": "^9.4.0", @@ -20428,8 +20445,7 @@ "commander": { "version": "9.4.0", "resolved": "https://registry.npmjs.org/commander/-/commander-9.4.0.tgz", - "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==", - "dev": true + "integrity": "sha512-sRPT+umqkz90UA8M1yqYfnHlZA7fF6nSphDtxeywPZ49ysjxDQybzk13CL+mXekDRG92skbcqCLVovuCusNmFw==" } } }, @@ -20942,28 +20958,24 @@ "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true, "peer": true }, "@tsconfig/node12": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true, "peer": true }, "@tsconfig/node14": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true, "peer": true }, "@tsconfig/node16": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", - "dev": true, "peer": true }, "@types/babel__core": { @@ -21293,8 +21305,7 @@ "acorn": { "version": "8.7.1", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", - "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", - "dev": true + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==" }, "acorn-jsx": { "version": "5.3.2", @@ -21460,7 +21471,6 @@ "version": "4.1.3", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true, "peer": true }, "argparse": { @@ -21563,6 +21573,60 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, + "audit-ci": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/audit-ci/-/audit-ci-6.3.0.tgz", + "integrity": "sha512-rVCn4J7SUMQw2A21E3PPLzMz70A5RqWIx5BzvuU0iKeEGuuC6vGE00eeo4mFEnr439WdvI9i2lCXnmgABqLSeQ==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "escape-string-regexp": "^4.0.0", + "event-stream": "4.0.1", + "jju": "^1.4.0", + "JSONStream": "^1.3.5", + "readline-transform": "1.0.0", + "semver": "^7.0.0", + "yargs": "^17.0.0" + }, + "dependencies": { + "escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", + "dev": true + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true + } + } + }, "audit-resolve-core": { "version": "3.0.0-3", "resolved": "https://registry.npmjs.org/audit-resolve-core/-/audit-resolve-core-3.0.0-3.tgz", @@ -22465,8 +22529,7 @@ "component-emitter": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true + "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==" }, "compress-brotli": { "version": "1.3.8", @@ -23043,8 +23106,7 @@ "cookiejar": { "version": "2.1.3", "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.3.tgz", - "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==", - "dev": true + "integrity": "sha512-JxbCBUdrfr6AQjOXrxoTvAMJO4HBTUIlBzslcJPAz+/KT8yk53fXun51u+RenNYvad/+Vc2DIz5o9UxlCDymFQ==" }, "cookies": { "version": "0.8.0", @@ -23088,7 +23150,6 @@ "version": "1.1.1", "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true, "peer": true }, "cross-spawn": { @@ -23297,7 +23358,6 @@ "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, "peer": true }, "diff-sequences": { @@ -23977,8 +24037,7 @@ "esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==" }, "esquery": { "version": "1.4.0", @@ -24411,12 +24470,6 @@ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==" }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "optional": true - }, "function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", @@ -24734,8 +24787,7 @@ "globalyzer": { "version": "0.1.0", "resolved": "https://registry.npmjs.org/globalyzer/-/globalyzer-0.1.0.tgz", - "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==", - "dev": true + "integrity": "sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==" }, "globby": { "version": "11.1.0", @@ -24754,8 +24806,7 @@ "globrex": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/globrex/-/globrex-0.1.2.tgz", - "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==", - "dev": true + "integrity": "sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==" }, "got": { "version": "12.1.0", @@ -24792,7 +24843,6 @@ "version": "2.1.8", "resolved": "https://registry.npmjs.org/graphlib/-/graphlib-2.1.8.tgz", "integrity": "sha512-jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==", - "dev": true, "requires": { "lodash": "^4.17.15" } @@ -25515,7 +25565,6 @@ "version": "2.9.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", - "dev": true, "requires": { "has": "^1.0.3" } @@ -26780,7 +26829,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/jest-ts-auto-mock/-/jest-ts-auto-mock-2.1.0.tgz", "integrity": "sha512-ubL0pweKUHQNY2xCgwXjYllEQMgpKDojcEODpraQVevHqBFBsFDJZkpZp/2JsmujMu4TNJPzmSugXOLfKndmlQ==", - "dev": true, "requires": {} }, "jest-util": { @@ -27089,7 +27137,6 @@ "version": "3.0.15", "resolved": "https://registry.npmjs.org/json-refs/-/json-refs-3.0.15.tgz", "integrity": "sha512-0vOQd9eLNBL18EGl5yYaO44GhixmImes2wiYn9Z3sag3QnehWrYWlB9AFtMxCL2Bj3fyxgDYkxGFEU/chlYssw==", - "dev": true, "requires": { "commander": "~4.1.1", "graphlib": "^2.1.8", @@ -27105,7 +27152,6 @@ "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, "requires": { "sprintf-js": "~1.0.2" } @@ -27113,14 +27159,12 @@ "commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==" }, "js-yaml": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, "requires": { "argparse": "^1.0.7", "esprima": "^4.0.0" @@ -27489,8 +27533,7 @@ "lodash-es": { "version": "4.17.21", "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==", - "dev": true + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" }, "lodash.camelcase": { "version": "4.3.0", @@ -27611,7 +27654,6 @@ "version": "1.3.6", "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true, "peer": true }, "make-fetch-happen": { @@ -27772,7 +27814,6 @@ "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, "requires": { "braces": "^3.0.2", "picomatch": "^2.3.1" @@ -27781,8 +27822,7 @@ "mime": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/mime/-/mime-3.0.0.tgz", - "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==", - "dev": true + "integrity": "sha512-jSCU7/VB1loIWBZe14aEYHU/+1UMEHoaO7qxCOVJOw9GgH72VAWppxNcjU+x9a2k3GSIBXNKxXQFqRvvZ7vr3A==" }, "mime-db": { "version": "1.52.0", @@ -27974,8 +28014,7 @@ "native-promise-only": { "version": "0.8.1", "resolved": "https://registry.npmjs.org/native-promise-only/-/native-promise-only-0.8.1.tgz", - "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==", - "dev": true + "integrity": "sha512-zkVhZUA3y8mbz652WrL5x0fB0ehrBkulWT3TomAQ9iDtyXZvzKeEA6GPxAItBYeNYl5yngKRX612qHOhvMkDeg==" }, "natural-compare": { "version": "1.4.0", @@ -28860,7 +28899,6 @@ "version": "5.4.1", "resolved": "https://registry.npmjs.org/openapi-typescript/-/openapi-typescript-5.4.1.tgz", "integrity": "sha512-AGB2QiZPz4rE7zIwV3dRHtoUC/CWHhUjuzGXvtmMQN2AFV8xCTLKcZUHLcdPQmt/83i22nRE7+TxXOXkK+gf4Q==", - "dev": true, "requires": { "js-yaml": "^4.1.0", "mime": "^3.0.0", @@ -28873,8 +28911,7 @@ "yargs-parser": { "version": "21.0.1", "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", - "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", - "dev": true + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==" } } }, @@ -29100,7 +29137,6 @@ "version": "1.0.12", "resolved": "https://registry.npmjs.org/path-loader/-/path-loader-1.0.12.tgz", "integrity": "sha512-n7oDG8B+k/p818uweWrOixY9/Dsr89o2TkCm6tOTex3fpdo2+BFDgR+KpB37mGKBRsBAlR8CIJMFN0OEy/7hIQ==", - "dev": true, "requires": { "native-promise-only": "^0.8.1", "superagent": "^7.1.6" @@ -29109,8 +29145,7 @@ "path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==" }, "path-to-regexp": { "version": "0.1.7", @@ -29238,8 +29273,7 @@ "prettier": { "version": "2.7.1", "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.7.1.tgz", - "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==", - "dev": true + "integrity": "sha512-ujppO+MkdPqoVINuDFDRLClm7D78qbDt0/NR+wp5FqEZOoTNAjPHWj17QRhu7geIHJfcNhRk1XVQmF8Bp3ye+g==" }, "pretty-format": { "version": "28.1.3", @@ -29699,6 +29733,12 @@ "picomatch": "^2.2.1" } }, + "readline-transform": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/readline-transform/-/readline-transform-1.0.0.tgz", + "integrity": "sha512-7KA6+N9IGat52d83dvxnApAWN+MtVb1MiVuMR/cf1O4kYsJG+g/Aav0AHcHKsb6StinayfPLne0+fMX2sOzAKg==", + "dev": true + }, "redent": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/redent/-/redent-3.0.0.tgz", @@ -29864,7 +29904,6 @@ "version": "1.22.0", "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", - "dev": true, "requires": { "is-core-module": "^2.8.1", "path-parse": "^1.0.7", @@ -30356,8 +30395,7 @@ "slash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", - "dev": true + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==" }, "smart-buffer": { "version": "4.2.0", @@ -30728,7 +30766,6 @@ "version": "7.1.6", "resolved": "https://registry.npmjs.org/superagent/-/superagent-7.1.6.tgz", "integrity": "sha512-gZkVCQR1gy/oUXr+kxJMLDjla434KmSOKbx5iGD30Ql+AkJQ/YlPKECJy2nhqOsHLjGHzoDTXNSjhnvWhzKk7g==", - "dev": true, "requires": { "component-emitter": "^1.3.0", "cookiejar": "^2.1.3", @@ -30746,14 +30783,12 @@ "mime": { "version": "2.6.0", "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==" }, "semver": { "version": "7.3.7", "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", - "dev": true, "requires": { "lru-cache": "^6.0.0" } @@ -30844,8 +30879,7 @@ "supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==" }, "swagger-cli": { "version": "4.0.4", @@ -31054,7 +31088,6 @@ "version": "0.2.9", "resolved": "https://registry.npmjs.org/tiny-glob/-/tiny-glob-0.2.9.tgz", "integrity": "sha512-g/55ssRPUjShh+xkfx9UPDXqhckHEsHr4Vd9zX55oSdGZc/MD0m3sferOkwWtp98bv+kcVfEHtRJgBVJzelrzg==", - "dev": true, "requires": { "globalyzer": "0.1.0", "globrex": "^0.1.2" @@ -31114,7 +31147,6 @@ "version": "3.6.2", "resolved": "https://registry.npmjs.org/ts-auto-mock/-/ts-auto-mock-3.6.2.tgz", "integrity": "sha512-ApHKLw1TlYd7SjS2k99yb0ZwIshwznSgIyRkw4IA9/OeHK1sXorOpApG+a7UTq1aVVDlzTTRTibqPH8gS6AOcA==", - "dev": true, "requires": { "lodash-es": "^4.17.21", "micromatch": "^4.0.5", @@ -31125,7 +31157,6 @@ "version": "10.8.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.8.1.tgz", "integrity": "sha512-Wwsnao4DQoJsN034wePSg5nZiw4YKXf56mPIAeD6wVmiv+RytNSWqc2f3fKvcUoV+Yn2+yocD71VOfQHbmVX4g==", - "dev": true, "peer": true, "requires": { "@cspotcode/source-map-support": "^0.8.0", @@ -31147,7 +31178,6 @@ "version": "8.2.0", "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", - "dev": true, "peer": true } } @@ -31212,7 +31242,6 @@ "version": "1.5.13", "resolved": "https://registry.npmjs.org/ttypescript/-/ttypescript-1.5.13.tgz", "integrity": "sha512-KT/RBfGGlVJFqEI8cVvI3nMsmYcFvPSZh8bU0qX+pAwbi7/ABmYkzn7l/K8skw0xmYjVCoyaV6WLsBQxdadybQ==", - "dev": true, "requires": { "resolve": ">=1.9.0" } @@ -31266,7 +31295,6 @@ "version": "4.7.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.7.3.tgz", "integrity": "sha512-WOkT3XYvrpXx4vMMqlD+8R8R37fZkjyLGlxavMc4iB8lrl8L0DeTcHbYgw/v0N/z9wAFsgBhcsF0ruoySS22mA==", - "dev": true, "peer": true }, "uc.micro": { @@ -31302,8 +31330,7 @@ "undici": { "version": "5.5.1", "resolved": "https://registry.npmjs.org/undici/-/undici-5.5.1.tgz", - "integrity": "sha512-MEvryPLf18HvlCbLSzCW0U00IMftKGI5udnjrQbC5D4P0Hodwffhv+iGfWuJwg16Y/TK11ZFK8i+BPVW2z/eAw==", - "dev": true + "integrity": "sha512-MEvryPLf18HvlCbLSzCW0U00IMftKGI5udnjrQbC5D4P0Hodwffhv+iGfWuJwg16Y/TK11ZFK8i+BPVW2z/eAw==" }, "unicode-canonical-property-names-ecmascript": { "version": "2.0.0", @@ -31456,7 +31483,6 @@ "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true, "peer": true }, "v8-to-istanbul": { @@ -32080,7 +32106,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, "peer": true }, "yocto-queue": { diff --git a/package.json b/package.json index 08fd13091..5f12f39cc 100644 --- a/package.json +++ b/package.json @@ -12,21 +12,17 @@ }, "scripts": { "start": "node src/index.js", - "audit:resolve": "npx resolve-audit --production", - "audit:check": "npx check-audit --production", - "build": "npm run build:openapi; npm run build:dto:outbound", - "build:openapi": "npm run build:openapi:inbound && npm run build:openapi:outbound", + "audit:check": "npx audit-ci --config ./audit-ci.jsonc", + "build": "npm run build:openapi", + "build:openapi": "npm run build:openapi:inbound", "build:openapi:inbound": "openapi bundle --output ./src/InboundServer/api.yaml --ext yaml ./src/InboundServer/api_template.yaml", - "build:openapi:outbound": "openapi bundle --output ./src/OutboundServer/api.yaml --ext yaml ./src/OutboundServer/api_template/openapi.yaml", - "build:dto:outbound": "openapi-typescript ./src/OutboundServer/api.yaml --output ./src/OutboundServer/api_interfaces/openapi.d.ts", "lint": "eslint ./src/", "lint:fix": "eslint ./src/ --fix", "test": "npm run test:unit", "test:unit": "jest --runInBand --ci --reporters=default --reporters=jest-junit --env=node test/unit/", "test:int": "jest --ci --reporters=default --reporters=jest-junit --env=node test/integration", - "validate:api": "npm run validate:api:in; npm run validate:api:out", + "validate:api": "npm run validate:api:in", "validate:api:in": "swagger-cli validate ./src/InboundServer/api.yaml", - "validate:api:out": "swagger-cli validate ./src/OutboundServer/api.yaml", "updates:check": "npm run dep:check", "updates:update": "npm run dep:update && npm install", "dep:check": "npx ncu -e 2", @@ -58,6 +54,7 @@ }, "dependencies": { "@koa/cors": "^3.3.0", + "@mojaloop/api-snippets": "^14.2.2", "@mojaloop/central-services-shared": "17.0.2", "@mojaloop/sdk-standard-components": "^17.1.1", "ajv": "8.11.0", @@ -86,9 +83,9 @@ "devDependencies": { "@babel/core": "^7.18.9", "@babel/preset-env": "^7.18.9", - "@mojaloop/api-snippets": "^14.2.0", "@redocly/openapi-cli": "^1.0.0-beta.94", "@types/jest": "^28.1.6", + "audit-ci": "^6.3.0", "babel-jest": "^28.1.3", "eslint": "^8.20.0", "eslint-config-airbnb-base": "^15.0.0", diff --git a/src/InboundServer/api.yaml b/src/InboundServer/api.yaml index 69ee514a4..37f3a4f0b 100644 --- a/src/InboundServer/api.yaml +++ b/src/InboundServer/api.yaml @@ -8,7 +8,7 @@ info: license: name: Open API for FSP Interoperability (FSPIOP) paths: - '/participants/{ID}/error': + /participants/{ID}/error: put: description: >- If there is an error during FSP information creation in the server, the @@ -57,7 +57,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{ID}': + /participants/{ID}: put: description: >- The callback `PUT /participants/{ID}` is used to inform the client of @@ -104,7 +104,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}/error': + /participants/{Type}/{ID}/error: put: description: >- If the server is unable to find, create or delete the associated FSP of @@ -154,7 +154,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}/{SubId}/error': + /participants/{Type}/{ID}/{SubId}/error: put: description: >- If the server is unable to find, create or delete the associated FSP of @@ -205,7 +205,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}/{SubId}': + /participants/{Type}/{ID}/{SubId}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -375,7 +375,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/participants/{Type}/{ID}': + /participants/{Type}/{ID}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -594,7 +594,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}': + /parties/{Type}/{ID}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -676,7 +676,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}/error': + /parties/{Type}/{ID}/error: put: description: >- If the server is unable to find Party information of the provided @@ -726,7 +726,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}/{SubId}': + /parties/{Type}/{ID}/{SubId}: parameters: - $ref: '#/components/parameters/Type' - $ref: '#/components/parameters/ID' @@ -809,7 +809,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/parties/{Type}/{ID}/{SubId}/error': + /parties/{Type}/{ID}/{SubId}/error: put: description: >- If the server is unable to find Party information of the provided @@ -860,7 +860,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactionRequests/{ID}/error': + /transactionRequests/{ID}/error: put: description: >- If the server is unable to find or create a transaction request, or @@ -911,7 +911,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactionRequests/{ID}': + /transactionRequests/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1041,7 +1041,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/quotes/{ID}/error': + /quotes/{ID}/error: put: description: >- If the server is unable to find or create a quote, or some other @@ -1091,7 +1091,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/quotes/{ID}': + /quotes/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1218,7 +1218,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/authorizations/{ID}': + /authorizations/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1331,7 +1331,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/authorizations/{ID}/error': + /authorizations/{ID}/error: put: description: >- If the server is unable to find the transaction request, or another @@ -1380,7 +1380,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transfers/{ID}/error': + /transfers/{ID}/error: put: description: >- If the server is unable to find or create a transfer, or another @@ -1430,7 +1430,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transfers/{ID}': + /transfers/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1599,7 +1599,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactions/{ID}': + /transactions/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1680,7 +1680,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/transactions/{ID}/error': + /transactions/{ID}/error: put: description: >- If the server is unable to find or create a transaction, or another @@ -1729,7 +1729,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkQuotes/{ID}/error': + /bulkQuotes/{ID}/error: put: description: >- If the server is unable to find or create a bulk quote, or another @@ -1779,7 +1779,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkQuotes/{ID}': + /bulkQuotes/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1860,7 +1860,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkTransfers/{ID}': + /bulkTransfers/{ID}: parameters: - $ref: '#/components/parameters/ID' - $ref: '#/components/parameters/Content-Type' @@ -1989,7 +1989,7 @@ paths: $ref: '#/components/responses/501' '503': $ref: '#/components/responses/503' - '/bulkTransfers/{ID}/error': + /bulkTransfers/{ID}/error: put: description: >- If the server is unable to find or create a bulk transfer, or another @@ -2169,7 +2169,7 @@ components: required: true schema: type: string - description: 'The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.' + description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. SubId: name: SubId in: path @@ -2192,7 +2192,7 @@ components: ErrorCode: title: ErrorCode type: string - pattern: '^[1-9]\d{3}$' + pattern: ^[1-9]\d{3}$ description: >- The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading @@ -2568,7 +2568,7 @@ components: ParticipantsIDPutResponse: title: ParticipantsIDPutResponse type: object - description: 'The object sent in the PUT /participants/{ID} callback.' + description: The object sent in the PUT /participants/{ID} callback. properties: partyList: type: array @@ -2645,7 +2645,7 @@ components: MerchantClassificationCode: title: MerchantClassificationCode type: string - pattern: '^[\d]{1,4}$' + pattern: ^[\d]{1,4}$ description: >- A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, @@ -2731,7 +2731,7 @@ components: PartiesTypeIDPutResponse: title: PartiesTypeIDPutResponse type: object - description: 'The object sent in the PUT /parties/{Type}/{ID} callback.' + description: The object sent in the PUT /parties/{Type}/{ID} callback. properties: party: $ref: '#/components/schemas/Party' @@ -2755,7 +2755,7 @@ components: TransactionRequestsIDPutResponse: title: TransactionRequestsIDPutResponse type: object - description: 'The object sent in the PUT /transactionRequests/{ID} callback.' + description: The object sent in the PUT /transactionRequests/{ID} callback. properties: transactionId: $ref: '#/components/schemas/CorrelationId' @@ -2768,7 +2768,7 @@ components: Amount: title: Amount type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ description: >- The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This @@ -2825,7 +2825,7 @@ components: TransactionSubScenario: title: TransactionSubScenario type: string - pattern: '^[A-Z_]{1,32}$' + pattern: ^[A-Z_]{1,32}$ description: >- Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). @@ -2884,7 +2884,7 @@ components: BalanceOfPayments: title: BalanceOfPayments type: string - pattern: '^[1-9]\d{2}$' + pattern: ^[1-9]\d{2}$ description: >- (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String @@ -3013,7 +3013,7 @@ components: IlpPacket: title: IlpPacket type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ minLength: 1 maxLength: 32768 description: Information for recipient (transport layer information). @@ -3022,13 +3022,13 @@ components: IlpCondition: title: IlpCondition type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Condition that must be attached to the transfer by the Payer. QuotesIDPutResponse: title: QuotesIDPutResponse type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' + description: The object sent in the PUT /quotes/{ID} callback. properties: transferAmount: $ref: '#/components/schemas/Money' @@ -3110,7 +3110,7 @@ components: OtpValue: title: OtpValue type: string - pattern: '^\d{3,10}$' + pattern: ^\d{3,10}$ description: >- The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more @@ -3124,7 +3124,7 @@ components: U2FPIN: title: U2FPIN type: string - pattern: '^\S{1,64}$' + pattern: ^\S{1,64}$ minLength: 1 maxLength: 64 description: > @@ -3133,7 +3133,7 @@ components: Integer: title: Integer type: string - pattern: '^[1-9]\d*$' + pattern: ^[1-9]\d*$ description: >- The API data type Integer is a JSON String consisting of digits only. Negative numbers and leading zeroes are not allowed. The data type is @@ -3164,7 +3164,7 @@ components: - $ref: '#/components/schemas/OtpValue' - $ref: '#/components/schemas/QRCODE' - $ref: '#/components/schemas/U2FPinValue' - pattern: '^\d{3,10}$|^\S{1,64}$' + pattern: ^\d{3,10}$|^\S{1,64}$ description: >- Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. @@ -3196,7 +3196,7 @@ components: AuthorizationsIDPutResponse: title: AuthorizationsIDPutResponse type: object - description: 'The object sent in the PUT /authorizations/{ID} callback.' + description: The object sent in the PUT /authorizations/{ID} callback. properties: authenticationInfo: $ref: '#/components/schemas/AuthenticationInfo' @@ -3207,7 +3207,7 @@ components: IlpFulfilment: title: IlpFulfilment type: string - pattern: '^[A-Za-z0-9-_]{43}$' + pattern: ^[A-Za-z0-9-_]{43}$ maxLength: 48 description: Fulfilment that must be attached to the transfer by the Payee. example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 @@ -3234,7 +3234,7 @@ components: TransfersIDPutResponse: title: TransfersIDPutResponse type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' + description: The object sent in the PUT /transfers/{ID} callback. properties: fulfilment: $ref: '#/components/schemas/IlpFulfilment' @@ -3249,7 +3249,7 @@ components: TransfersIDPatchResponse: title: TransfersIDPatchResponse type: object - description: 'PATCH /transfers/{ID} object' + description: PATCH /transfers/{ID} object properties: completedTimestamp: $ref: '#/components/schemas/DateTime' @@ -3307,13 +3307,13 @@ components: Code: title: Code type: string - pattern: '^[0-9a-zA-Z]{4,32}$' + pattern: ^[0-9a-zA-Z]{4,32}$ description: Any code/token returned by the Payee FSP (TokenCode Type). example: Test-Code TransactionsIDPutResponse: title: TransactionsIDPutResponse type: object - description: 'The object sent in the PUT /transactions/{ID} callback.' + description: The object sent in the PUT /transactions/{ID} callback. properties: completedTimestamp: $ref: '#/components/schemas/DateTime' @@ -3355,7 +3355,7 @@ components: BulkQuotesIDPutResponse: title: BulkQuotesIDPutResponse type: object - description: 'The object sent in the PUT /bulkQuotes/{ID} callback.' + description: The object sent in the PUT /bulkQuotes/{ID} callback. properties: individualQuoteResults: type: array @@ -3415,7 +3415,7 @@ components: BulkTransfersIDPutResponse: title: BulkTransfersIDPutResponse type: object - description: 'The object sent in the PUT /bulkTransfers/{ID} callback.' + description: The object sent in the PUT /bulkTransfers/{ID} callback. properties: completedTimestamp: $ref: '#/components/schemas/DateTime' diff --git a/src/OutboundServer/api.yaml b/src/OutboundServer/api.yaml deleted file mode 100644 index 18974e920..000000000 --- a/src/OutboundServer/api.yaml +++ /dev/null @@ -1,2884 +0,0 @@ -openapi: 3.0.1 -info: - title: Mojaloop SDK Outbound Scheme Adapter API - description: > - Specification for the Mojaloop SDK Scheme Adapter Outbound Transfers API - - - This API can be used by DFSP backends to simplify the process of sending - funds to other parties within a Mojaloop scheme. - - - Please see other documentation on - https://github.com/mojaloop/sdk-scheme-adapter for more information. - - - **Note on terminology:** The term "Switch" is equal to the term "Hub", and - the term "FSP" is equal to the term "DFSP". - license: - name: 'Apache License Version 2.0, January 2004' - url: 'https://github.com/mojaloop/documentation/blob/master/LICENSE.md' - version: 2.0.0 -paths: - /: - get: - summary: Health check endpoint - description: >- - This endpoint allows a user of the SDK scheme adapter to check the - outbound transfers service is listening. - tags: - - Health - responses: - '200': - description: >- - Returns empty body if the scheme adapter outbound transfers service - is running. - /transfers: - post: - summary: Sends money from one account to another - description: > - The HTTP request `POST /transfers` is used to request the movement of - funds from payer DFSP to payee DFSP. - - The underlying Mojaloop API has three stages for money transfer: - - 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - 2. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - 3. Transfer. The enactment of the previously agreed "contract" - - This method has several modes of operation. - - - If the configuration variables `AUTO_ACCEPT_PARTIES` is set to - `"false"` this method will terminate when the payee party has been - resolved and return the payee party details. - If the payee wishes to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the payee party) is required to continue the operation. - The scheme adapter will then proceed with quotation stage... - - - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` - this method will terminate and return the quotation when it has been - received from the payee DFSP. - If the payee wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - The scheme adapter will then proceed with the transfer state. - - If the configuration variables `AUTO_ACCEPT_PARTIES` and - `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block - until all three transfer stages are complete. Upon completion it will - return the entire set of transfer details received during the operation. - - - Combinations of settings for `AUTO_ACCEPT...` configuration variables - allow the scheme adapter user to decide which mode of operation best - suits their use cases. i.e. the scheme adapter can be configured to - "break" the three stage transfer at these points in order to execute - backend logic such as party verification, quoted fees assessments etc... - tags: - - Transfers - requestBody: - description: Transfer request body - content: - application/json: - schema: - $ref: '#/components/schemas/transferRequest' - required: true - responses: - '200': - $ref: '#/components/responses/transferSuccess' - '400': - $ref: '#/components/responses/transferBadRequest' - '500': - $ref: '#/components/responses/transferServerError' - '504': - $ref: '#/components/responses/transferTimeout' - '/transfers/{transferId}': - put: - summary: >- - Continues a transfer that has paused at the quote stage in order to - accept or reject payee party and/or quote - description: > - The HTTP request `PUT /transfers/{transferId}` is used to continue a - transfer initiated via the `POST /transfers` method that has halted - after party lookup and/or quotation stage. - - - The request body should contain either the "acceptParty" or - "acceptQuote" property set to `true` as required to continue the - transfer. - - - See the description of the `POST /transfers` HTTP method for more - information on modes of transfer. - tags: - - Transfers - requestBody: - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/transferContinuationAcceptParty' - - $ref: '#/components/schemas/transferContinuationAcceptQuote' - parameters: - - $ref: '#/components/parameters/transferId' - responses: - '200': - $ref: '#/components/responses/transferSuccess' - '500': - $ref: '#/components/responses/transferServerError' - '504': - $ref: '#/components/responses/transferTimeout' - get: - summary: Retrieves information for a specific transfer - description: >- - The HTTP request `GET /transfers/{transferId}` is used to get - information regarding a transfer created or requested earlier. The - `{transferId}` in the URI should contain the `transferId` that was used - for the creation of the transfer. - tags: - - Transfers - parameters: - - $ref: '#/components/parameters/transferId' - responses: - '200': - description: Transfer information successfully retrieved - content: - application/json: - schema: - $ref: '#/components/schemas/transferStatusResponse' - '500': - description: An error occurred processing the transfer - content: - application/json: - schema: - $ref: '#/components/schemas/errorResponse' - /bulkTransfers: - post: - summary: Sends money from one account to multiple accounts - description: > - The HTTP request `POST /bulkTransfers` is used to request the movement - of funds from payer DFSP to payees' DFSP. - tags: - - BulkTransfers - requestBody: - description: Bulk transfer request body - content: - application/json: - schema: - $ref: '#/components/schemas/bulkTransferRequest' - required: true - responses: - '202': - $ref: '#/components/responses/bulkTransferAccepted' - '400': - $ref: '#/components/responses/bulkTransferBadRequest' - '500': - $ref: '#/components/schemas/errorResponse' - '/bulkTransfers/{bulkTransferId}': - put: - summary: Amends the bulk transfer request - description: >- - The HTTP request `PUT /bulkTransfers/{bulkTransferId}` is used to amend - information regarding a bulk transfer, i.e. when autoAcceptParty or autoAcceptQuote - is false then the payer need to provide confirmation to proceed with further processing - of the request. The `{bulkTransferId}` in the URI should contain the `bulkTransferId` that - was used for the creation of the bulk transfer. - tags: - - BulkTransfers - parameters: - - $ref: '#/components/parameters/bulkTransferId' - requestBody: - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/bulkTransferContinuationAcceptParty' - - $ref: '#/components/schemas/bulkTransferContinuationAcceptQuote' - responses: - '202': - description: Bulk transfer information successfully amended - '400': - $ref: '#/components/responses/bulkTransferPutBadRequest' - '500': - description: An error occurred processing the bulk transfer - content: - application/json: - schema: - $ref: '#/components/schemas/errorResponse' - /bulkQuotes: - post: - summary: Request bulk quotes for the provided financial transactions - description: > - The HTTP request `POST /bulkQuotes` is used to request a bulk quote to - fascilitate funds transfer from payer DFSP to payees' DFSP. - tags: - - BulkQuotes - requestBody: - description: Bulk quote request body - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteRequest' - required: true - responses: - '200': - $ref: '#/components/responses/bulkQuoteSuccess' - '400': - $ref: '#/components/responses/bulkQuoteBadRequest' - '500': - $ref: '#/components/responses/bulkQuoteServerError' - '504': - $ref: '#/components/responses/bulkQuoteTimeout' - '/bulkQuotes/{bulkQuoteId}': - get: - summary: Retrieves information for a specific bulk quote - description: >- - The HTTP request `GET /bulkQuotes/{bulktQuoteId}` is used to get - information regarding a bulk quote created or requested earlier. The - `{bulkQuoteId}` in the URI should contain the `bulkQuoteId` that was - used for the creation of the bulk quote. - tags: - - BulkQuotes - parameters: - - $ref: '#/components/parameters/bulkQuoteId' - responses: - '200': - description: Bulk quote information successfully retrieved - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteStatusResponse' - '500': - description: An error occurred processing the bulk quote - content: - application/json: - schema: - $ref: '#/components/schemas/errorResponse' - /requestToPay: - post: - summary: Receiver requesting funds from Sender - description: > - The HTTP request `POST /requestToPay` is used to support Pull Funds - pattern where in a receiver can request for funds from the Sender. - - The underlying API has two stages: - - 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - 2. Transaction Request. This request enables a Payee to request Payer to send electronic funds to the Payee. - tags: - - RequestToPay - requestBody: - description: RequestToPay request body - content: - application/json: - schema: - $ref: '#/components/schemas/requestToPayRequest' - required: true - responses: - '200': - $ref: '#/components/responses/requestToPaySuccess' - /requestToPayTransfer: - post: - summary: >- - Used to trigger funds from customer fsp account to merchant fsp account. - This is a follow-up request to requestToPay. - description: > - The HTTP request `POST /requestToPayTransfer` is used to request the - movement of funds from payer DFSP to payee DFSP. - - The underlying Mojaloop API has three stages for money transfer: - - 1. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - 2. Authorization. This facilitates getting OTP from payee DFSP. - 3. Transfer. The enactment of the previously agreed "contract" - - This method has several modes of operation. - - - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` - this method will terminate and return the quotation when it has been - received from the payee DFSP. - If the payee wished to proceed with the otp, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - The scheme adapter will then proceed with the transfer state. - - - If the configuration variable `AUTO_ACCEPT_OTP` is set to `"false"` - this method will terminate and return the otp when it has been received - from the payee DFSP. - If the payer wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - The scheme adapter will then proceed with the transfer state. - - If the configuration variables `AUTO_ACCEPT_PARTIES` and - `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block - until all three transfer stages are complete. Upon completion it will - return the entire set of transfer details received during the operation. - - - Combinations of settings for `AUTO_ACCEPT...` configuration variables - allow the scheme adapter user to decide which mode of operation best - suits their use cases. i.e. the scheme adapter can be configured to - "break" the three stage transfer at these points in order to execute - backend logic such as party verification, quoted fees assessments etc... - tags: - - RequestToPayTransfer - requestBody: - description: Request To Pay Transfer request body - content: - application/json: - schema: - $ref: '#/components/schemas/requestToPayTransferRequest' - required: true - responses: - '200': - $ref: '#/components/responses/requestToPayTransferSuccess' - '400': - $ref: '#/components/responses/requestToPayTransferBadRequest' - '500': - $ref: '#/components/responses/transferServerError' - '504': - $ref: '#/components/responses/transferTimeout' - '/requestToPayTransfer/{requestToPayTransactionId}': - put: - summary: >- - Continues a transfer that has paused at the otp stage in order to accept - or reject quote - description: > - The HTTP request `PUT /transfers/{transferId}` is used to continue a - transfer initiated via the `POST /transfers` method that has halted - after party lookup and/or quotation stage. - - - The request body should contain either the "acceptOTP" or "acceptQuote" - property set to `true` as required to continue the transfer. - - - See the description of the `POST /requestToPayTransfer` HTTP method for - more information on modes of transfer. - tags: - - RequestToPayTransferID - requestBody: - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/transferContinuationAcceptQuote' - - $ref: '#/components/schemas/transferContinuationAcceptOTP' - parameters: - - $ref: '#/components/parameters/requestToPayTransactionId' - responses: - '200': - $ref: '#/components/responses/transferSuccess' - '500': - $ref: '#/components/responses/transferServerError' - '504': - $ref: '#/components/responses/transferTimeout' - /accounts: - post: - summary: Create accounts on the Account Lookup Service - description: >- - The HTTP request `POST /accounts` is used to create account information - on the Account Lookup Service (ALS) regarding the provided list of - identities. - - - Caller DFSP is used as the account source FSP information - tags: - - Accounts - requestBody: - description: Identities list request body - content: - application/json: - schema: - $ref: '#/components/schemas/accountsRequest' - required: true - responses: - '200': - $ref: '#/components/responses/accountsCreationCompleted' - '400': - $ref: '#/components/responses/accountsCreationError' - '500': - $ref: '#/components/responses/accountsCreationError' - '504': - $ref: '#/components/responses/accountsCreationTimeout' - '/parties/{Type}/{ID}': - parameters: - - $ref: '#/components/parameters/Type' - - $ref: '#/components/parameters/ID' - get: - description: >- - The HTTP request GET /parties// (or GET /parties///) is used to lookup - information regarding the requested Party, defined by , and optionally - (for example, GET /parties/MSISDN/123456789, or GET - /parties/BUSINESS/shoecompany/employee1). - summary: PartiesByTypeAndID - tags: - - parties - operationId: PartiesByTypeAndID - responses: - '200': - $ref: '#/components/responses/partiesByIdSuccess' - '404': - $ref: '#/components/responses/partiesByIdError404' - '/parties/{Type}/{ID}/{SubId}': - parameters: - - $ref: '#/components/parameters/Type' - - $ref: '#/components/parameters/ID' - - $ref: '#/components/parameters/SubId' - get: - description: >- - The HTTP request GET /parties// (or GET /parties///) is used to lookup - information regarding the requested Party, defined by , and optionally - (for example, GET /parties/MSISDN/123456789, or GET - /parties/BUSINESS/shoecompany/employee1). - summary: PartiesSubIdByTypeAndID - tags: - - parties - operationId: PartiesSubIdByTypeAndID - responses: - '200': - $ref: '#/components/responses/partiesByIdSuccess' - '404': - $ref: '#/components/responses/partiesByIdError404' - /quotes: - post: - summary: Quotes endpoint - description: is used to request quotes from other DFSP - tags: - - quotes - operationId: QuotesPost - requestBody: - description: Quotes request payload - content: - application/json: - schema: - $ref: '#/components/schemas/quotesPostRequest' - required: true - responses: - '200': - $ref: '#/components/responses/quotesPostSuccess' - '500': - $ref: '#/components/responses/quotesServerError' - /simpleTransfers: - post: - summary: Simple Transfers endpoint - description: is used to request a transfer - tags: - - transfers - operationId: SimpleTransfersPost - requestBody: - description: Simple Transfer request payload - content: - application/json: - schema: - $ref: '#/components/schemas/simpleTransfersPostRequest' - required: true - responses: - '200': - $ref: '#/components/responses/simpleTransfersPostSuccess' - '500': - $ref: '#/components/responses/simpleTransfersServerError' -components: - schemas: - autoAcceptPartyOption: - type: object - required: - - enabled - properties: - enabled: - type: boolean - enum: - - false - - true - autoAcceptQuote: - type: object - required: - - enabled - properties: - enabled: - type: boolean - enum: - - true - - false - perTransferFeeLimits: - type: array - minItems: 0 - items: - $ref: '#/components/schemas/bulkPerTransferFeeLimit' - TransactionInitiatorType: - title: TransactionInitiatorType - type: string - enum: - - CONSUMER - - AGENT - - BUSINESS - - DEVICE - description: |- - Below are the allowed values for the enumeration. - - CONSUMER - Consumer is the initiator of the transaction. - - AGENT - Agent is the initiator of the transaction. - - BUSINESS - Business is the initiator of the transaction. - - DEVICE - Device is the initiator of the transaction. - example: CONSUMER - PartyIdType: - title: PartyIdType - type: string - enum: - - MSISDN - - EMAIL - - PERSONAL_ID - - BUSINESS - - DEVICE - - ACCOUNT_ID - - IBAN - - ALIAS - - CONSENT - - THIRD_PARTY_LINK - description: > - Below are the allowed values for the enumeration. - - - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - - Number, that is, the phone number) is used as reference to a - participant. - - The MSISDN identifier should be in international format according to the - - [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - - Optionally, the MSISDN may be prefixed by a single plus sign, indicating - the - - international prefix. - - - EMAIL - An email is used as reference to a - - participant. The format of the email should be according to the - informational - - [RFC 3696](https://tools.ietf.org/html/rfc3696). - - - PERSONAL_ID - A personal identifier is used as reference to a - participant. - - Examples of personal identification are passport number, birth - certificate - - number, and national registration number. The identifier number is added - in - - the PartyIdentifier element. The personal identifier type is added in - the - - PartySubIdOrType element. - - - BUSINESS - A specific Business (for example, an organization or a - company) - - is used as reference to a participant. The BUSINESS identifier can be in - any - - format. To make a transaction connected to a specific username or bill - number - - in a Business, the PartySubIdOrType element should be used. - - - DEVICE - A specific device (for example, a POS or ATM) ID connected to - a - - specific business or organization is used as reference to a Party. - - For referencing a specific device under a specific business or - organization, - - use the PartySubIdOrType element. - - - ACCOUNT_ID - A bank account number or FSP account ID should be used as - - reference to a participant. The ACCOUNT_ID identifier can be in any - format, - - as formats can greatly differ depending on country and FSP. - - - IBAN - A bank account number or FSP account ID is used as reference to - a - - participant. The IBAN identifier can consist of up to 34 alphanumeric - - characters and should be entered without whitespace. - - - ALIAS An alias is used as reference to a participant. The alias should - be - - created in the FSP as an alternative reference to an account owner. - - Another example of an alias is a username in the FSP system. - - The ALIAS identifier can be in any format. It is also possible to use - the - - PartySubIdOrType element for identifying an account under an Alias - defined - - by the PartyIdentifier. - - - CONSENT - A Consent represents an agreement between a PISP, a Customer - and - - a DFSP which allows the PISP permission to perform actions on behalf of - the - - customer. A Consent has an authoritative source: either the DFSP who - issued - - the Consent, or an Auth Service which administers the Consent. - - - THIRD_PARTY_LINK - A Third Party Link represents an agreement between - a PISP, - - a DFSP, and a specific Customer's account at the DFSP. The content of - the link - - is created by the DFSP at the time when it gives permission to the PISP - for - - specific access to a given account. - example: PERSONAL_ID - PartyIdentifier: - title: PartyIdentifier - type: string - minLength: 1 - maxLength: 128 - description: Identifier of the Party. - example: '16135551212' - PartySubIdOrType: - title: PartySubIdOrType - type: string - minLength: 1 - maxLength: 128 - description: >- - Either a sub-identifier of a PartyIdentifier, or a sub-type of the - PartyIdType, normally a PersonalIdentifierType. - Name: - title: Name - type: string - pattern: '^(?!\s*$)[\w .,''-]{1,128}$' - description: >- - The API data type Name is a JSON String, restricted by a regular - expression to avoid characters which are generally not used in a name. - - - Regular Expression - The regular expression for restricting the Name - type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a - string consisting of whitespace only, all Unicode characters are - allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) - and space characters ( ). - - - **Note:** In some programming languages, Unicode support must be - specifically enabled. For example, if Java is used, the flag - UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - FirstName: - title: FirstName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: First name of the Party (Name Type). - example: Henrik - MiddleName: - title: MiddleName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: Middle name of the Party (Name Type). - example: Johannes - LastName: - title: LastName - type: string - minLength: 1 - maxLength: 128 - pattern: >- - ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} - .,''-]{1,128}$ - description: Last name of the Party (Name Type). - example: Karlsson - DateOfBirth: - title: DateofBirth (type Date) - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$ - description: Date of Birth of the Party. - example: '1966-06-16' - MerchantClassificationCode: - title: MerchantClassificationCode - type: string - pattern: '^[\d]{1,4}$' - description: >- - A limited set of pre-defined numbers. This list would be a limited set - of numbers identifying a set of popular merchant types like School Fees, - Pubs and Restaurants, Groceries, etc. - FspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - ExtensionKey: - title: ExtensionKey - type: string - minLength: 1 - maxLength: 32 - description: Extension key. - ExtensionValue: - title: ExtensionValue - type: string - minLength: 1 - maxLength: 128 - description: Extension value. - Extension: - title: Extension - type: object - description: Data model for the complex type Extension. - properties: - key: - $ref: '#/components/schemas/ExtensionKey' - value: - $ref: '#/components/schemas/ExtensionValue' - required: - - key - - value - extensionListEmptiable: - type: array - items: - $ref: '#/components/schemas/Extension' - minItems: 0 - maxItems: 16 - bulkPartyLookupResponse: - description: >- - The object sent back to the payer for confirmation of payee parties. - It's basically the same object as the original bulk transfer request - with party information is added for all the payees - type: object - required: - - bulkHomeTransactionID - - from - - individualTransfers - properties: - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - options: - $ref: '#/components/schemas/bulkTransferOptions' - from: - $ref: '#/components/schemas/Party' - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - maxItems: 1000 - items: - allOf: - - $ref: '#/components/schemas/individualTransfer' - - type: object - required: - - transactionId - properties: - transactionId: - $ref: '#/components/schemas/CorrelationId' - - extensions: - $ref: '#/components/schemas/ExtensionList' - lastError: - description: > - Object representing the last error to occur during a party discovery process. - This may be a Mojaloop API error returned from another entity in the - scheme or an object representing other types of error e.g. - exceptions that may occur inside the scheme adapter. - $ref: '#/components/schemas/partyError' - bulkQuoteRequestResponse: - description: >- - The object sent back to the payer for confirmation of quotes. - It's basically the same object as the original bulk transfer request - with quote information added for all the transfers - type: object - required: - - bulkHomeTransactionID - - from - - individualTransfers - properties: - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - options: - $ref: '#/components/schemas/bulkTransferOptions' - from: - $ref: '#/components/schemas/Party' - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - maxItems: 1000 - items: - allOf: - - $ref: '#/components/schemas/individualTransfer' - - type: object - required: - - transactionId - properties: - transactionId: - $ref: '#/components/schemas/CorrelationId' - - type: object - required: - - quoteResponse - properties: - quoteResponse: - $ref: '#/components/schemas/QuotesIDPutResponse' - extensions: - $ref: '#/components/schemas/ExtensionList' - lastError: - description: > - Object representing the last error to occur during a party discovery process. - This may be a Mojaloop API error returned from another entity in the - scheme or an object representing other types of error e.g. - exceptions that may occur inside the scheme adapter. - $ref: '#/components/schemas/partyError' - - bulkTransferContinuationAcceptParty: - description: >- - The object sent back as confirmation of payee parties when autoAcceptParty is false. - type: object - required: - - bulkHomeTransactionID - - individualTransfers - properties: - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - individualTransfers: - description: List of individual transfers in a bulk transfer with accept party information. - type: array - minItems: 1 - maxItems: 1000 - items: - allOf: - - $ref: '#/components/schemas/individualTransferAccept' - - $ref: '#/components/schemas/transferContinuationAcceptParty' - bulkTransferContinuationAcceptQuote: - description: >- - The object sent back as confirmation of quotes when autoAcceptQuotes is false. - type: object - required: - - bulkHomeTransactionID - - individualTransfers - properties: - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - maxItems: 1000 - items: - allOf: - - $ref: '#/components/schemas/individualTransferAccept' - - $ref: '#/components/schemas/transferContinuationAcceptQuote' - bulkTransferOptions: - type: object - required: - - autoAcceptParty - - autoAcceptQuote - - bulkExpiration - properties: - onlyValidateParty: - description: >- - Set to true if only party validation is required. - This means the quotes and transfers will not run. This is useful - for only party resolution. - type: boolean - autoAcceptParty: - $ref: '#/components/schemas/autoAcceptPartyOption' - autoAcceptQuote: - description: >- - Set to true if the quote response is accepted without confirmation from the payer. - The fees applied by the payee will be acceptable to the payer abiding by the limits - set by optional 'perTransferFeeLimits' array. - type: object - oneOf: - - $ref: '#/components/schemas/autoAcceptQuote' - skipPartyLookup: - description: >- - Set to true if supplying an FSPID for the payee party and no party - resolution is needed. This may be useful if a previous party - resolution has been performed. - type: boolean - synchronous: - description: >- - Set to true if the bulkTransfer requests need be handled synchronous. - Otherwise the requests will be handled asynchronously, meaning there will - be callbacks whenever the processing is done - type: boolean - bulkExpiration: - $ref: '#/components/schemas/DateTime' - bulkPerTransferFeeLimit: - type: object - required: - - currency - - amount - properties: - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transferParty: - type: object - required: - - idType - - idValue - properties: - type: - $ref: '#/components/schemas/TransactionInitiatorType' - idType: - $ref: '#/components/schemas/PartyIdType' - idValue: - $ref: '#/components/schemas/PartyIdentifier' - idSubValue: - $ref: '#/components/schemas/PartySubIdOrType' - displayName: - $ref: '#/components/schemas/Name' - firstName: - $ref: '#/components/schemas/FirstName' - middleName: - $ref: '#/components/schemas/MiddleName' - lastName: - $ref: '#/components/schemas/LastName' - dateOfBirth: - $ref: '#/components/schemas/DateOfBirth' - merchantClassificationCode: - $ref: '#/components/schemas/MerchantClassificationCode' - fspId: - $ref: '#/components/schemas/FspId' - extensionList: - $ref: '#/components/schemas/extensionListEmptiable' - AmountType: - title: AmountType - type: string - enum: - - SEND - - RECEIVE - description: >- - Below are the allowed values for the enumeration AmountType. - - - SEND - Amount the Payer would like to send, that is, the amount that - should be withdrawn from the Payer account including any fees. - - - RECEIVE - Amount the Payer would like the Payee to receive, that is, - the amount that should be sent to the receiver exclusive of any fees. - example: RECEIVE - Currency: - title: Currency - description: >- - The currency codes defined in [ISO - 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter - alphabetic codes are used as the standard naming representation for - currencies. - type: string - minLength: 3 - maxLength: 3 - enum: - - AED - - AFN - - ALL - - AMD - - ANG - - AOA - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XCD - - XDR - - XOF - - XPF - - XTS - - XXX - - YER - - ZAR - - ZMW - - ZWD - Amount: - title: Amount - type: string - pattern: '^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$' - description: >- - The API data type Amount is a JSON String in a canonical format that is - restricted by a regular expression for interoperability reasons. This - pattern does not allow any trailing zeroes at all, but allows an amount - without a minor currency unit. It also only allows four digits in the - minor currency unit; a negative value is not allowed. Using more than 18 - digits in the major currency unit is not allowed. - example: '123.45' - transactionType: - type: string - enum: - - TRANSFER - description: Type of transaction. - Note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - example: Note sent to Payee. - transferRequest: - type: object - required: - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - quoteRequestExtensions: - $ref: '#/components/schemas/extensionListEmptiable' - transferRequestExtensions: - $ref: '#/components/schemas/extensionListEmptiable' - skipPartyLookup: - description: >- - Set to true if supplying an FSPID for the payee party and no party - resolution is needed. This may be useful if a previous party - resolution has been performed. - type: boolean - CorrelationId: - title: CorrelationId - type: string - pattern: >- - ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ - description: >- - Identifier that correlates all messages of the same sequence. The API - data type UUID (Universally Unique Identifier) is a JSON String in - canonical format, conforming to [RFC - 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a - regular expression for interoperability reasons. A UUID is always 36 - characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transferStatus: - type: string - enum: - - ERROR_OCCURRED - - WAITING_FOR_PARTY_ACCEPTANCE - - WAITING_FOR_QUOTE_ACCEPTANCE - - COMPLETED - Money: - title: Money - type: object - description: Data model for the complex type Money. - properties: - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - required: - - currency - - amount - DateTime: - title: DateTime - type: string - pattern: >- - ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$ - description: >- - The API data type DateTime is a JSON String in a lexical format that is - restricted by a regular expression for interoperability reasons. The - format is according to [ISO - 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed - in a combined date, time and time zone format. A more readable version - of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are - "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z - indicates Zulu time zone, same as UTC). - example: '2016-05-24T08:38:08.699-04:00' - Latitude: - title: Latitude - type: string - pattern: >- - ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$ - description: >- - The API data type Latitude is a JSON String in a lexical format that is - restricted by a regular expression for interoperability reasons. - example: '+45.4215' - Longitude: - title: Longitude - type: string - pattern: >- - ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$ - description: >- - The API data type Longitude is a JSON String in a lexical format that is - restricted by a regular expression for interoperability reasons. - example: '+75.6972' - GeoCode: - title: GeoCode - type: object - description: >- - Data model for the complex type GeoCode. Indicates the geographic - location from where the transaction was initiated. - properties: - latitude: - $ref: '#/components/schemas/Latitude' - longitude: - $ref: '#/components/schemas/Longitude' - required: - - latitude - - longitude - IlpPacket: - title: IlpPacket - type: string - pattern: '^[A-Za-z0-9-_]+[=]{0,2}$' - minLength: 1 - maxLength: 32768 - description: Information for recipient (transport layer information). - example: >- - AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - IlpCondition: - title: IlpCondition - type: string - pattern: '^[A-Za-z0-9-_]{43}$' - maxLength: 48 - description: Condition that must be attached to the transfer by the Payer. - ExtensionList: - title: ExtensionList - type: object - description: >- - Data model for the complex type ExtensionList. An optional list of - extensions, specific to deployment. - properties: - extension: - type: array - items: - $ref: '#/components/schemas/Extension' - minItems: 1 - maxItems: 16 - description: Number of Extension elements. - required: - - extension - QuotesIDPutResponse: - title: QuotesIDPutResponse - type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' - properties: - transferAmount: - $ref: '#/components/schemas/Money' - payeeReceiveAmount: - $ref: '#/components/schemas/Money' - payeeFspFee: - $ref: '#/components/schemas/Money' - payeeFspCommission: - $ref: '#/components/schemas/Money' - expiration: - $ref: '#/components/schemas/DateTime' - geoCode: - $ref: '#/components/schemas/GeoCode' - ilpPacket: - $ref: '#/components/schemas/IlpPacket' - condition: - $ref: '#/components/schemas/IlpCondition' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - transferAmount - - expiration - - ilpPacket - - condition - IlpFulfilment: - title: IlpFulfilment - type: string - pattern: '^[A-Za-z0-9-_]{43}$' - maxLength: 48 - description: Fulfilment that must be attached to the transfer by the Payee. - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - TransferState: - title: TransferState - type: string - enum: - - RECEIVED - - RESERVED - - COMMITTED - - ABORTED - description: >- - Below are the allowed values for the enumeration. - - - RECEIVED - Next ledger has received the transfer. - - - RESERVED - Next ledger has reserved the transfer. - - - COMMITTED - Next ledger has successfully performed the transfer. - - - ABORTED - Next ledger has aborted the transfer due to a rejection or - failure to perform the transfer. - example: RESERVED - TransfersIDPutResponse: - title: TransfersIDPutResponse - type: object - description: 'The object sent in the PUT /transfers/{ID} callback.' - properties: - fulfilment: - $ref: '#/components/schemas/IlpFulfilment' - completedTimestamp: - $ref: '#/components/schemas/DateTime' - transferState: - $ref: '#/components/schemas/TransferState' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - transferState - ErrorCode: - title: ErrorCode - type: string - pattern: '^[1-9]\d{3}$' - description: >- - The API data type ErrorCode is a JSON String of four characters, - consisting of digits only. Negative numbers are not allowed. A leading - zero is not allowed. Each error code in the API is a four-digit number, - for example, 1234, where the first number (1 in the example) represents - the high-level error category, the second number (2 in the example) - represents the low-level error category, and the last two numbers (34 in - the example) represent the specific error. - example: '5100' - ErrorDescription: - title: ErrorDescription - type: string - minLength: 1 - maxLength: 128 - description: Error description string. - ErrorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: - errorCode: - $ref: '#/components/schemas/ErrorCode' - errorDescription: - $ref: '#/components/schemas/ErrorDescription' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - errorCode - - errorDescription - mojaloopError: - type: object - properties: - errorInformation: - $ref: '#/components/schemas/ErrorInformation' - transferError: - type: object - description: >- - This object represents a Mojaloop API error received at any time during - the transfer process - properties: - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the caller. This is the same as the - actual HTTP status code returned with the response. - mojaloopError: - description: >- - If a transfer process results in an error callback during the - asynchronous Mojaloop API exchange, this property will contain the - underlying Mojaloop API error object. - $ref: '#/components/schemas/mojaloopError' - validationError: - type: object - description: >- - This object represents an error occurred during the initial validation of individual transfers in bulk - properties: - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the caller. This is the same as the - actual HTTP status code returned with the response. - mojaloopError: - description: >- - If a transfer process results in an error callback during the - asynchronous Mojaloop API exchange, this property will contain the - underlying Mojaloop API error object. - $ref: '#/components/schemas/mojaloopError' - partyError: - type: object - description: >- - This object represents a Mojaloop API error received at any time during - the party discovery process - properties: - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the caller. This is the same as the - actual HTTP status code returned with the response. - mojaloopError: - description: >- - If a transfer process results in an error callback during the - asynchronous Mojaloop API exchange, this property will contain the - underlying Mojaloop API error object. - $ref: '#/components/schemas/mojaloopError' - transferResponse: - type: object - required: - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - currentState: - $ref: '#/components/schemas/transferStatus' - quoteId: - $ref: '#/components/schemas/CorrelationId' - getPartiesResponse: - type: object - required: - - body - properties: - body: - type: object - headers: - type: object - quoteResponse: - type: object - required: - - body - properties: - body: - $ref: '#/components/schemas/QuotesIDPutResponse' - headers: - type: object - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This may not - be the same as the FSPID of the entity which owns the end user - account in the case of a FOREX transfer. i.e. it may be a FOREX - gateway. - fulfil: - type: object - required: - - body - properties: - body: - $ref: '#/components/schemas/TransfersIDPutResponse' - headers: - type: object - lastError: - description: > - Object representing the last error to occur during a transfer - process. This may be a Mojaloop API error returned from another - entity in the scheme or an object representing other types of error - e.g. exceptions that may occur inside the scheme adapter. - $ref: '#/components/schemas/transferError' - skipPartyLookup: - description: >- - Set to true if supplying an FSPID for the payee party and no party - resolution is needed. This may be useful if a previous party - resolution has been performed. - type: boolean - errorResponse: - type: object - properties: - statusCode: - type: string - description: Error code as string. - message: - type: string - description: Error message text. - errorTransferResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - transferState - properties: - transferState: - $ref: '#/components/schemas/transferResponse' - transferStatusResponse: - type: object - required: - - transferId - - currentState - - fulfil - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - currentState: - $ref: '#/components/schemas/transferStatus' - fulfil: - type: object - required: - - body - properties: - body: - $ref: '#/components/schemas/TransfersIDPutResponse' - headers: - type: object - transferContinuationAcceptParty: - type: object - required: - - acceptParty - properties: - acceptParty: - type: boolean - enum: - - true - transferContinuationAcceptQuote: - type: object - required: - - acceptQuote - properties: - acceptQuote: - type: boolean - enum: - - true - - false - individualTransfer: - title: IndividualTransfer - type: object - description: Data model for the complex type 'individualTransfer'. - properties: - homeTransactionId: - $ref: '#/components/schemas/CorrelationId' - to: - $ref: '#/components/schemas/Party' - reference: - description: Payer Loan reference - type: string - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - # transactionType: - # $ref: '#/components/schemas/transactionType' - # transferValidStatus: - # description: >- - # Set to true when the transfer request is valid - # type: boolean - note: - $ref: '#/components/schemas/Note' - quoteRequestExtensions: - $ref: '#/components/schemas/ExtensionList' - transferRequestExtensions: - $ref: '#/components/schemas/ExtensionList' - lastError: - description: > - Object representing the error occured during initial validation. - $ref: '#/components/schemas/validationError' - required: - - homeTransactionId - - to - - amountType - - currency - - amount - # - transactionType - # - transferValidStatus - individualTransferAccept: - title: IndividualTransfer - type: object - description: Data model for the 'individualTransfer' while accepting party or quote. - properties: - homeTransactionId: - $ref: '#/components/schemas/CorrelationId' - transactionId: - $ref: '#/components/schemas/CorrelationId' - required: - - homeTransactionId - - transactionId - - bulkTransferRequest: - type: object - required: - - bulkHomeTransactionID - - options - - from - - individualTransfers - properties: - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - options: - $ref: '#/components/schemas/bulkTransferOptions' - from: - $ref: '#/components/schemas/Party' - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: '#/components/schemas/individualTransfer' - extensions: - $ref: '#/components/schemas/ExtensionList' - individualTransferResult: - type: object - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - homeTransactionId: - $ref: '#/components/schemas/CorrelationId' - transactionId: - $ref: '#/components/schemas/CorrelationId' - to: - $ref: '#/components/schemas/Party' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - quoteId: - $ref: '#/components/schemas/CorrelationId' - quoteResponse: - $ref: '#/components/schemas/QuotesIDPutResponse' - fulfil: - $ref: '#/components/schemas/TransfersIDPutResponse' - quoteRequestExtensions: - $ref: '#/components/schemas/ExtensionList' - transferRequestExtensions: - $ref: '#/components/schemas/ExtensionList' - lastError: - description: > - Object representing the last error to occur during a transfer - process. This may be a Mojaloop API error returned from another - entity in the scheme or an object representing other types of error - e.g. exceptions that may occur inside the scheme adapter. - $ref: '#/components/schemas/transferError' - bulkTransferResponse: - type: object - required: - - bulkHomeTransactionID - - from - - bulkExpiration - - individualTransferResults - properties: - bulkHomeTransactionID: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - bulkExpiration: - $ref: '#/components/schemas/DateTime' - currentState: - $ref: '#/components/schemas/bulkTransferStatus' - individualTransferResults: - type: array - maxItems: 1000 - items: - $ref: '#/components/schemas/individualTransferResult' - description: List of individual transfer result in a bulk transfer response. - extensions: - $ref: '#/components/schemas/ExtensionList' - bulkAcceptPartyErrorResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - bulkTansferState - properties: - bulkTransferState: - allOf: - - $ref: '#/components/schemas/bulkTransferContinuationAcceptParty' - - $ref: '#/components/schemas/partyError' - bulkAcceptQuoteErrorResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - bulkTansferState - properties: - bulkTransferState: - allOf: - - $ref: '#/components/schemas/bulkTransferContinuationAcceptQuote' - - $ref: '#/components/schemas/quoteError' - bulkTransferErrorResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - bulkTansferState - properties: - bulkTransferState: - $ref: '#/components/schemas/bulkTransferResponse' - bulkTransferStatus: - type: string - enum: - - ERROR_OCCURRED - - WAITING_FOR_PARTY_ACCEPTANCE - - WAITING_FOR_QUOTE_ACCEPTANCE - - COMPLETED - individualTransferFulfilment: - type: object - description: >- - A Mojaloop API transfer fulfilment for individual transfers in a bulk - transfer - properties: - fulfilment: - $ref: '#/components/schemas/IlpFulfilment' - description: > - Fulfilment of the condition specified with the transaction. - Mandatory if transfer has completed successfully. - extensionList: - $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' - bulkTransferStatusResponse: - type: object - required: - - bulkTransferId - - currentState - - fulfils - properties: - bulkTransferId: - $ref: '#/components/schemas/CorrelationId' - currentState: - $ref: '#/components/schemas/bulkTransferStatus' - fulfils: - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: '#/components/schemas/individualTransferFulfilment' - individualQuote: - title: IndividualQuote - type: object - description: Data model for the complex type 'individualQuote'. - properties: - quoteId: - $ref: '#/components/schemas/CorrelationId' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - extensions: - $ref: '#/components/schemas/ExtensionList' - required: - - quoteId - - to - - amountType - - currency - - transactionType - bulkQuoteRequest: - type: object - required: - - homeTransactionId - - from - - individualQuotes - properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - bulkQuoteId: - $ref: '#/components/schemas/CorrelationId' - from: - $ref: '#/components/schemas/transferParty' - individualQuotes: - description: List of individual quotes in a bulk quote. - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: '#/components/schemas/individualQuote' - extensions: - $ref: '#/components/schemas/ExtensionList' - quoteError: - type: object - description: >- - This object represents a Mojaloop API error received at any time during - the quote process - properties: - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the caller. This is the same as the - actual HTTP status code returned with the response. - mojaloopError: - description: >- - If a quote process results in an error callback during the - asynchronous Mojaloop API exchange, this property will contain the - underlying Mojaloop API error object. - $ref: '#/components/schemas/mojaloopError' - individualQuoteResult: - type: object - properties: - quoteId: - $ref: '#/components/schemas/CorrelationId' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - lastError: - description: > - Object representing the last error to occur during a quote process. - This may be a Mojaloop API error returned from another entity in the - scheme or an object representing other types of error e.g. - exceptions that may occur inside the scheme adapter. - $ref: '#/components/schemas/quoteError' - bulkQuoteResponse: - type: object - required: - - from - - individualQuoteResults - properties: - quoteId: - $ref: '#/components/schemas/CorrelationId' - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - individualQuoteResults: - type: array - maxItems: 1000 - items: - $ref: '#/components/schemas/individualQuoteResult' - description: List of individualQuoteResults in a bulk transfer response. - bulkQuoteErrorResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - bulkTansferState - properties: - bulkQuoteState: - $ref: '#/components/schemas/bulkQuoteResponse' - bulkQuoteStatus: - type: string - enum: - - ERROR_OCCURRED - - COMPLETED - bulkQuoteStatusResponse: - type: object - required: - - bulkQuoteId - - currentState - - individualQuotes - properties: - bulkQuoteId: - $ref: '#/components/schemas/CorrelationId' - currentState: - $ref: '#/components/schemas/bulkQuoteStatus' - individualQuotes: - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: '#/components/schemas/individualQuote' - TransactionScenario: - title: TransactionScenario - type: string - enum: - - DEPOSIT - - WITHDRAWAL - - TRANSFER - - PAYMENT - - REFUND - description: >- - Below are the allowed values for the enumeration. - - - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a - normal scenario, electronic funds are transferred from a Business - account to a Consumer account, and physical cash is given from the - Consumer to the Business User. - - - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. - In a normal scenario, electronic funds are transferred from a Consumer’s - account to a Business account, and physical cash is given from the - Business User to the Consumer. - - - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to - Consumer) transaction. - - - PAYMENT - Usually used for performing a transaction from a Consumer to - a Merchant or Organization, but could also be for a B2B (Business to - Business) payment. The transaction could be online for a purchase in an - Internet store, in a physical store where both the Consumer and Business - User are present, a bill payment, a donation, and so on. - - - REFUND - Used for performing a refund of transaction. - example: DEPOSIT - TransactionSubScenario: - title: TransactionSubScenario - type: string - pattern: '^[A-Z_]{1,32}$' - description: >- - Possible sub-scenario, defined locally within the scheme (UndefinedEnum - Type). - example: LOCALLY_DEFINED_SUBSCENARIO - TransactionInitiator: - title: TransactionInitiator - type: string - enum: - - PAYER - - PAYEE - description: >- - Below are the allowed values for the enumeration. - - - PAYER - Sender of funds is initiating the transaction. The account to - send from is either owned by the Payer or is connected to the Payer in - some way. - - - PAYEE - Recipient of the funds is initiating the transaction by - sending a transaction request. The Payer must approve the transaction, - either automatically by a pre-generated OTP or by pre-approval of the - Payee, or by manually approving in his or her own Device. - example: PAYEE - RefundReason: - title: RefundReason - type: string - minLength: 1 - maxLength: 128 - description: Reason for the refund. - example: Free text indicating reason for the refund. - Refund: - title: Refund - type: object - description: Data model for the complex type Refund. - properties: - originalTransactionId: - $ref: '#/components/schemas/CorrelationId' - refundReason: - $ref: '#/components/schemas/RefundReason' - required: - - originalTransactionId - BalanceOfPayments: - title: BalanceOfPayments - type: string - pattern: '^[1-9]\d{2}$' - description: >- - (BopCode) The API data type - [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String - of 3 characters, consisting of digits only. Negative numbers are not - allowed. A leading zero is not allowed. - example: '123' - TransactionType: - title: TransactionType - type: object - description: Data model for the complex type TransactionType. - properties: - scenario: - $ref: '#/components/schemas/TransactionScenario' - subScenario: - $ref: '#/components/schemas/TransactionSubScenario' - initiator: - $ref: '#/components/schemas/TransactionInitiator' - initiatorType: - $ref: '#/components/schemas/TransactionInitiatorType' - refundInfo: - $ref: '#/components/schemas/Refund' - balanceOfPayments: - $ref: '#/components/schemas/BalanceOfPayments' - required: - - scenario - - initiator - - initiatorType - requestToPayRequest: - type: object - required: - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType - properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - scenario: - $ref: '#/components/schemas/TransactionType' - initiator: - $ref: '#/components/schemas/TransactionInitiator' - initiatorType: - $ref: '#/components/schemas/TransactionInitiatorType' - AuthenticationType: - title: AuthenticationType - type: string - enum: - - OTP - - QRCODE - - U2F - description: |- - Below are the allowed values for the enumeration AuthenticationType. - - OTP - One-time password generated by the Payer FSP. - - QRCODE - QR code used as One Time Password. - - U2F - U2F is a new addition isolated to Thirdparty stream. - example: OTP - TransactionRequestState: - title: TransactionRequestState - type: string - enum: - - RECEIVED - - PENDING - - ACCEPTED - - REJECTED - description: |- - Below are the allowed values for the enumeration. - - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - - PENDING - Payer FSP has sent the transaction request to the Payer. - - ACCEPTED - Payer has approved the transaction. - - REJECTED - Payer has rejected the transaction. - example: RECEIVED - requestToPayResponse: - type: object - required: - - transactionRequestId - - from - - to - - amountType - - currency - - amount - - transactionType - - requestToPayState - properties: - transactionRequestId: - $ref: '#/components/schemas/CorrelationId' - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - scenario: - $ref: '#/components/schemas/TransactionType' - initiator: - $ref: '#/components/schemas/TransactionInitiator' - initiatorType: - $ref: '#/components/schemas/TransactionInitiatorType' - authenticationType: - $ref: '#/components/schemas/AuthenticationType' - requestToPayState: - $ref: '#/components/schemas/TransactionRequestState' - requestToPayTransferRequest: - type: object - required: - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType - properties: - requestToPayTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - scenario: - $ref: '#/components/schemas/TransactionType' - initiator: - $ref: '#/components/schemas/TransactionInitiator' - initiatorType: - $ref: '#/components/schemas/TransactionInitiatorType' - note: - $ref: '#/components/schemas/Note' - requestToPayTransferResponse: - type: object - required: - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - requestToPayTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: '#/components/schemas/transferParty' - to: - $ref: '#/components/schemas/transferParty' - amountType: - $ref: '#/components/schemas/AmountType' - currency: - $ref: '#/components/schemas/Currency' - amount: - $ref: '#/components/schemas/Amount' - transactionType: - $ref: '#/components/schemas/transactionType' - note: - $ref: '#/components/schemas/Note' - currentState: - $ref: '#/components/schemas/transferStatus' - quoteId: - $ref: '#/components/schemas/CorrelationId' - quoteResponse: - $ref: '#/components/schemas/QuotesIDPutResponse' - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This may not - be the same as the FSPID of the entity which owns the end user - account in the case of a FOREX transfer. i.e. it may be a FOREX - gateway. - fulfil: - $ref: '#/components/schemas/TransfersIDPutResponse' - lastError: - description: > - Object representing the last error to occur during a transfer - process. This may be a Mojaloop API error returned from another - entity in the scheme or an object representing other types of error - e.g. exceptions that may occur inside the scheme adapter. - $ref: '#/components/schemas/transferError' - transferContinuationAcceptOTP: - type: object - required: - - acceptOTP - properties: - acceptOTP: - type: boolean - enum: - - true - - false - accountsRequest: - type: array - items: - type: object - required: - - idType - - idValue - - currency - properties: - idType: - $ref: '#/components/schemas/PartyIdType' - idValue: - $ref: '#/components/schemas/PartyIdentifier' - idSubValue: - $ref: '#/components/schemas/PartySubIdOrType' - currency: - $ref: '#/components/schemas/Currency' - accountCreationStatus: - type: array - items: - type: object - required: - - idType - - idValue - properties: - idType: - $ref: '#/components/schemas/PartyIdType' - idValue: - $ref: '#/components/schemas/PartyIdentifier' - idSubValue: - $ref: '#/components/schemas/PartySubIdOrType' - error: - $ref: '#/components/schemas/errorResponse' - accountsCreationState: - type: string - enum: - - ERROR_OCCURRED - - COMPLETED - accountsResponse: - type: object - required: - - accounts - properties: - modelId: - $ref: '#/components/schemas/CorrelationId' - accounts: - $ref: '#/components/schemas/accountsRequest' - response: - $ref: '#/components/schemas/accountCreationStatus' - currentState: - $ref: '#/components/schemas/accountsCreationState' - lastError: - $ref: '#/components/schemas/transferError' - postAccountsResponse: - type: object - required: - - body - properties: - body: - type: object - headers: - type: object - errorAccountsResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - required: - - executionState - properties: - executionState: - $ref: '#/components/schemas/accountsResponse' - PartyIdInfo: - title: PartyIdInfo - type: object - description: Data model for the complex type PartyIdInfo. - properties: - partyIdType: - $ref: '#/components/schemas/PartyIdType' - partyIdentifier: - $ref: '#/components/schemas/PartyIdentifier' - partySubIdOrType: - $ref: '#/components/schemas/PartySubIdOrType' - fspId: - $ref: '#/components/schemas/FspId' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - partyIdType - - partyIdentifier - PartyName: - title: PartyName - type: string - minLength: 1 - maxLength: 128 - description: Name of the Party. Could be a real name or a nickname. - PartyComplexName: - title: PartyComplexName - type: object - description: Data model for the complex type PartyComplexName. - properties: - firstName: - $ref: '#/components/schemas/FirstName' - middleName: - $ref: '#/components/schemas/MiddleName' - lastName: - $ref: '#/components/schemas/LastName' - PartyPersonalInfo: - title: PartyPersonalInfo - type: object - description: Data model for the complex type PartyPersonalInfo. - properties: - complexName: - $ref: '#/components/schemas/PartyComplexName' - dateOfBirth: - $ref: '#/components/schemas/DateOfBirth' - Party: - title: Party - type: object - description: Data model for the complex type Party. - properties: - partyIdInfo: - $ref: '#/components/schemas/PartyIdInfo' - merchantClassificationCode: - $ref: '#/components/schemas/MerchantClassificationCode' - name: - $ref: '#/components/schemas/PartyName' - personalInfo: - $ref: '#/components/schemas/PartyPersonalInfo' - required: - - partyIdInfo - async2SyncCurrentState: - type: string - enum: - - WAITING_FOR_ACTION - - COMPLETED - - ERROR_OCCURRED - partiesByIdResponse: - title: partiesByIdResponse - type: object - description: 'GET /parties/{Type}/{ID} response object' - properties: - party: - properties: - body: - $ref: '#/components/schemas/Party' - description: Information regarding the requested Party. - headers: - type: object - required: - - body - - headers - currentState: - $ref: '#/components/schemas/async2SyncCurrentState' - required: - - party - - currentState - QuotesPostRequest: - title: QuotesPostRequest - type: object - description: The object sent in the POST /quotes request. - properties: - quoteId: - $ref: '#/components/schemas/CorrelationId' - description: >- - Common ID between the FSPs for the quote object, decided by the - Payer FSP. The ID should be reused for resends of the same quote for - a transaction. A new ID should be generated for each new quote for a - transaction. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transactionId: - $ref: '#/components/schemas/CorrelationId' - description: >- - Common ID (decided by the Payer FSP) between the FSPs for the future - transaction object. The actual transaction will be created as part - of a successful transfer process. The ID should be reused for - resends of the same quote for a transaction. A new ID should be - generated for each new quote for a transaction. - example: a8323bc6-c228-4df2-ae82-e5a997baf899 - transactionRequestId: - $ref: '#/components/schemas/CorrelationId' - description: Identifies an optional previously-sent transaction request. - example: a8323bc6-c228-4df2-ae82-e5a997baf890 - payee: - $ref: '#/components/schemas/Party' - description: Information about the Payee in the proposed financial transaction. - payer: - $ref: '#/components/schemas/Party' - description: Information about the Payer in the proposed financial transaction. - amountType: - $ref: '#/components/schemas/AmountType' - description: 'SEND for send amount, RECEIVE for receive amount.' - example: SEND - amount: - $ref: '#/components/schemas/Money' - description: >- - Depending on amountType - If SEND - The amount the Payer would like - to send, that is, the amount that should be withdrawn from the Payer - account including any fees. The amount is updated by each - participating entity in the transaction. If RECEIVE - The amount the - Payee should receive, that is, the amount that should be sent to the - receiver exclusive any fees. The amount is not updated by any of the - participating entities. - fees: - $ref: '#/components/schemas/Money' - description: >- - The fees in the transaction. The fees element should be empty if - fees should be non-disclosed. The fees element should be non-empty - if fees should be disclosed. - transactionType: - $ref: '#/components/schemas/TransactionType' - description: Type of transaction for which the quote is requested. - geoCode: - $ref: '#/components/schemas/GeoCode' - description: >- - Longitude and Latitude of the initiating Party. Can be used to - detect fraud. - note: - $ref: '#/components/schemas/Note' - description: A memo that will be attached to the transaction. - example: Free-text memo. - expiration: - $ref: '#/components/schemas/DateTime' - description: >- - Expiration is optional. It can be set to get a quick failure in case - the peer FSP takes too long to respond. Also, it may be beneficial - for Consumer, Agent, and Merchant to know that their request has a - time limit. - example: '2016-05-24T08:38:08.699-04:00' - extensionList: - $ref: '#/components/schemas/ExtensionList' - description: 'Optional extension, specific to deployment.' - required: - - quoteId - - transactionId - - payee - - payer - - amountType - - amount - - transactionType - quotesPostRequest: - title: QuotesPostRequest - type: object - properties: - fspId: - title: destination DFSP requested to calculate the quote - $ref: '#/components/schemas/FspId' - quotesPostRequest: - $ref: '#/components/schemas/QuotesPostRequest' - required: - - fspId - - quotesPostRequest - quotesPostResponse: - title: QuotesPostResponse - type: object - properties: - quotes: - title: QuotesIDPutResponse - type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' - properties: - body: - type: object - properties: - transferAmount: - $ref: '#/components/schemas/Money' - payeeReceiveAmount: - $ref: '#/components/schemas/Money' - payeeFspFee: - $ref: '#/components/schemas/Money' - payeeFspCommission: - $ref: '#/components/schemas/Money' - expiration: - type: string - description: >- - Date and time until when the quotation is valid and can be - honored when used in the subsequent transaction. - example: '2016-05-24T08:38:08.699-04:00' - geoCode: - $ref: '#/components/schemas/GeoCode' - ilpPacket: - $ref: '#/components/schemas/IlpPacket' - condition: - $ref: '#/components/schemas/IlpCondition' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - transferAmount - - expiration - - ilpPacket - - condition - headers: - type: object - required: - - body - - headers - currentState: - $ref: '#/components/schemas/async2SyncCurrentState' - required: - - quotes - - currentState - errorQuotesResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - TransfersPostRequest: - title: TransfersPostRequest - type: object - description: The object sent in the POST /transfers request. - properties: - transferId: - $ref: '#/components/schemas/CorrelationId' - payeeFsp: - $ref: '#/components/schemas/FspId' - payerFsp: - $ref: '#/components/schemas/FspId' - amount: - $ref: '#/components/schemas/Money' - ilpPacket: - $ref: '#/components/schemas/IlpPacket' - condition: - $ref: '#/components/schemas/IlpCondition' - expiration: - $ref: '#/components/schemas/DateTime' - extensionList: - $ref: '#/components/schemas/ExtensionList' - required: - - transferId - - payeeFsp - - payerFsp - - amount - - ilpPacket - - condition - - expiration - simpleTransfersPostRequest: - title: SimpleTransfersPostRequest - type: object - properties: - fspId: - $ref: '#/components/schemas/FspId' - transfersPostRequest: - $ref: '#/components/schemas/TransfersPostRequest' - required: - - fspId - - transfersPostRequest - simpleTransfersPostResponse: - title: SimpleTransfersPostResponse - type: object - properties: - transfer: - properties: - body: - $ref: '#/components/schemas/TransfersIDPutResponse' - headers: - type: object - required: - - body - - headers - currentState: - $ref: '#/components/schemas/async2SyncCurrentState' - required: - - transfer - - currentState - errorSimpleTransfersResponse: - allOf: - - $ref: '#/components/schemas/errorResponse' - - type: object - responses: - transferSuccess: - description: Transfer completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/transferResponse' - transferBadRequest: - description: 'Malformed or missing required body, headers or parameters' - content: - application/json: - schema: - $ref: '#/components/schemas/errorTransferResponse' - transferServerError: - description: An error occurred processing the transfer - content: - application/json: - schema: - $ref: '#/components/schemas/errorTransferResponse' - transferTimeout: - description: Timeout occurred processing the transfer - content: - application/json: - schema: - $ref: '#/components/schemas/errorTransferResponse' - bulkTransferSuccess: - description: Bulk transfer completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/bulkTransferResponse' - bulkTransferAccepted: - description: Bulk transfer accepted successfully - bulkPartyLookupResponse: - description: Bulk party lookup completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/bulkPartyLookupResponse' - bulkTransferPutBadRequest: - description: 'Malformed or missing required body, headers or parameters' - content: - application/json: - schema: - oneOf: - - $ref: '#/components/schemas/bulkAcceptPartyErrorResponse' - - $ref: '#/components/schemas/bulkAcceptQuoteErrorResponse' - bulkTransferBadRequest: - description: 'Malformed or missing required body, headers or parameters' - content: - application/json: - schema: - $ref: '#/components/schemas/bulkTransferErrorResponse' - bulkTransferServerError: - description: An error occurred processing the bulk transfer - content: - application/json: - schema: - $ref: '#/components/schemas/bulkTransferErrorResponse' - bulkTransferTimeout: - description: Timeout occurred processing the bulk transfer - content: - application/json: - schema: - $ref: '#/components/schemas/bulkTransferErrorResponse' - bulkQuoteSuccess: - description: Bulk quote completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteResponse' - bulkQuoteBadRequest: - description: 'Malformed or missing required body, headers or parameters' - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteErrorResponse' - bulkQuoteServerError: - description: An error occurred processing the bulk quote - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteErrorResponse' - bulkQuoteTimeout: - description: Timeout occurred processing the bulk quote - content: - application/json: - schema: - $ref: '#/components/schemas/bulkQuoteErrorResponse' - requestToPaySuccess: - description: Request to Pay completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/requestToPayResponse' - requestToPayTransferSuccess: - description: Transfer completed successfully - content: - application/json: - schema: - $ref: '#/components/schemas/requestToPayTransferResponse' - requestToPayTransferBadRequest: - description: 'Malformed or missing required body, headers or parameters' - content: - application/json: - schema: - $ref: '#/components/schemas/errorTransferResponse' - accountsCreationCompleted: - description: Accounts creation completed - content: - application/json: - schema: - $ref: '#/components/schemas/accountsResponse' - accountsCreationError: - description: An error occurred creating accounts - content: - application/json: - schema: - $ref: '#/components/schemas/errorAccountsResponse' - accountsCreationTimeout: - description: Timeout occurred creating accounts - content: - application/json: - schema: - $ref: '#/components/schemas/errorAccountsResponse' - partiesByIdSuccess: - description: PartiesByIdSuccess - content: - application/json: - schema: - $ref: '#/components/schemas/partiesByIdResponse' - partiesByIdError404: - description: PartiesByIdError404 - content: - application/json: - schema: - type: object - properties: - errorInformation: - $ref: '#/components/schemas/ErrorInformation' - quotesPostSuccess: - description: sync response from POST /quotes - content: - application/json: - schema: - $ref: '#/components/schemas/quotesPostResponse' - quotesServerError: - description: An error occurred processing the quotes request - content: - application/json: - schema: - $ref: '#/components/schemas/errorQuotesResponse' - simpleTransfersPostSuccess: - description: sync response from POST /simpleTransfers - content: - application/json: - schema: - $ref: '#/components/schemas/simpleTransfersPostResponse' - simpleTransfersServerError: - description: An error occurred processing the simple transfers request - content: - application/json: - schema: - $ref: '#/components/schemas/errorSimpleTransfersResponse' - parameters: - transferId: - name: transferId - in: path - required: true - schema: - $ref: '#/components/schemas/CorrelationId' - description: >- - Identifier of the transfer to continue as returned in the response to a - `POST /transfers` request. - bulkTransferId: - name: bulkTransferId - in: path - required: true - schema: - $ref: '#/components/schemas/CorrelationId' - description: >- - Identifier of the bulk transfer to continue as returned in the response - to a `POST /bulkTransfers` request. - bulkQuoteId: - name: bulkQuoteId - in: path - required: true - schema: - $ref: '#/components/schemas/CorrelationId' - description: >- - Identifier of the bulk transfer to continue as returned in the response - to a `POST /bulkTransfers` request. - requestToPayTransactionId: - name: requestToPayTransactionId - in: path - required: true - schema: - $ref: '#/components/schemas/CorrelationId' - description: >- - Identifier of the merchant request to pay transfer to continue as - returned in the response to a `POST /requestToPayTransfer` request. - Type: - name: Type - in: path - required: true - schema: - type: string - description: 'The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.' - ID: - name: ID - in: path - required: true - schema: - type: string - description: The identifier value. - SubId: - name: SubId - in: path - required: true - schema: - type: string - description: >- - A sub-identifier of the party identifier, or a sub-type of the party - identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. diff --git a/src/OutboundServer/api_interfaces/index.d.ts b/src/OutboundServer/api_interfaces/index.d.ts deleted file mode 100644 index aae4ef840..000000000 --- a/src/OutboundServer/api_interfaces/index.d.ts +++ /dev/null @@ -1,101 +0,0 @@ -import { components } from './openapi' -export * as openapi from './openapi' -export declare namespace Schemas { - type TransactionInitiatorType = components['schemas']['TransactionInitiatorType']; - type PartyIdType = components['schemas']['PartyIdType']; - type PartyIdentifier = components['schemas']['PartyIdentifier']; - type PartySubIdOrType = components['schemas']['PartySubIdOrType']; - type Name = components['schemas']['Name']; - type FirstName = components['schemas']['FirstName']; - type MiddleName = components['schemas']['MiddleName']; - type LastName = components['schemas']['LastName']; - type DateOfBirth = components['schemas']['DateOfBirth']; - type MerchantClassificationCode = components['schemas']['MerchantClassificationCode']; - type FspId = components['schemas']['FspId']; - type ExtensionKey = components['schemas']['ExtensionKey']; - type ExtensionValue = components['schemas']['ExtensionValue']; - type Extension = components['schemas']['Extension']; - type extensionListEmptiable = components['schemas']['extensionListEmptiable']; - type transferParty = components['schemas']['transferParty']; - type AmountType = components['schemas']['AmountType']; - type Currency = components['schemas']['Currency']; - type Amount = components['schemas']['Amount']; - type transactionType = components['schemas']['transactionType']; - type Note = components['schemas']['Note']; - type transferRequest = components['schemas']['transferRequest']; - type CorrelationId = components['schemas']['CorrelationId']; - type transferStatus = components['schemas']['transferStatus']; - type Money = components['schemas']['Money']; - type DateTime = components['schemas']['DateTime']; - type Latitude = components['schemas']['Latitude']; - type Longitude = components['schemas']['Longitude']; - type GeoCode = components['schemas']['GeoCode']; - type IlpPacket = components['schemas']['IlpPacket']; - type IlpCondition = components['schemas']['IlpCondition']; - type ExtensionList = components['schemas']['ExtensionList']; - type QuotesIDPutResponse = components['schemas']['QuotesIDPutResponse']; - type IlpFulfilment = components['schemas']['IlpFulfilment']; - type TransferState = components['schemas']['TransferState']; - type TransfersIDPutResponse = components['schemas']['TransfersIDPutResponse']; - type ErrorCode = components['schemas']['ErrorCode']; - type ErrorDescription = components['schemas']['ErrorDescription']; - type ErrorInformation = components['schemas']['ErrorInformation']; - type mojaloopError = components['schemas']['mojaloopError']; - type transferError = components['schemas']['transferError']; - type transferResponse = components['schemas']['transferResponse']; - type errorResponse = components['schemas']['errorResponse']; - type errorTransferResponse = components['schemas']['errorTransferResponse']; - type transferStatusResponse = components['schemas']['transferStatusResponse']; - type transferContinuationAcceptParty = components['schemas']['transferContinuationAcceptParty']; - type transferContinuationAcceptQuote = components['schemas']['transferContinuationAcceptQuote']; - type individualTransfer = components['schemas']['individualTransfer']; - type bulkTransferRequest = components['schemas']['bulkTransferRequest']; - type individualTransferResult = components['schemas']['individualTransferResult']; - type bulkTransferResponse = components['schemas']['bulkTransferResponse']; - type bulkTransferErrorResponse = components['schemas']['bulkTransferErrorResponse']; - type bulkTransferStatus = components['schemas']['bulkTransferStatus']; - type individualTransferFulfilment = components['schemas']['individualTransferFulfilment']; - type bulkTransferStatusResponse = components['schemas']['bulkTransferStatusResponse']; - type individualQuote = components['schemas']['individualQuote']; - type bulkQuoteRequest = components['schemas']['bulkQuoteRequest']; - type quoteError = components['schemas']['quoteError']; - type individualQuoteResult = components['schemas']['individualQuoteResult']; - type bulkQuoteResponse = components['schemas']['bulkQuoteResponse']; - type bulkQuoteErrorResponse = components['schemas']['bulkQuoteErrorResponse']; - type bulkQuoteStatus = components['schemas']['bulkQuoteStatus']; - type bulkQuoteStatusResponse = components['schemas']['bulkQuoteStatusResponse']; - type TransactionScenario = components['schemas']['TransactionScenario']; - type TransactionSubScenario = components['schemas']['TransactionSubScenario']; - type TransactionInitiator = components['schemas']['TransactionInitiator']; - type RefundReason = components['schemas']['RefundReason']; - type Refund = components['schemas']['Refund']; - type BalanceOfPayments = components['schemas']['BalanceOfPayments']; - type TransactionType = components['schemas']['TransactionType']; - type requestToPayRequest = components['schemas']['requestToPayRequest']; - type AuthenticationType = components['schemas']['AuthenticationType']; - type TransactionRequestState = components['schemas']['TransactionRequestState']; - type requestToPayResponse = components['schemas']['requestToPayResponse']; - type requestToPayTransferRequest = components['schemas']['requestToPayTransferRequest']; - type requestToPayTransferResponse = components['schemas']['requestToPayTransferResponse']; - type transferContinuationAcceptOTP = components['schemas']['transferContinuationAcceptOTP']; - type accountsRequest = components['schemas']['accountsRequest']; - type accountCreationStatus = components['schemas']['accountCreationStatus']; - type accountsCreationState = components['schemas']['accountsCreationState']; - type accountsResponse = components['schemas']['accountsResponse']; - type errorAccountsResponse = components['schemas']['errorAccountsResponse']; - type PartyIdInfo = components['schemas']['PartyIdInfo']; - type PartyName = components['schemas']['PartyName']; - type PartyComplexName = components['schemas']['PartyComplexName']; - type PartyPersonalInfo = components['schemas']['PartyPersonalInfo']; - type Party = components['schemas']['Party']; - type async2SyncCurrentState = components['schemas']['async2SyncCurrentState']; - type partiesByIdResponse = components['schemas']['partiesByIdResponse']; - type QuotesPostRequest = components['schemas']['QuotesPostRequest']; - type quotesPostRequest = components['schemas']['quotesPostRequest']; - type quotesPostResponse = components['schemas']['quotesPostResponse']; - type errorQuotesResponse = components['schemas']['errorQuotesResponse']; - type TransfersPostRequest = components['schemas']['TransfersPostRequest']; - type simpleTransfersPostRequest = components['schemas']['simpleTransfersPostRequest']; - type simpleTransfersPostResponse = components['schemas']['simpleTransfersPostResponse']; - type errorSimpleTransfersResponse = components['schemas']['errorSimpleTransfersResponse']; -} diff --git a/src/OutboundServer/api_interfaces/openapi.d.ts b/src/OutboundServer/api_interfaces/openapi.d.ts deleted file mode 100644 index 5a90b87db..000000000 --- a/src/OutboundServer/api_interfaces/openapi.d.ts +++ /dev/null @@ -1,1388 +0,0 @@ -/** - * This file was auto-generated by openapi-typescript. - * Do not make direct changes to the file. - */ - -export interface paths { - "/": { - /** This endpoint allows a user of the SDK scheme adapter to check the outbound transfers service is listening. */ - get: { - responses: { - /** Returns empty body if the scheme adapter outbound transfers service is running. */ - 200: unknown; - }; - }; - }; - "/transfers": { - /** - * The HTTP request `POST /transfers` is used to request the movement of funds from payer DFSP to payee DFSP. - * The underlying Mojaloop API has three stages for money transfer: - * - * 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - * 2. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - * 3. Transfer. The enactment of the previously agreed "contract" - * - * This method has several modes of operation. - * - If the configuration variables `AUTO_ACCEPT_PARTIES` is set to `"false"` this method will terminate when the payee party has been resolved and return the payee party details. - * If the payee wishes to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the payee party) is required to continue the operation. - * The scheme adapter will then proceed with quotation stage... - * - * - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` this method will terminate and return the quotation when it has been received from the payee DFSP. - * If the payee wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - * The scheme adapter will then proceed with the transfer state. - * - * If the configuration variables `AUTO_ACCEPT_PARTIES` and `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block until all three transfer stages are complete. Upon completion it will return the entire set of transfer details received during the operation. - * - * Combinations of settings for `AUTO_ACCEPT...` configuration variables allow the scheme adapter user to decide which mode of operation best suits their use cases. i.e. the scheme adapter can be configured to "break" the three stage transfer at these points in order to execute backend logic such as party verification, quoted fees assessments etc... - */ - post: { - responses: { - 200: components["responses"]["transferSuccess"]; - 400: components["responses"]["transferBadRequest"]; - 500: components["responses"]["transferServerError"]; - 504: components["responses"]["transferTimeout"]; - }; - /** Transfer request body */ - requestBody: { - content: { - "application/json": components["schemas"]["transferRequest"]; - }; - }; - }; - }; - "/transfers/{transferId}": { - /** The HTTP request `GET /transfers/{transferId}` is used to get information regarding a transfer created or requested earlier. The `{transferId}` in the URI should contain the `transferId` that was used for the creation of the transfer. */ - get: { - parameters: { - path: { - /** Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. */ - transferId: components["parameters"]["transferId"]; - }; - }; - responses: { - /** Transfer information successfully retrieved */ - 200: { - content: { - "application/json": components["schemas"]["transferStatusResponse"]; - }; - }; - /** An error occurred processing the transfer */ - 500: { - content: { - "application/json": components["schemas"]["errorResponse"]; - }; - }; - }; - }; - /** - * The HTTP request `PUT /transfers/{transferId}` is used to continue a transfer initiated via the `POST /transfers` method that has halted after party lookup and/or quotation stage. - * - * The request body should contain either the "acceptParty" or "acceptQuote" property set to `true` as required to continue the transfer. - * - * See the description of the `POST /transfers` HTTP method for more information on modes of transfer. - */ - put: { - parameters: { - path: { - /** Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. */ - transferId: components["parameters"]["transferId"]; - }; - }; - responses: { - 200: components["responses"]["transferSuccess"]; - 500: components["responses"]["transferServerError"]; - 504: components["responses"]["transferTimeout"]; - }; - requestBody: { - content: { - "application/json": - | components["schemas"]["transferContinuationAcceptParty"] - | components["schemas"]["transferContinuationAcceptQuote"]; - }; - }; - }; - }; - "/bulkTransfers": { - /** The HTTP request `POST /bulkTransfers` is used to request the movement of funds from payer DFSP to payees' DFSP. */ - post: { - responses: { - 200: components["responses"]["bulkTransferSuccess"]; - 400: components["responses"]["bulkTransferBadRequest"]; - 500: components["responses"]["bulkTransferServerError"]; - 504: components["responses"]["bulkTransferTimeout"]; - }; - /** Bulk transfer request body */ - requestBody: { - content: { - "application/json": components["schemas"]["bulkTransferRequest"]; - }; - }; - }; - }; - "/bulkTransfers/{bulkTransferId}": { - /** The HTTP request `GET /bulkTransfers/{bulktTransferId}` is used to get information regarding a bulk transfer created or requested earlier. The `{bulkTransferId}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. */ - get: { - parameters: { - path: { - /** Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ - bulkTransferId: components["parameters"]["bulkTransferId"]; - }; - }; - responses: { - /** Bulk transfer information successfully retrieved */ - 200: { - content: { - "application/json": components["schemas"]["bulkTransferStatusResponse"]; - }; - }; - /** An error occurred processing the bulk transfer */ - 500: { - content: { - "application/json": components["schemas"]["errorResponse"]; - }; - }; - }; - }; - }; - "/bulkQuotes": { - /** The HTTP request `POST /bulkQuotes` is used to request a bulk quote to fascilitate funds transfer from payer DFSP to payees' DFSP. */ - post: { - responses: { - 200: components["responses"]["bulkQuoteSuccess"]; - 400: components["responses"]["bulkQuoteBadRequest"]; - 500: components["responses"]["bulkQuoteServerError"]; - 504: components["responses"]["bulkQuoteTimeout"]; - }; - /** Bulk quote request body */ - requestBody: { - content: { - "application/json": components["schemas"]["bulkQuoteRequest"]; - }; - }; - }; - }; - "/bulkQuotes/{bulkQuoteId}": { - /** The HTTP request `GET /bulkQuotes/{bulktQuoteId}` is used to get information regarding a bulk quote created or requested earlier. The `{bulkQuoteId}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. */ - get: { - parameters: { - path: { - /** Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ - bulkQuoteId: components["parameters"]["bulkQuoteId"]; - }; - }; - responses: { - /** Bulk quote information successfully retrieved */ - 200: { - content: { - "application/json": components["schemas"]["bulkQuoteStatusResponse"]; - }; - }; - /** An error occurred processing the bulk quote */ - 500: { - content: { - "application/json": components["schemas"]["errorResponse"]; - }; - }; - }; - }; - }; - "/requestToPay": { - /** - * The HTTP request `POST /requestToPay` is used to support Pull Funds pattern where in a receiver can request for funds from the Sender. - * The underlying API has two stages: - * - * 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - * 2. Transaction Request. This request enables a Payee to request Payer to send electronic funds to the Payee. - */ - post: { - responses: { - 200: components["responses"]["requestToPaySuccess"]; - }; - /** RequestToPay request body */ - requestBody: { - content: { - "application/json": components["schemas"]["requestToPayRequest"]; - }; - }; - }; - }; - "/requestToPayTransfer": { - /** - * The HTTP request `POST /requestToPayTransfer` is used to request the movement of funds from payer DFSP to payee DFSP. - * The underlying Mojaloop API has three stages for money transfer: - * - * 1. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - * 2. Authorization. This facilitates getting OTP from payee DFSP. - * 3. Transfer. The enactment of the previously agreed "contract" - * - * This method has several modes of operation. - * - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` this method will terminate and return the quotation when it has been received from the payee DFSP. - * If the payee wished to proceed with the otp, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - * The scheme adapter will then proceed with the transfer state. - * - * - If the configuration variable `AUTO_ACCEPT_OTP` is set to `"false"` this method will terminate and return the otp when it has been received from the payee DFSP. - * If the payer wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - * The scheme adapter will then proceed with the transfer state. - * - * If the configuration variables `AUTO_ACCEPT_PARTIES` and `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block until all three transfer stages are complete. Upon completion it will return the entire set of transfer details received during the operation. - * - * Combinations of settings for `AUTO_ACCEPT...` configuration variables allow the scheme adapter user to decide which mode of operation best suits their use cases. i.e. the scheme adapter can be configured to "break" the three stage transfer at these points in order to execute backend logic such as party verification, quoted fees assessments etc... - */ - post: { - responses: { - 200: components["responses"]["requestToPayTransferSuccess"]; - 400: components["responses"]["requestToPayTransferBadRequest"]; - 500: components["responses"]["transferServerError"]; - 504: components["responses"]["transferTimeout"]; - }; - /** Request To Pay Transfer request body */ - requestBody: { - content: { - "application/json": components["schemas"]["requestToPayTransferRequest"]; - }; - }; - }; - }; - "/requestToPayTransfer/{requestToPayTransactionId}": { - /** - * The HTTP request `PUT /transfers/{transferId}` is used to continue a transfer initiated via the `POST /transfers` method that has halted after party lookup and/or quotation stage. - * - * The request body should contain either the "acceptOTP" or "acceptQuote" property set to `true` as required to continue the transfer. - * - * See the description of the `POST /requestToPayTransfer` HTTP method for more information on modes of transfer. - */ - put: { - parameters: { - path: { - /** Identifier of the merchant request to pay transfer to continue as returned in the response to a `POST /requestToPayTransfer` request. */ - requestToPayTransactionId: components["parameters"]["requestToPayTransactionId"]; - }; - }; - responses: { - 200: components["responses"]["transferSuccess"]; - 500: components["responses"]["transferServerError"]; - 504: components["responses"]["transferTimeout"]; - }; - requestBody: { - content: { - "application/json": - | components["schemas"]["transferContinuationAcceptQuote"] - | components["schemas"]["transferContinuationAcceptOTP"]; - }; - }; - }; - }; - "/accounts": { - /** - * The HTTP request `POST /accounts` is used to create account information on the Account Lookup Service (ALS) regarding the provided list of identities. - * - * Caller DFSP is used as the account source FSP information - */ - post: { - responses: { - 200: components["responses"]["accountsCreationCompleted"]; - 400: components["responses"]["accountsCreationError"]; - 500: components["responses"]["accountsCreationError"]; - 504: components["responses"]["accountsCreationTimeout"]; - }; - /** Identities list request body */ - requestBody: { - content: { - "application/json": components["schemas"]["accountsRequest"]; - }; - }; - }; - }; - "/parties/{Type}/{ID}": { - /** The HTTP request GET /parties// (or GET /parties///) is used to lookup information regarding the requested Party, defined by , and optionally (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1). */ - get: operations["PartiesByTypeAndID"]; - parameters: { - path: { - /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: components["parameters"]["Type"]; - /** The identifier value. */ - ID: components["parameters"]["ID"]; - }; - }; - }; - "/parties/{Type}/{ID}/{SubId}": { - /** The HTTP request GET /parties// (or GET /parties///) is used to lookup information regarding the requested Party, defined by , and optionally (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1). */ - get: operations["PartiesSubIdByTypeAndID"]; - parameters: { - path: { - /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: components["parameters"]["Type"]; - /** The identifier value. */ - ID: components["parameters"]["ID"]; - /** A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ - SubId: components["parameters"]["SubId"]; - }; - }; - }; - "/quotes": { - /** is used to request quotes from other DFSP */ - post: operations["QuotesPost"]; - }; - "/simpleTransfers": { - /** is used to request a transfer */ - post: operations["SimpleTransfersPost"]; - }; -} - -export interface components { - schemas: { - /** - * Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - */ - TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - A Consent represents an agreement between a PISP, a Customer and - * a DFSP which allows the PISP permission to perform actions on behalf of the - * customer. A Consent has an authoritative source: either the DFSP who issued - * the Consent, or an Auth Service which administers the Consent. - * - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP, - * a DFSP, and a specific Customer's account at the DFSP. The content of the link - * is created by the DFSP at the time when it gives permission to the PISP for - * specific access to a given account. - */ - PartyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** Identifier of the Party. */ - PartyIdentifier: string; - /** Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - PartySubIdOrType: string; - /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - Name: string; - /** First name of the Party (Name Type). */ - FirstName: string; - /** Middle name of the Party (Name Type). */ - MiddleName: string; - /** Last name of the Party (Name Type). */ - LastName: string; - /** Date of Birth of the Party. */ - DateOfBirth: string; - /** A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. */ - MerchantClassificationCode: string; - /** FSP identifier. */ - FspId: string; - /** Extension key. */ - ExtensionKey: string; - /** Extension value. */ - ExtensionValue: string; - /** Data model for the complex type Extension. */ - Extension: { - key: components["schemas"]["ExtensionKey"]; - value: components["schemas"]["ExtensionValue"]; - }; - extensionListEmptiable: components["schemas"]["Extension"][]; - transferParty: { - type?: components["schemas"]["TransactionInitiatorType"]; - idType: components["schemas"]["PartyIdType"]; - idValue: components["schemas"]["PartyIdentifier"]; - idSubValue?: components["schemas"]["PartySubIdOrType"]; - displayName?: components["schemas"]["Name"]; - firstName?: components["schemas"]["FirstName"]; - middleName?: components["schemas"]["MiddleName"]; - lastName?: components["schemas"]["LastName"]; - dateOfBirth?: components["schemas"]["DateOfBirth"]; - merchantClassificationCode?: components["schemas"]["MerchantClassificationCode"]; - fspId?: components["schemas"]["FspId"]; - extensionList?: components["schemas"]["extensionListEmptiable"]; - }; - /** - * Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - */ - AmountType: "SEND" | "RECEIVE"; - /** The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - Currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "XTS" - | "XXX" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - Amount: string; - /** Type of transaction. */ - transactionType: "TRANSFER"; - /** Memo assigned to transaction. */ - Note: string; - transferRequest: { - /** Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: components["schemas"]["transferParty"]; - to: components["schemas"]["transferParty"]; - amountType: components["schemas"]["AmountType"]; - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; - transactionType: components["schemas"]["transactionType"]; - note?: components["schemas"]["Note"]; - quoteRequestExtensions?: components["schemas"]["extensionListEmptiable"]; - transferRequestExtensions?: components["schemas"]["extensionListEmptiable"]; - /** Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - /** Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - CorrelationId: string; - transferStatus: - | "ERROR_OCCURRED" - | "WAITING_FOR_PARTY_ACCEPTANCE" - | "WAITING_FOR_QUOTE_ACCEPTANCE" - | "COMPLETED"; - /** Data model for the complex type Money. */ - Money: { - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; - }; - /** The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). */ - DateTime: string; - /** The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - Latitude: string; - /** The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - Longitude: string; - /** Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - GeoCode: { - latitude: components["schemas"]["Latitude"]; - longitude: components["schemas"]["Longitude"]; - }; - /** Information for recipient (transport layer information). */ - IlpPacket: string; - /** Condition that must be attached to the transfer by the Payer. */ - IlpCondition: string; - /** Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - ExtensionList: { - /** Number of Extension elements. */ - extension: components["schemas"]["Extension"][]; - }; - /** The object sent in the PUT /quotes/{ID} callback. */ - QuotesIDPutResponse: { - transferAmount: components["schemas"]["Money"]; - payeeReceiveAmount?: components["schemas"]["Money"]; - payeeFspFee?: components["schemas"]["Money"]; - payeeFspCommission?: components["schemas"]["Money"]; - expiration: components["schemas"]["DateTime"]; - geoCode?: components["schemas"]["GeoCode"]; - ilpPacket: components["schemas"]["IlpPacket"]; - condition: components["schemas"]["IlpCondition"]; - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** Fulfilment that must be attached to the transfer by the Payee. */ - IlpFulfilment: string; - /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Next ledger has received the transfer. - * - RESERVED - Next ledger has reserved the transfer. - * - COMMITTED - Next ledger has successfully performed the transfer. - * - ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer. - */ - TransferState: "RECEIVED" | "RESERVED" | "COMMITTED" | "ABORTED"; - /** The object sent in the PUT /transfers/{ID} callback. */ - TransfersIDPutResponse: { - fulfilment?: components["schemas"]["IlpFulfilment"]; - completedTimestamp?: components["schemas"]["DateTime"]; - transferState: components["schemas"]["TransferState"]; - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - ErrorCode: string; - /** Error description string. */ - ErrorDescription: string; - /** Data model for the complex type ErrorInformation. */ - ErrorInformation: { - errorCode: components["schemas"]["ErrorCode"]; - errorDescription: components["schemas"]["ErrorDescription"]; - extensionList?: components["schemas"]["ExtensionList"]; - }; - mojaloopError: { - errorInformation?: components["schemas"]["ErrorInformation"]; - }; - /** This object represents a Mojaloop API error received at any time during the transfer process */ - transferError: { - /** The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: components["schemas"]["mojaloopError"]; - }; - transferResponse: { - transferId?: components["schemas"]["CorrelationId"]; - /** Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: components["schemas"]["transferParty"]; - to: components["schemas"]["transferParty"]; - amountType: components["schemas"]["AmountType"]; - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; - transactionType: components["schemas"]["transactionType"]; - note?: components["schemas"]["Note"]; - currentState?: components["schemas"]["transferStatus"]; - quoteId?: components["schemas"]["CorrelationId"]; - getPartiesResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - quoteResponse?: { - body: components["schemas"]["QuotesIDPutResponse"]; - headers?: { [key: string]: unknown }; - }; - /** FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: { - body: components["schemas"]["TransfersIDPutResponse"]; - headers?: { [key: string]: unknown }; - }; - /** Object representing the last error to occur during a transfer process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter. */ - lastError?: components["schemas"]["transferError"]; - /** Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. */ - skipPartyLookup?: boolean; - }; - errorResponse: { - /** Error code as string. */ - statusCode?: string; - /** Error message text. */ - message?: string; - }; - errorTransferResponse: components["schemas"]["errorResponse"] & { - transferState: components["schemas"]["transferResponse"]; - }; - transferStatusResponse: { - transferId: components["schemas"]["CorrelationId"]; - currentState: components["schemas"]["transferStatus"]; - fulfil: { - body: components["schemas"]["TransfersIDPutResponse"]; - headers?: { [key: string]: unknown }; - }; - }; - transferContinuationAcceptParty: { - acceptParty: true; - }; - transferContinuationAcceptQuote: { - acceptQuote: true | false; - }; - /** Data model for the complex type 'individualTransfer'. */ - individualTransfer: { - transferId: components["schemas"]["CorrelationId"]; - to: components["schemas"]["transferParty"]; - amountType: components["schemas"]["AmountType"]; - currency: components["schemas"]["Currency"]; - amount?: components["schemas"]["Amount"]; - transactionType: components["schemas"]["transactionType"]; - note?: components["schemas"]["Note"]; - extensions?: components["schemas"]["ExtensionList"]; - }; - bulkTransferRequest: { - /** Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - bulkTransferId?: components["schemas"]["CorrelationId"]; - from: components["schemas"]["transferParty"]; - /** List of individual transfers in a bulk transfer. */ - individualTransfers: components["schemas"]["individualTransfer"][]; - extensions?: components["schemas"]["ExtensionList"]; - }; - individualTransferResult: { - transferId?: components["schemas"]["CorrelationId"]; - to?: components["schemas"]["transferParty"]; - amountType?: components["schemas"]["AmountType"]; - currency?: components["schemas"]["Currency"]; - amount?: components["schemas"]["Amount"]; - transactionType?: components["schemas"]["transactionType"]; - note?: components["schemas"]["Note"]; - quoteId?: components["schemas"]["CorrelationId"]; - quoteResponse?: components["schemas"]["QuotesIDPutResponse"]; - /** FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: components["schemas"]["TransfersIDPutResponse"]; - /** Object representing the last error to occur during a transfer process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter. */ - lastError?: components["schemas"]["transferError"]; - }; - bulkTransferResponse: { - transferId?: components["schemas"]["CorrelationId"]; - from: components["schemas"]["transferParty"]; - /** List of individual transfer result in a bulk transfer response. */ - individualTransferResults: components["schemas"]["individualTransferResult"][]; - }; - bulkTransferErrorResponse: components["schemas"]["errorResponse"] & - ({ - bulkTransferState?: components["schemas"]["bulkTransferResponse"]; - } & { - bulkTansferState: unknown; - }); - bulkTransferStatus: "ERROR_OCCURRED" | "COMPLETED"; - /** A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer */ - individualTransferFulfilment: { - /** Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully. */ - fulfilment?: components["schemas"]["IlpFulfilment"]; - /** Optional extension, specific to deployment. */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - bulkTransferStatusResponse: { - bulkTransferId: components["schemas"]["CorrelationId"]; - currentState: components["schemas"]["bulkTransferStatus"]; - fulfils: components["schemas"]["individualTransferFulfilment"][]; - }; - /** Data model for the complex type 'individualQuote'. */ - individualQuote: { - quoteId: components["schemas"]["CorrelationId"]; - to: components["schemas"]["transferParty"]; - amountType: components["schemas"]["AmountType"]; - currency: components["schemas"]["Currency"]; - amount?: components["schemas"]["Amount"]; - transactionType: components["schemas"]["transactionType"]; - note?: components["schemas"]["Note"]; - extensions?: components["schemas"]["ExtensionList"]; - }; - bulkQuoteRequest: { - /** Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - bulkQuoteId?: components["schemas"]["CorrelationId"]; - from: components["schemas"]["transferParty"]; - /** List of individual quotes in a bulk quote. */ - individualQuotes: components["schemas"]["individualQuote"][]; - extensions?: components["schemas"]["ExtensionList"]; - }; - /** This object represents a Mojaloop API error received at any time during the quote process */ - quoteError: { - /** The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response. */ - httpStatusCode?: number; - /** If a quote process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object. */ - mojaloopError?: components["schemas"]["mojaloopError"]; - }; - individualQuoteResult: { - quoteId?: components["schemas"]["CorrelationId"]; - to?: components["schemas"]["transferParty"]; - amountType?: components["schemas"]["AmountType"]; - currency?: components["schemas"]["Currency"]; - amount?: components["schemas"]["Amount"]; - transactionType?: components["schemas"]["transactionType"]; - note?: components["schemas"]["Note"]; - /** Object representing the last error to occur during a quote process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter. */ - lastError?: components["schemas"]["quoteError"]; - }; - bulkQuoteResponse: { - quoteId?: components["schemas"]["CorrelationId"]; - /** Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId?: string; - from: components["schemas"]["transferParty"]; - /** List of individualQuoteResults in a bulk transfer response. */ - individualQuoteResults: components["schemas"]["individualQuoteResult"][]; - }; - bulkQuoteErrorResponse: components["schemas"]["errorResponse"] & - ({ - bulkQuoteState?: components["schemas"]["bulkQuoteResponse"]; - } & { - bulkTansferState: unknown; - }); - bulkQuoteStatus: "ERROR_OCCURRED" | "COMPLETED"; - bulkQuoteStatusResponse: { - bulkQuoteId: components["schemas"]["CorrelationId"]; - currentState: components["schemas"]["bulkQuoteStatus"]; - individualQuotes: components["schemas"]["individualQuote"][]; - }; - /** - * Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - */ - TransactionScenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). */ - TransactionSubScenario: string; - /** - * Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - */ - TransactionInitiator: "PAYER" | "PAYEE"; - /** Reason for the refund. */ - RefundReason: string; - /** Data model for the complex type Refund. */ - Refund: { - originalTransactionId: components["schemas"]["CorrelationId"]; - refundReason?: components["schemas"]["RefundReason"]; - }; - /** (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. */ - BalanceOfPayments: string; - /** Data model for the complex type TransactionType. */ - TransactionType: { - scenario: components["schemas"]["TransactionScenario"]; - subScenario?: components["schemas"]["TransactionSubScenario"]; - initiator: components["schemas"]["TransactionInitiator"]; - initiatorType: components["schemas"]["TransactionInitiatorType"]; - refundInfo?: components["schemas"]["Refund"]; - balanceOfPayments?: components["schemas"]["BalanceOfPayments"]; - }; - requestToPayRequest: { - /** Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - homeTransactionId: string; - from: components["schemas"]["transferParty"]; - to: components["schemas"]["transferParty"]; - amountType: components["schemas"]["AmountType"]; - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; - scenario: components["schemas"]["TransactionType"]; - initiator: components["schemas"]["TransactionInitiator"]; - initiatorType: components["schemas"]["TransactionInitiatorType"]; - }; - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - AuthenticationType: "OTP" | "QRCODE" | "U2F"; - /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - */ - TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - requestToPayResponse: { - transactionRequestId: components["schemas"]["CorrelationId"]; - from: components["schemas"]["transferParty"]; - to: components["schemas"]["transferParty"]; - amountType: components["schemas"]["AmountType"]; - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; - scenario?: components["schemas"]["TransactionType"]; - initiator?: components["schemas"]["TransactionInitiator"]; - initiatorType?: components["schemas"]["TransactionInitiatorType"]; - authenticationType?: components["schemas"]["AuthenticationType"]; - requestToPayState: components["schemas"]["TransactionRequestState"]; - } & { - transactionType: unknown; - }; - requestToPayTransferRequest: { - /** Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - requestToPayTransactionId: string; - from: components["schemas"]["transferParty"]; - to: components["schemas"]["transferParty"]; - amountType: components["schemas"]["AmountType"]; - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; - scenario: components["schemas"]["TransactionType"]; - initiator: components["schemas"]["TransactionInitiator"]; - initiatorType: components["schemas"]["TransactionInitiatorType"]; - note?: components["schemas"]["Note"]; - }; - requestToPayTransferResponse: { - transferId?: components["schemas"]["CorrelationId"]; - /** Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ - requestToPayTransactionId: string; - from: components["schemas"]["transferParty"]; - to: components["schemas"]["transferParty"]; - amountType: components["schemas"]["AmountType"]; - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; - transactionType: components["schemas"]["transactionType"]; - note?: components["schemas"]["Note"]; - currentState?: components["schemas"]["transferStatus"]; - quoteId?: components["schemas"]["CorrelationId"]; - quoteResponse?: components["schemas"]["QuotesIDPutResponse"]; - /** FSPID of the entity that supplied the quote response. This may not be the same as the FSPID of the entity which owns the end user account in the case of a FOREX transfer. i.e. it may be a FOREX gateway. */ - quoteResponseSource?: string; - fulfil?: components["schemas"]["TransfersIDPutResponse"]; - /** Object representing the last error to occur during a transfer process. This may be a Mojaloop API error returned from another entity in the scheme or an object representing other types of error e.g. exceptions that may occur inside the scheme adapter. */ - lastError?: components["schemas"]["transferError"]; - }; - transferContinuationAcceptOTP: { - acceptOTP: true | false; - }; - accountsRequest: { - idType: components["schemas"]["PartyIdType"]; - idValue: components["schemas"]["PartyIdentifier"]; - idSubValue?: components["schemas"]["PartySubIdOrType"]; - currency: components["schemas"]["Currency"]; - }[]; - accountCreationStatus: { - idType: components["schemas"]["PartyIdType"]; - idValue: components["schemas"]["PartyIdentifier"]; - idSubValue?: components["schemas"]["PartySubIdOrType"]; - error?: components["schemas"]["errorResponse"]; - }[]; - accountsCreationState: "ERROR_OCCURRED" | "COMPLETED"; - accountsResponse: { - modelId?: components["schemas"]["CorrelationId"]; - accounts: components["schemas"]["accountsRequest"]; - response?: components["schemas"]["accountCreationStatus"]; - currentState?: components["schemas"]["accountsCreationState"]; - lastError?: components["schemas"]["transferError"]; - postAccountsResponse?: { - body: { [key: string]: unknown }; - headers?: { [key: string]: unknown }; - }; - }; - errorAccountsResponse: components["schemas"]["errorResponse"] & { - executionState: components["schemas"]["accountsResponse"]; - }; - /** Data model for the complex type PartyIdInfo. */ - PartyIdInfo: { - partyIdType: components["schemas"]["PartyIdType"]; - partyIdentifier: components["schemas"]["PartyIdentifier"]; - partySubIdOrType?: components["schemas"]["PartySubIdOrType"]; - fspId?: components["schemas"]["FspId"]; - extensionList?: components["schemas"]["ExtensionList"]; - }; - /** Name of the Party. Could be a real name or a nickname. */ - PartyName: string; - /** Data model for the complex type PartyComplexName. */ - PartyComplexName: { - firstName?: components["schemas"]["FirstName"]; - middleName?: components["schemas"]["MiddleName"]; - lastName?: components["schemas"]["LastName"]; - }; - /** Data model for the complex type PartyPersonalInfo. */ - PartyPersonalInfo: { - complexName?: components["schemas"]["PartyComplexName"]; - dateOfBirth?: components["schemas"]["DateOfBirth"]; - }; - /** Data model for the complex type Party. */ - Party: { - partyIdInfo: components["schemas"]["PartyIdInfo"]; - merchantClassificationCode?: components["schemas"]["MerchantClassificationCode"]; - name?: components["schemas"]["PartyName"]; - personalInfo?: components["schemas"]["PartyPersonalInfo"]; - }; - async2SyncCurrentState: - | "WAITING_FOR_ACTION" - | "COMPLETED" - | "ERROR_OCCURRED"; - /** GET /parties/{Type}/{ID} response object */ - partiesByIdResponse: { - party: { - /** Information regarding the requested Party. */ - body: components["schemas"]["Party"]; - headers: { [key: string]: unknown }; - }; - currentState: components["schemas"]["async2SyncCurrentState"]; - }; - /** The object sent in the POST /quotes request. */ - QuotesPostRequest: { - /** Common ID between the FSPs for the quote object, decided by the Payer FSP. The ID should be reused for resends of the same quote for a transaction. A new ID should be generated for each new quote for a transaction. */ - quoteId: components["schemas"]["CorrelationId"]; - /** Common ID (decided by the Payer FSP) between the FSPs for the future transaction object. The actual transaction will be created as part of a successful transfer process. The ID should be reused for resends of the same quote for a transaction. A new ID should be generated for each new quote for a transaction. */ - transactionId: components["schemas"]["CorrelationId"]; - /** Identifies an optional previously-sent transaction request. */ - transactionRequestId?: components["schemas"]["CorrelationId"]; - /** Information about the Payee in the proposed financial transaction. */ - payee: components["schemas"]["Party"]; - /** Information about the Payer in the proposed financial transaction. */ - payer: components["schemas"]["Party"]; - /** SEND for send amount, RECEIVE for receive amount. */ - amountType: components["schemas"]["AmountType"]; - /** Depending on amountType - If SEND - The amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. The amount is updated by each participating entity in the transaction. If RECEIVE - The amount the Payee should receive, that is, the amount that should be sent to the receiver exclusive any fees. The amount is not updated by any of the participating entities. */ - amount: components["schemas"]["Money"]; - /** The fees in the transaction. The fees element should be empty if fees should be non-disclosed. The fees element should be non-empty if fees should be disclosed. */ - fees?: components["schemas"]["Money"]; - /** Type of transaction for which the quote is requested. */ - transactionType: components["schemas"]["TransactionType"]; - /** Longitude and Latitude of the initiating Party. Can be used to detect fraud. */ - geoCode?: components["schemas"]["GeoCode"]; - /** A memo that will be attached to the transaction. */ - note?: components["schemas"]["Note"]; - /** Expiration is optional. It can be set to get a quick failure in case the peer FSP takes too long to respond. Also, it may be beneficial for Consumer, Agent, and Merchant to know that their request has a time limit. */ - expiration?: components["schemas"]["DateTime"]; - /** Optional extension, specific to deployment. */ - extensionList?: components["schemas"]["ExtensionList"]; - }; - quotesPostRequest: { - fspId: components["schemas"]["FspId"]; - quotesPostRequest: components["schemas"]["QuotesPostRequest"]; - }; - quotesPostResponse: { - /** The object sent in the PUT /quotes/{ID} callback. */ - quotes: { - body: { - transferAmount: components["schemas"]["Money"]; - payeeReceiveAmount?: components["schemas"]["Money"]; - payeeFspFee?: components["schemas"]["Money"]; - payeeFspCommission?: components["schemas"]["Money"]; - /** Date and time until when the quotation is valid and can be honored when used in the subsequent transaction. */ - expiration: string; - geoCode?: components["schemas"]["GeoCode"]; - ilpPacket: components["schemas"]["IlpPacket"]; - condition: components["schemas"]["IlpCondition"]; - extensionList?: components["schemas"]["ExtensionList"]; - }; - headers: { [key: string]: unknown }; - }; - currentState: components["schemas"]["async2SyncCurrentState"]; - }; - errorQuotesResponse: components["schemas"]["errorResponse"] & { - [key: string]: unknown; - }; - /** The object sent in the POST /transfers request. */ - TransfersPostRequest: { - transferId: components["schemas"]["CorrelationId"]; - payeeFsp: components["schemas"]["FspId"]; - payerFsp: components["schemas"]["FspId"]; - amount: components["schemas"]["Money"]; - ilpPacket: components["schemas"]["IlpPacket"]; - condition: components["schemas"]["IlpCondition"]; - expiration: components["schemas"]["DateTime"]; - extensionList?: components["schemas"]["ExtensionList"]; - }; - simpleTransfersPostRequest: { - fspId: components["schemas"]["FspId"]; - transfersPostRequest: components["schemas"]["TransfersPostRequest"]; - }; - simpleTransfersPostResponse: { - transfer: { - body: components["schemas"]["TransfersIDPutResponse"]; - headers: { [key: string]: unknown }; - }; - currentState: components["schemas"]["async2SyncCurrentState"]; - }; - errorSimpleTransfersResponse: components["schemas"]["errorResponse"] & { - [key: string]: unknown; - }; - }; - responses: { - /** Transfer completed successfully */ - transferSuccess: { - content: { - "application/json": components["schemas"]["transferResponse"]; - }; - }; - /** Malformed or missing required body, headers or parameters */ - transferBadRequest: { - content: { - "application/json": components["schemas"]["errorTransferResponse"]; - }; - }; - /** An error occurred processing the transfer */ - transferServerError: { - content: { - "application/json": components["schemas"]["errorTransferResponse"]; - }; - }; - /** Timeout occurred processing the transfer */ - transferTimeout: { - content: { - "application/json": components["schemas"]["errorTransferResponse"]; - }; - }; - /** Bulk transfer completed successfully */ - bulkTransferSuccess: { - content: { - "application/json": components["schemas"]["bulkTransferResponse"]; - }; - }; - /** Malformed or missing required body, headers or parameters */ - bulkTransferBadRequest: { - content: { - "application/json": components["schemas"]["bulkTransferErrorResponse"]; - }; - }; - /** An error occurred processing the bulk transfer */ - bulkTransferServerError: { - content: { - "application/json": components["schemas"]["bulkTransferErrorResponse"]; - }; - }; - /** Timeout occurred processing the bulk transfer */ - bulkTransferTimeout: { - content: { - "application/json": components["schemas"]["bulkTransferErrorResponse"]; - }; - }; - /** Bulk quote completed successfully */ - bulkQuoteSuccess: { - content: { - "application/json": components["schemas"]["bulkQuoteResponse"]; - }; - }; - /** Malformed or missing required body, headers or parameters */ - bulkQuoteBadRequest: { - content: { - "application/json": components["schemas"]["bulkQuoteErrorResponse"]; - }; - }; - /** An error occurred processing the bulk quote */ - bulkQuoteServerError: { - content: { - "application/json": components["schemas"]["bulkQuoteErrorResponse"]; - }; - }; - /** Timeout occurred processing the bulk quote */ - bulkQuoteTimeout: { - content: { - "application/json": components["schemas"]["bulkQuoteErrorResponse"]; - }; - }; - /** Request to Pay completed successfully */ - requestToPaySuccess: { - content: { - "application/json": components["schemas"]["requestToPayResponse"]; - }; - }; - /** Transfer completed successfully */ - requestToPayTransferSuccess: { - content: { - "application/json": components["schemas"]["requestToPayTransferResponse"]; - }; - }; - /** Malformed or missing required body, headers or parameters */ - requestToPayTransferBadRequest: { - content: { - "application/json": components["schemas"]["errorTransferResponse"]; - }; - }; - /** Accounts creation completed */ - accountsCreationCompleted: { - content: { - "application/json": components["schemas"]["accountsResponse"]; - }; - }; - /** An error occurred creating accounts */ - accountsCreationError: { - content: { - "application/json": components["schemas"]["errorAccountsResponse"]; - }; - }; - /** Timeout occurred creating accounts */ - accountsCreationTimeout: { - content: { - "application/json": components["schemas"]["errorAccountsResponse"]; - }; - }; - /** PartiesByIdSuccess */ - partiesByIdSuccess: { - content: { - "application/json": components["schemas"]["partiesByIdResponse"]; - }; - }; - /** PartiesByIdError404 */ - partiesByIdError404: { - content: { - "application/json": { - errorInformation?: components["schemas"]["ErrorInformation"]; - }; - }; - }; - /** sync response from POST /quotes */ - quotesPostSuccess: { - content: { - "application/json": components["schemas"]["quotesPostResponse"]; - }; - }; - /** An error occurred processing the quotes request */ - quotesServerError: { - content: { - "application/json": components["schemas"]["errorQuotesResponse"]; - }; - }; - /** sync response from POST /simpleTransfers */ - simpleTransfersPostSuccess: { - content: { - "application/json": components["schemas"]["simpleTransfersPostResponse"]; - }; - }; - /** An error occurred processing the simple transfers request */ - simpleTransfersServerError: { - content: { - "application/json": components["schemas"]["errorSimpleTransfersResponse"]; - }; - }; - }; - parameters: { - /** Identifier of the transfer to continue as returned in the response to a `POST /transfers` request. */ - transferId: components["schemas"]["CorrelationId"]; - /** Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ - bulkTransferId: components["schemas"]["CorrelationId"]; - /** Identifier of the bulk transfer to continue as returned in the response to a `POST /bulkTransfers` request. */ - bulkQuoteId: components["schemas"]["CorrelationId"]; - /** Identifier of the merchant request to pay transfer to continue as returned in the response to a `POST /requestToPayTransfer` request. */ - requestToPayTransactionId: components["schemas"]["CorrelationId"]; - /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: string; - /** The identifier value. */ - ID: string; - /** A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ - SubId: string; - }; -} - -export interface operations { - /** The HTTP request GET /parties// (or GET /parties///) is used to lookup information regarding the requested Party, defined by , and optionally (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1). */ - PartiesByTypeAndID: { - parameters: { - path: { - /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: components["parameters"]["Type"]; - /** The identifier value. */ - ID: components["parameters"]["ID"]; - }; - }; - responses: { - 200: components["responses"]["partiesByIdSuccess"]; - 404: components["responses"]["partiesByIdError404"]; - }; - }; - /** The HTTP request GET /parties// (or GET /parties///) is used to lookup information regarding the requested Party, defined by , and optionally (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1). */ - PartiesSubIdByTypeAndID: { - parameters: { - path: { - /** The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. */ - Type: components["parameters"]["Type"]; - /** The identifier value. */ - ID: components["parameters"]["ID"]; - /** A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`. */ - SubId: components["parameters"]["SubId"]; - }; - }; - responses: { - 200: components["responses"]["partiesByIdSuccess"]; - 404: components["responses"]["partiesByIdError404"]; - }; - }; - /** is used to request quotes from other DFSP */ - QuotesPost: { - responses: { - 200: components["responses"]["quotesPostSuccess"]; - 500: components["responses"]["quotesServerError"]; - }; - /** Quotes request payload */ - requestBody: { - content: { - "application/json": components["schemas"]["quotesPostRequest"]; - }; - }; - }; - /** is used to request a transfer */ - SimpleTransfersPost: { - responses: { - 200: components["responses"]["simpleTransfersPostSuccess"]; - 500: components["responses"]["simpleTransfersServerError"]; - }; - /** Simple Transfer request payload */ - requestBody: { - content: { - "application/json": components["schemas"]["simpleTransfersPostRequest"]; - }; - }; - }; -} - -export interface external {} diff --git a/src/OutboundServer/api_template/components/parameters/bulkQuoteId.yaml b/src/OutboundServer/api_template/components/parameters/bulkQuoteId.yaml deleted file mode 100644 index e8d986b9e..000000000 --- a/src/OutboundServer/api_template/components/parameters/bulkQuoteId.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: bulkQuoteId -in: path -required: true -schema: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml -description: >- - Identifier of the bulk transfer to continue as returned in the response to a - `POST /bulkTransfers` request. diff --git a/src/OutboundServer/api_template/components/parameters/bulkTransferId.yaml b/src/OutboundServer/api_template/components/parameters/bulkTransferId.yaml deleted file mode 100644 index 8ad85cebb..000000000 --- a/src/OutboundServer/api_template/components/parameters/bulkTransferId.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: bulkTransferId -in: path -required: true -schema: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml -description: >- - Identifier of the bulk transfer to continue as returned in the response to a - `POST /bulkTransfers` request. diff --git a/src/OutboundServer/api_template/components/parameters/requestToPayTransactionId.yaml b/src/OutboundServer/api_template/components/parameters/requestToPayTransactionId.yaml deleted file mode 100644 index 9ddea9732..000000000 --- a/src/OutboundServer/api_template/components/parameters/requestToPayTransactionId.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: requestToPayTransactionId -in: path -required: true -schema: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml -description: >- - Identifier of the merchant request to pay transfer to continue as returned in - the response to a `POST /requestToPayTransfer` request. diff --git a/src/OutboundServer/api_template/components/parameters/transferId.yaml b/src/OutboundServer/api_template/components/parameters/transferId.yaml deleted file mode 100644 index b741f6341..000000000 --- a/src/OutboundServer/api_template/components/parameters/transferId.yaml +++ /dev/null @@ -1,9 +0,0 @@ -name: transferId -in: path -required: true -schema: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml -description: >- - Identifier of the transfer to continue as returned in the response to a `POST - /transfers` request. diff --git a/src/OutboundServer/api_template/components/responses/accountsCreationCompleted.yaml b/src/OutboundServer/api_template/components/responses/accountsCreationCompleted.yaml deleted file mode 100644 index e861bd29f..000000000 --- a/src/OutboundServer/api_template/components/responses/accountsCreationCompleted.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Accounts creation completed -content: - application/json: - schema: - $ref: ../schemas/accountsResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/accountsCreationError.yaml b/src/OutboundServer/api_template/components/responses/accountsCreationError.yaml deleted file mode 100644 index 3ca5a2ac6..000000000 --- a/src/OutboundServer/api_template/components/responses/accountsCreationError.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: An error occurred creating accounts -content: - application/json: - schema: - $ref: ../schemas/errorAccountsResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/accountsCreationTimeout.yaml b/src/OutboundServer/api_template/components/responses/accountsCreationTimeout.yaml deleted file mode 100644 index 73e82b733..000000000 --- a/src/OutboundServer/api_template/components/responses/accountsCreationTimeout.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Timeout occurred creating accounts -content: - application/json: - schema: - $ref: ../schemas/errorAccountsResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/bulkQuoteBadRequest.yaml b/src/OutboundServer/api_template/components/responses/bulkQuoteBadRequest.yaml deleted file mode 100644 index f32720e67..000000000 --- a/src/OutboundServer/api_template/components/responses/bulkQuoteBadRequest.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: 'Malformed or missing required body, headers or parameters' -content: - application/json: - schema: - $ref: ../schemas/bulkQuoteErrorResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/bulkQuoteServerError.yaml b/src/OutboundServer/api_template/components/responses/bulkQuoteServerError.yaml deleted file mode 100644 index 79e5559fb..000000000 --- a/src/OutboundServer/api_template/components/responses/bulkQuoteServerError.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: An error occurred processing the bulk quote -content: - application/json: - schema: - $ref: ../schemas/bulkQuoteErrorResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/bulkQuoteSuccess.yaml b/src/OutboundServer/api_template/components/responses/bulkQuoteSuccess.yaml deleted file mode 100644 index 4eca647a8..000000000 --- a/src/OutboundServer/api_template/components/responses/bulkQuoteSuccess.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Bulk quote completed successfully -content: - application/json: - schema: - $ref: ../schemas/bulkQuoteResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/bulkQuoteTimeout.yaml b/src/OutboundServer/api_template/components/responses/bulkQuoteTimeout.yaml deleted file mode 100644 index 8ffd7cb64..000000000 --- a/src/OutboundServer/api_template/components/responses/bulkQuoteTimeout.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Timeout occurred processing the bulk quote -content: - application/json: - schema: - $ref: ../schemas/bulkQuoteErrorResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/bulkTransferBadRequest.yaml b/src/OutboundServer/api_template/components/responses/bulkTransferBadRequest.yaml deleted file mode 100644 index 765e343f9..000000000 --- a/src/OutboundServer/api_template/components/responses/bulkTransferBadRequest.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: 'Malformed or missing required body, headers or parameters' -content: - application/json: - schema: - $ref: ../schemas/bulkTransferErrorResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/bulkTransferServerError.yaml b/src/OutboundServer/api_template/components/responses/bulkTransferServerError.yaml deleted file mode 100644 index 6a15edb39..000000000 --- a/src/OutboundServer/api_template/components/responses/bulkTransferServerError.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: An error occurred processing the bulk transfer -content: - application/json: - schema: - $ref: ../schemas/bulkTransferErrorResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/bulkTransferSuccess.yaml b/src/OutboundServer/api_template/components/responses/bulkTransferSuccess.yaml deleted file mode 100644 index 02ac2383d..000000000 --- a/src/OutboundServer/api_template/components/responses/bulkTransferSuccess.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Bulk transfer completed successfully -content: - application/json: - schema: - $ref: ../schemas/bulkTransferResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/bulkTransferTimeout.yaml b/src/OutboundServer/api_template/components/responses/bulkTransferTimeout.yaml deleted file mode 100644 index 2e56d2ec4..000000000 --- a/src/OutboundServer/api_template/components/responses/bulkTransferTimeout.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Timeout occurred processing the bulk transfer -content: - application/json: - schema: - $ref: ../schemas/bulkTransferErrorResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/partiesByIdError404.yaml b/src/OutboundServer/api_template/components/responses/partiesByIdError404.yaml deleted file mode 100644 index d80e1a195..000000000 --- a/src/OutboundServer/api_template/components/responses/partiesByIdError404.yaml +++ /dev/null @@ -1,9 +0,0 @@ -description: PartiesByIdError404 -content: - application/json: - schema: - type: object - properties: - errorInformation: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/ErrorInformation.yaml diff --git a/src/OutboundServer/api_template/components/responses/partiesByIdSuccess.yaml b/src/OutboundServer/api_template/components/responses/partiesByIdSuccess.yaml deleted file mode 100644 index f2952e967..000000000 --- a/src/OutboundServer/api_template/components/responses/partiesByIdSuccess.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: PartiesByIdSuccess -content: - application/json: - schema: - $ref: ../schemas/partiesByIdResponse.yaml \ No newline at end of file diff --git a/src/OutboundServer/api_template/components/responses/quotesPostSuccess.yaml b/src/OutboundServer/api_template/components/responses/quotesPostSuccess.yaml deleted file mode 100644 index 6d3f489cd..000000000 --- a/src/OutboundServer/api_template/components/responses/quotesPostSuccess.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: sync response from POST /quotes -content: - application/json: - schema: - $ref: ../schemas/quotesPostResponse.yaml \ No newline at end of file diff --git a/src/OutboundServer/api_template/components/responses/quotesServerError.yaml b/src/OutboundServer/api_template/components/responses/quotesServerError.yaml deleted file mode 100644 index f312ba987..000000000 --- a/src/OutboundServer/api_template/components/responses/quotesServerError.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: An error occurred processing the quotes request -content: - application/json: - schema: - $ref: ../schemas/errorQuotesResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/requestToPaySuccess.yaml b/src/OutboundServer/api_template/components/responses/requestToPaySuccess.yaml deleted file mode 100644 index 2014ec8b9..000000000 --- a/src/OutboundServer/api_template/components/responses/requestToPaySuccess.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Request to Pay completed successfully -content: - application/json: - schema: - $ref: ../schemas/requestToPayResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/requestToPayTransferBadRequest.yaml b/src/OutboundServer/api_template/components/responses/requestToPayTransferBadRequest.yaml deleted file mode 100644 index c66fccbe5..000000000 --- a/src/OutboundServer/api_template/components/responses/requestToPayTransferBadRequest.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: 'Malformed or missing required body, headers or parameters' -content: - application/json: - schema: - $ref: ../schemas/errorTransferResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/requestToPayTransferSuccess.yaml b/src/OutboundServer/api_template/components/responses/requestToPayTransferSuccess.yaml deleted file mode 100644 index c59135784..000000000 --- a/src/OutboundServer/api_template/components/responses/requestToPayTransferSuccess.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Transfer completed successfully -content: - application/json: - schema: - $ref: ../schemas/requestToPayTransferResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/simpleTransfersPostSuccess.yaml b/src/OutboundServer/api_template/components/responses/simpleTransfersPostSuccess.yaml deleted file mode 100644 index a474babff..000000000 --- a/src/OutboundServer/api_template/components/responses/simpleTransfersPostSuccess.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: sync response from POST /simpleTransfers -content: - application/json: - schema: - $ref: ../schemas/simpleTransfersPostResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/simpleTransfersServerError.yaml b/src/OutboundServer/api_template/components/responses/simpleTransfersServerError.yaml deleted file mode 100644 index 4a250775e..000000000 --- a/src/OutboundServer/api_template/components/responses/simpleTransfersServerError.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: An error occurred processing the simple transfers request -content: - application/json: - schema: - $ref: ../schemas/errorSimpleTransfersResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/transferBadRequest.yaml b/src/OutboundServer/api_template/components/responses/transferBadRequest.yaml deleted file mode 100644 index c66fccbe5..000000000 --- a/src/OutboundServer/api_template/components/responses/transferBadRequest.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: 'Malformed or missing required body, headers or parameters' -content: - application/json: - schema: - $ref: ../schemas/errorTransferResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/transferServerError.yaml b/src/OutboundServer/api_template/components/responses/transferServerError.yaml deleted file mode 100644 index af6acc48e..000000000 --- a/src/OutboundServer/api_template/components/responses/transferServerError.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: An error occurred processing the transfer -content: - application/json: - schema: - $ref: ../schemas/errorTransferResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/transferSuccess.yaml b/src/OutboundServer/api_template/components/responses/transferSuccess.yaml deleted file mode 100644 index f6a20abf3..000000000 --- a/src/OutboundServer/api_template/components/responses/transferSuccess.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Transfer completed successfully -content: - application/json: - schema: - $ref: ../schemas/transferResponse.yaml diff --git a/src/OutboundServer/api_template/components/responses/transferTimeout.yaml b/src/OutboundServer/api_template/components/responses/transferTimeout.yaml deleted file mode 100644 index cb1191f4d..000000000 --- a/src/OutboundServer/api_template/components/responses/transferTimeout.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: Timeout occurred processing the transfer -content: - application/json: - schema: - $ref: ../schemas/errorTransferResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/accountCreationStatus.yaml b/src/OutboundServer/api_template/components/schemas/accountCreationStatus.yaml deleted file mode 100644 index 0ea0952b6..000000000 --- a/src/OutboundServer/api_template/components/schemas/accountCreationStatus.yaml +++ /dev/null @@ -1,18 +0,0 @@ -type: array -items: - type: object - required: - - idType - - idValue - properties: - idType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/thirdparty/v1_0/openapi3/components/schemas/PartyIdType.yaml - idValue: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/PartyIdentifier.yaml - idSubValue: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/PartySubIdOrType.yaml - error: - $ref: ./errorResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/accountsCreationState.yaml b/src/OutboundServer/api_template/components/schemas/accountsCreationState.yaml deleted file mode 100644 index 742301312..000000000 --- a/src/OutboundServer/api_template/components/schemas/accountsCreationState.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: string -enum: - - ERROR_OCCURRED - - COMPLETED diff --git a/src/OutboundServer/api_template/components/schemas/accountsRequest.yaml b/src/OutboundServer/api_template/components/schemas/accountsRequest.yaml deleted file mode 100644 index c485e5f61..000000000 --- a/src/OutboundServer/api_template/components/schemas/accountsRequest.yaml +++ /dev/null @@ -1,20 +0,0 @@ -type: array -items: - type: object - required: - - idType - - idValue - - currency - properties: - idType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/thirdparty/v1_0/openapi3/components/schemas/PartyIdType.yaml - idValue: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/PartyIdentifier.yaml - idSubValue: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/PartySubIdOrType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml diff --git a/src/OutboundServer/api_template/components/schemas/accountsResponse.yaml b/src/OutboundServer/api_template/components/schemas/accountsResponse.yaml deleted file mode 100644 index 133bc7cc6..000000000 --- a/src/OutboundServer/api_template/components/schemas/accountsResponse.yaml +++ /dev/null @@ -1,24 +0,0 @@ -type: object -required: - - accounts -properties: - modelId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - accounts: - $ref: ./accountsRequest.yaml - response: - $ref: ./accountCreationStatus.yaml - currentState: - $ref: ./accountsCreationState.yaml - lastError: - $ref: ./transferError.yaml - postAccountsResponse: - type: object - required: - - body - properties: - body: - type: object - headers: - type: object diff --git a/src/OutboundServer/api_template/components/schemas/async2SyncCurrentState.yaml b/src/OutboundServer/api_template/components/schemas/async2SyncCurrentState.yaml deleted file mode 100644 index 212ece551..000000000 --- a/src/OutboundServer/api_template/components/schemas/async2SyncCurrentState.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: string -enum: - - 'WAITING_FOR_ACTION' - - 'COMPLETED' - - 'ERROR_OCCURRED' diff --git a/src/OutboundServer/api_template/components/schemas/bulkQuoteErrorResponse.yaml b/src/OutboundServer/api_template/components/schemas/bulkQuoteErrorResponse.yaml deleted file mode 100644 index 692b357b3..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkQuoteErrorResponse.yaml +++ /dev/null @@ -1,8 +0,0 @@ -allOf: - - $ref: ./errorResponse.yaml - - type: object - required: - - bulkTansferState - properties: - bulkQuoteState: - $ref: ./bulkQuoteResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/bulkQuoteRequest.yaml b/src/OutboundServer/api_template/components/schemas/bulkQuoteRequest.yaml deleted file mode 100644 index 7a2b60648..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkQuoteRequest.yaml +++ /dev/null @@ -1,26 +0,0 @@ -type: object -required: - - homeTransactionId - - from - - individualQuotes -properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - bulkQuoteId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - from: - $ref: ./transferParty.yaml - individualQuotes: - description: List of individual quotes in a bulk quote. - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: ./individualQuote.yaml - extensions: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/ExtensionList.yaml diff --git a/src/OutboundServer/api_template/components/schemas/bulkQuoteResponse.yaml b/src/OutboundServer/api_template/components/schemas/bulkQuoteResponse.yaml deleted file mode 100644 index 1a86ad2ed..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkQuoteResponse.yaml +++ /dev/null @@ -1,21 +0,0 @@ -type: object -required: - - from - - individualQuoteResults -properties: - quoteId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: ./transferParty.yaml - individualQuoteResults: - type: array - maxItems: 1000 - items: - $ref: ./individualQuoteResult.yaml - description: List of individualQuoteResults in a bulk transfer response. diff --git a/src/OutboundServer/api_template/components/schemas/bulkQuoteStatus.yaml b/src/OutboundServer/api_template/components/schemas/bulkQuoteStatus.yaml deleted file mode 100644 index 742301312..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkQuoteStatus.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: string -enum: - - ERROR_OCCURRED - - COMPLETED diff --git a/src/OutboundServer/api_template/components/schemas/bulkQuoteStatusResponse.yaml b/src/OutboundServer/api_template/components/schemas/bulkQuoteStatusResponse.yaml deleted file mode 100644 index 5180c02dc..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkQuoteStatusResponse.yaml +++ /dev/null @@ -1,17 +0,0 @@ -type: object -required: - - bulkQuoteId - - currentState - - individualQuotes -properties: - bulkQuoteId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - currentState: - $ref: ./bulkQuoteStatus.yaml - individualQuotes: - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: ./individualQuote.yaml diff --git a/src/OutboundServer/api_template/components/schemas/bulkTransferErrorResponse.yaml b/src/OutboundServer/api_template/components/schemas/bulkTransferErrorResponse.yaml deleted file mode 100644 index 08d066918..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkTransferErrorResponse.yaml +++ /dev/null @@ -1,8 +0,0 @@ -allOf: - - $ref: ./errorResponse.yaml - - type: object - required: - - bulkTansferState - properties: - bulkTransferState: - $ref: ./bulkTransferResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/bulkTransferRequest.yaml b/src/OutboundServer/api_template/components/schemas/bulkTransferRequest.yaml deleted file mode 100644 index 1d53b5b2d..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkTransferRequest.yaml +++ /dev/null @@ -1,26 +0,0 @@ -type: object -required: - - homeTransactionId - - from - - individualTransfers -properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - bulkTransferId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - from: - $ref: ./transferParty.yaml - individualTransfers: - description: List of individual transfers in a bulk transfer. - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: ./individualTransfer.yaml - extensions: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/ExtensionList.yaml diff --git a/src/OutboundServer/api_template/components/schemas/bulkTransferResponse.yaml b/src/OutboundServer/api_template/components/schemas/bulkTransferResponse.yaml deleted file mode 100644 index c0a9bbaad..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkTransferResponse.yaml +++ /dev/null @@ -1,16 +0,0 @@ -type: object -required: - - from - - individualTransferResults -properties: - transferId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - from: - $ref: ./transferParty.yaml - individualTransferResults: - type: array - maxItems: 1000 - items: - $ref: ./individualTransferResult.yaml - description: List of individual transfer result in a bulk transfer response. diff --git a/src/OutboundServer/api_template/components/schemas/bulkTransferStatus.yaml b/src/OutboundServer/api_template/components/schemas/bulkTransferStatus.yaml deleted file mode 100644 index 742301312..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkTransferStatus.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: string -enum: - - ERROR_OCCURRED - - COMPLETED diff --git a/src/OutboundServer/api_template/components/schemas/bulkTransferStatusResponse.yaml b/src/OutboundServer/api_template/components/schemas/bulkTransferStatusResponse.yaml deleted file mode 100644 index 720bfcca9..000000000 --- a/src/OutboundServer/api_template/components/schemas/bulkTransferStatusResponse.yaml +++ /dev/null @@ -1,17 +0,0 @@ -type: object -required: - - bulkTransferId - - currentState - - fulfils -properties: - bulkTransferId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - currentState: - $ref: ./bulkTransferStatus.yaml - fulfils: - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: ./individualTransferFulfilment.yaml diff --git a/src/OutboundServer/api_template/components/schemas/errorAccountsResponse.yaml b/src/OutboundServer/api_template/components/schemas/errorAccountsResponse.yaml deleted file mode 100644 index 68020fbcd..000000000 --- a/src/OutboundServer/api_template/components/schemas/errorAccountsResponse.yaml +++ /dev/null @@ -1,8 +0,0 @@ -allOf: - - $ref: ./errorResponse.yaml - - type: object - required: - - executionState - properties: - executionState: - $ref: ./accountsResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/errorQuotesResponse.yaml b/src/OutboundServer/api_template/components/schemas/errorQuotesResponse.yaml deleted file mode 100644 index c9da400e6..000000000 --- a/src/OutboundServer/api_template/components/schemas/errorQuotesResponse.yaml +++ /dev/null @@ -1,9 +0,0 @@ -allOf: - - $ref: ./errorResponse.yaml - - type: object - # TODO: refactor to have proper response - # required: - # - transferState - # properties: - # currentState: - # $ref: ./transferResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/errorResponse.yaml b/src/OutboundServer/api_template/components/schemas/errorResponse.yaml deleted file mode 100644 index 5501ba689..000000000 --- a/src/OutboundServer/api_template/components/schemas/errorResponse.yaml +++ /dev/null @@ -1,8 +0,0 @@ -type: object -properties: - statusCode: - type: string - description: Error code as string. - message: - type: string - description: Error message text. diff --git a/src/OutboundServer/api_template/components/schemas/errorSimpleTransfersResponse.yaml b/src/OutboundServer/api_template/components/schemas/errorSimpleTransfersResponse.yaml deleted file mode 100644 index 256ecdd37..000000000 --- a/src/OutboundServer/api_template/components/schemas/errorSimpleTransfersResponse.yaml +++ /dev/null @@ -1,3 +0,0 @@ -allOf: - - $ref: ./errorResponse.yaml - - type: object diff --git a/src/OutboundServer/api_template/components/schemas/errorTransferResponse.yaml b/src/OutboundServer/api_template/components/schemas/errorTransferResponse.yaml deleted file mode 100644 index bd4b79d8b..000000000 --- a/src/OutboundServer/api_template/components/schemas/errorTransferResponse.yaml +++ /dev/null @@ -1,8 +0,0 @@ -allOf: - - $ref: ./errorResponse.yaml - - type: object - required: - - transferState - properties: - transferState: - $ref: ./transferResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/extensionListEmptiable.yaml b/src/OutboundServer/api_template/components/schemas/extensionListEmptiable.yaml deleted file mode 100644 index e4c6c0564..000000000 --- a/src/OutboundServer/api_template/components/schemas/extensionListEmptiable.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: array -items: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Extension.yaml -minItems: 0 -maxItems: 16 diff --git a/src/OutboundServer/api_template/components/schemas/individualQuote.yaml b/src/OutboundServer/api_template/components/schemas/individualQuote.yaml deleted file mode 100644 index a08643725..000000000 --- a/src/OutboundServer/api_template/components/schemas/individualQuote.yaml +++ /dev/null @@ -1,32 +0,0 @@ -title: IndividualQuote -type: object -description: Data model for the complex type 'individualQuote'. -properties: - quoteId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - transactionType: - $ref: ./transactionType.yaml - note: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Note.yaml - extensions: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/ExtensionList.yaml -required: - - quoteId - - to - - amountType - - currency - - transactionType diff --git a/src/OutboundServer/api_template/components/schemas/individualQuoteResult.yaml b/src/OutboundServer/api_template/components/schemas/individualQuoteResult.yaml deleted file mode 100644 index 2cc39a7d9..000000000 --- a/src/OutboundServer/api_template/components/schemas/individualQuoteResult.yaml +++ /dev/null @@ -1,28 +0,0 @@ -type: object -properties: - quoteId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - transactionType: - $ref: ./transactionType.yaml - note: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Note.yaml - lastError: - description: > - Object representing the last error to occur during a quote process. This - may be a Mojaloop API error returned from another entity in the scheme or - an object representing other types of error e.g. exceptions that may occur - inside the scheme adapter. - $ref: ./quoteError.yaml diff --git a/src/OutboundServer/api_template/components/schemas/individualTransfer.yaml b/src/OutboundServer/api_template/components/schemas/individualTransfer.yaml deleted file mode 100644 index 7e40c57fe..000000000 --- a/src/OutboundServer/api_template/components/schemas/individualTransfer.yaml +++ /dev/null @@ -1,32 +0,0 @@ -title: IndividualTransfer -type: object -description: Data model for the complex type 'individualTransfer'. -properties: - transferId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - transactionType: - $ref: ./transactionType.yaml - note: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Note.yaml - extensions: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/ExtensionList.yaml -required: - - transferId - - to - - amountType - - currency - - transactionType diff --git a/src/OutboundServer/api_template/components/schemas/individualTransferFulfilment.yaml b/src/OutboundServer/api_template/components/schemas/individualTransferFulfilment.yaml deleted file mode 100644 index 1ebf8a9b1..000000000 --- a/src/OutboundServer/api_template/components/schemas/individualTransferFulfilment.yaml +++ /dev/null @@ -1,13 +0,0 @@ -type: object -description: A Mojaloop API transfer fulfilment for individual transfers in a bulk transfer -properties: - fulfilment: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/IlpFulfilment.yaml - description: > - Fulfilment of the condition specified with the transaction. Mandatory if - transfer has completed successfully. - extensionList: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/ExtensionList.yaml - description: 'Optional extension, specific to deployment.' diff --git a/src/OutboundServer/api_template/components/schemas/individualTransferResult.yaml b/src/OutboundServer/api_template/components/schemas/individualTransferResult.yaml deleted file mode 100644 index 263716174..000000000 --- a/src/OutboundServer/api_template/components/schemas/individualTransferResult.yaml +++ /dev/null @@ -1,41 +0,0 @@ -type: object -properties: - transferId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - transactionType: - $ref: ./transactionType.yaml - note: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Note.yaml - quoteId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - quoteResponse: - $ref: ./quote.yaml - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This may not be the - same as the FSPID of the entity which owns the end user account in the - case of a FOREX transfer. i.e. it may be a FOREX gateway. - fulfil: - $ref: ./transferFulfilment.yaml - lastError: - description: > - Object representing the last error to occur during a transfer process. - This may be a Mojaloop API error returned from another entity in the - scheme or an object representing other types of error e.g. exceptions that - may occur inside the scheme adapter. - $ref: ./transferError.yaml diff --git a/src/OutboundServer/api_template/components/schemas/mojaloopError.yaml b/src/OutboundServer/api_template/components/schemas/mojaloopError.yaml deleted file mode 100644 index c6a6e8b24..000000000 --- a/src/OutboundServer/api_template/components/schemas/mojaloopError.yaml +++ /dev/null @@ -1,5 +0,0 @@ -type: object -properties: - errorInformation: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/ErrorInformation.yaml diff --git a/src/OutboundServer/api_template/components/schemas/mojaloopTransactionRequestState.yaml b/src/OutboundServer/api_template/components/schemas/mojaloopTransactionRequestState.yaml deleted file mode 100644 index 43e9ea59f..000000000 --- a/src/OutboundServer/api_template/components/schemas/mojaloopTransactionRequestState.yaml +++ /dev/null @@ -1,2 +0,0 @@ -$ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionRequestState.yaml diff --git a/src/OutboundServer/api_template/components/schemas/partiesByIdResponse.yaml b/src/OutboundServer/api_template/components/schemas/partiesByIdResponse.yaml deleted file mode 100644 index a22784ce9..000000000 --- a/src/OutboundServer/api_template/components/schemas/partiesByIdResponse.yaml +++ /dev/null @@ -1,20 +0,0 @@ - title: partiesByIdResponse - type: object - description: 'GET /parties/{Type}/{ID} response object' - properties: - party: - properties: - body: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/thirdparty/v1_0/openapi3/components/schemas/Party.yaml - description: Information regarding the requested Party. - headers: - type: object - required: - - body - - headers - currentState: - $ref: ../schemas/async2SyncCurrentState.yaml - required: - - party - - currentState diff --git a/src/OutboundServer/api_template/components/schemas/quote.yaml b/src/OutboundServer/api_template/components/schemas/quote.yaml deleted file mode 100644 index de261db5b..000000000 --- a/src/OutboundServer/api_template/components/schemas/quote.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: Mojaloop API response to a quote request -$ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/QuotesIDPutResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/quoteError.yaml b/src/OutboundServer/api_template/components/schemas/quoteError.yaml deleted file mode 100644 index 8f0f0eb93..000000000 --- a/src/OutboundServer/api_template/components/schemas/quoteError.yaml +++ /dev/null @@ -1,16 +0,0 @@ -type: object -description: >- - This object represents a Mojaloop API error received at any time during the - quote process -properties: - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the caller. This is the same as the - actual HTTP status code returned with the response. - mojaloopError: - description: >- - If a quote process results in an error callback during the asynchronous - Mojaloop API exchange, this property will contain the underlying Mojaloop - API error object. - $ref: ./mojaloopError.yaml diff --git a/src/OutboundServer/api_template/components/schemas/quotesPostRequest.yaml b/src/OutboundServer/api_template/components/schemas/quotesPostRequest.yaml deleted file mode 100644 index a5a2d40c4..000000000 --- a/src/OutboundServer/api_template/components/schemas/quotesPostRequest.yaml +++ /dev/null @@ -1,13 +0,0 @@ -title: QuotesPostRequest -type: object -properties: - fspId: - title: destination DFSP requested to calculate the quote - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/FspId.yaml - quotesPostRequest: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/thirdparty/v1_0/openapi3/components/schemas/QuotesPostRequest.yaml -required: - - fspId - - quotesPostRequest diff --git a/src/OutboundServer/api_template/components/schemas/quotesPostResponse.yaml b/src/OutboundServer/api_template/components/schemas/quotesPostResponse.yaml deleted file mode 100644 index 43bb4831a..000000000 --- a/src/OutboundServer/api_template/components/schemas/quotesPostResponse.yaml +++ /dev/null @@ -1,56 +0,0 @@ -title: QuotesPostResponse -type: object -properties: - quotes: - title: QuotesIDPutResponse - type: object - description: 'The object sent in the PUT /quotes/{ID} callback.' - properties: - body: - type: object - properties: - transferAmount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Money.yaml - payeeReceiveAmount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Money.yaml - payeeFspFee: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Money.yaml - payeeFspCommission: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Money.yaml - expiration: - type: string - description: >- - Date and time until when the quotation is valid and can be honored when - used in the subsequent transaction. - example: '2016-05-24T08:38:08.699-04:00' - geoCode: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/GeoCode.yaml - ilpPacket: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/IlpPacket.yaml - condition: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/IlpCondition.yaml - extensionList: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/ExtensionList.yaml - required: - - transferAmount - - expiration - - ilpPacket - - condition - headers: - type: object - required: - - body - - headers - currentState: - $ref: ../schemas/async2SyncCurrentState.yaml -required: - - quotes - - currentState diff --git a/src/OutboundServer/api_template/components/schemas/requestToPayRequest.yaml b/src/OutboundServer/api_template/components/schemas/requestToPayRequest.yaml deleted file mode 100644 index b2e305b7c..000000000 --- a/src/OutboundServer/api_template/components/schemas/requestToPayRequest.yaml +++ /dev/null @@ -1,39 +0,0 @@ -type: object -required: - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType -properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: ./transferParty.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - scenario: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionType.yaml - initiator: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionInitiator.yaml - initiatorType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionInitiatorType.yaml diff --git a/src/OutboundServer/api_template/components/schemas/requestToPayResponse.yaml b/src/OutboundServer/api_template/components/schemas/requestToPayResponse.yaml deleted file mode 100644 index dcef53c19..000000000 --- a/src/OutboundServer/api_template/components/schemas/requestToPayResponse.yaml +++ /dev/null @@ -1,41 +0,0 @@ -type: object -required: - - transactionRequestId - - from - - to - - amountType - - currency - - amount - - transactionType - - requestToPayState -properties: - transactionRequestId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - from: - $ref: ./transferParty.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - scenario: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionType.yaml - initiator: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionInitiator.yaml - initiatorType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionInitiatorType.yaml - authenticationType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AuthenticationType.yaml - requestToPayState: - $ref: ./mojaloopTransactionRequestState.yaml diff --git a/src/OutboundServer/api_template/components/schemas/requestToPayTransferRequest.yaml b/src/OutboundServer/api_template/components/schemas/requestToPayTransferRequest.yaml deleted file mode 100644 index a04ba300b..000000000 --- a/src/OutboundServer/api_template/components/schemas/requestToPayTransferRequest.yaml +++ /dev/null @@ -1,42 +0,0 @@ -type: object -required: - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - scenario - - initiator - - initiatorType -properties: - requestToPayTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: ./transferParty.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - scenario: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionType.yaml - initiator: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionInitiator.yaml - initiatorType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionInitiatorType.yaml - note: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Note.yaml diff --git a/src/OutboundServer/api_template/components/schemas/requestToPayTransferResponse.yaml b/src/OutboundServer/api_template/components/schemas/requestToPayTransferResponse.yaml deleted file mode 100644 index 6c20eea8a..000000000 --- a/src/OutboundServer/api_template/components/schemas/requestToPayTransferResponse.yaml +++ /dev/null @@ -1,58 +0,0 @@ -type: object -required: - - requestToPayTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType -properties: - transferId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - requestToPayTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: ./transferParty.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - transactionType: - $ref: ./transactionType.yaml - note: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Note.yaml - currentState: - $ref: ./transferStatus.yaml - quoteId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - quoteResponse: - $ref: ./quote.yaml - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This may not be the - same as the FSPID of the entity which owns the end user account in the - case of a FOREX transfer. i.e. it may be a FOREX gateway. - fulfil: - $ref: ./transferFulfilment.yaml - lastError: - description: > - Object representing the last error to occur during a transfer process. - This may be a Mojaloop API error returned from another entity in the - scheme or an object representing other types of error e.g. exceptions that - may occur inside the scheme adapter. - $ref: ./transferError.yaml diff --git a/src/OutboundServer/api_template/components/schemas/simpleTransferServerError.yaml b/src/OutboundServer/api_template/components/schemas/simpleTransferServerError.yaml deleted file mode 100644 index 4a250775e..000000000 --- a/src/OutboundServer/api_template/components/schemas/simpleTransferServerError.yaml +++ /dev/null @@ -1,5 +0,0 @@ -description: An error occurred processing the simple transfers request -content: - application/json: - schema: - $ref: ../schemas/errorSimpleTransfersResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/simpleTransfersPostRequest.yaml b/src/OutboundServer/api_template/components/schemas/simpleTransfersPostRequest.yaml deleted file mode 100644 index 5f6ac5db3..000000000 --- a/src/OutboundServer/api_template/components/schemas/simpleTransfersPostRequest.yaml +++ /dev/null @@ -1,12 +0,0 @@ -title: SimpleTransfersPostRequest -type: object -properties: - fspId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/FspId.yaml - transfersPostRequest: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransfersPostRequest.yaml -required: - - fspId - - transfersPostRequest diff --git a/src/OutboundServer/api_template/components/schemas/simpleTransfersPostResponse.yaml b/src/OutboundServer/api_template/components/schemas/simpleTransfersPostResponse.yaml deleted file mode 100644 index 7b254d0cf..000000000 --- a/src/OutboundServer/api_template/components/schemas/simpleTransfersPostResponse.yaml +++ /dev/null @@ -1,18 +0,0 @@ -title: SimpleTransfersPostResponse -type: object -properties: - transfer: - properties: - body: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransfersIDPutResponse.yaml - headers: - type: object - required: - - body - - headers - currentState: - $ref: ../schemas/async2SyncCurrentState.yaml -required: - - transfer - - currentState diff --git a/src/OutboundServer/api_template/components/schemas/transactionType.yaml b/src/OutboundServer/api_template/components/schemas/transactionType.yaml deleted file mode 100644 index b87ea2af2..000000000 --- a/src/OutboundServer/api_template/components/schemas/transactionType.yaml +++ /dev/null @@ -1,4 +0,0 @@ -type: string -enum: - - TRANSFER -description: Type of transaction. diff --git a/src/OutboundServer/api_template/components/schemas/transferContinuationAcceptOTP.yaml b/src/OutboundServer/api_template/components/schemas/transferContinuationAcceptOTP.yaml deleted file mode 100644 index 23ad4e618..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferContinuationAcceptOTP.yaml +++ /dev/null @@ -1,9 +0,0 @@ -type: object -required: - - acceptOTP -properties: - acceptOTP: - type: boolean - enum: - - true - - false diff --git a/src/OutboundServer/api_template/components/schemas/transferContinuationAcceptParty.yaml b/src/OutboundServer/api_template/components/schemas/transferContinuationAcceptParty.yaml deleted file mode 100644 index 88dd027ca..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferContinuationAcceptParty.yaml +++ /dev/null @@ -1,8 +0,0 @@ -type: object -required: - - acceptParty -properties: - acceptParty: - type: boolean - enum: - - true diff --git a/src/OutboundServer/api_template/components/schemas/transferContinuationAcceptQuote.yaml b/src/OutboundServer/api_template/components/schemas/transferContinuationAcceptQuote.yaml deleted file mode 100644 index 106fae46d..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferContinuationAcceptQuote.yaml +++ /dev/null @@ -1,9 +0,0 @@ -type: object -required: - - acceptQuote -properties: - acceptQuote: - type: boolean - enum: - - true - - false diff --git a/src/OutboundServer/api_template/components/schemas/transferError.yaml b/src/OutboundServer/api_template/components/schemas/transferError.yaml deleted file mode 100644 index 733fcf713..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferError.yaml +++ /dev/null @@ -1,16 +0,0 @@ -type: object -description: >- - This object represents a Mojaloop API error received at any time during the - transfer process -properties: - httpStatusCode: - type: integer - description: >- - The HTTP status code returned to the caller. This is the same as the - actual HTTP status code returned with the response. - mojaloopError: - description: >- - If a transfer process results in an error callback during the asynchronous - Mojaloop API exchange, this property will contain the underlying Mojaloop - API error object. - $ref: ./mojaloopError.yaml diff --git a/src/OutboundServer/api_template/components/schemas/transferFulfilment.yaml b/src/OutboundServer/api_template/components/schemas/transferFulfilment.yaml deleted file mode 100644 index b430d3625..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferFulfilment.yaml +++ /dev/null @@ -1,3 +0,0 @@ -description: A Mojaloop API transfer fulfilment -$ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransfersIDPutResponse.yaml diff --git a/src/OutboundServer/api_template/components/schemas/transferParty.yaml b/src/OutboundServer/api_template/components/schemas/transferParty.yaml deleted file mode 100644 index 75087bb3e..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferParty.yaml +++ /dev/null @@ -1,40 +0,0 @@ -type: object -required: - - idType - - idValue -properties: - type: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/TransactionInitiatorType.yaml - idType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/thirdparty/v1_0/openapi3/components/schemas/PartyIdType.yaml - idValue: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/PartyIdentifier.yaml - idSubValue: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/PartySubIdOrType.yaml - displayName: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Name.yaml - firstName: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/FirstName.yaml - middleName: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/MiddleName.yaml - lastName: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/LastName.yaml - dateOfBirth: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/DateOfBirth.yaml - merchantClassificationCode: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/MerchantClassificationCode.yaml - fspId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/FspId.yaml - extensionList: - $ref: ./extensionListEmptiable.yaml diff --git a/src/OutboundServer/api_template/components/schemas/transferRequest.yaml b/src/OutboundServer/api_template/components/schemas/transferRequest.yaml deleted file mode 100644 index 6aecf4f03..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferRequest.yaml +++ /dev/null @@ -1,40 +0,0 @@ -type: object -required: - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType -properties: - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: ./transferParty.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - transactionType: - $ref: ./transactionType.yaml - note: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Note.yaml - quoteRequestExtensions: - $ref: ./extensionListEmptiable.yaml - transferRequestExtensions: - $ref: ./extensionListEmptiable.yaml - skipPartyLookup: - description: Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. - type: boolean diff --git a/src/OutboundServer/api_template/components/schemas/transferResponse.yaml b/src/OutboundServer/api_template/components/schemas/transferResponse.yaml deleted file mode 100644 index 398a4eb10..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferResponse.yaml +++ /dev/null @@ -1,84 +0,0 @@ -type: object -required: - - homeTransactionId - - from - - to - - amountType - - currency - - amount - - transactionType -properties: - transferId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - homeTransactionId: - type: string - description: >- - Transaction ID from the DFSP backend, used to reconcile transactions - between the Switch and DFSP backend systems. - from: - $ref: ./transferParty.yaml - to: - $ref: ./transferParty.yaml - amountType: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/AmountType.yaml - currency: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Currency.yaml - amount: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Amount.yaml - transactionType: - $ref: ./transactionType.yaml - note: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/Note.yaml - currentState: - $ref: ./transferStatus.yaml - quoteId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - getPartiesResponse: - type: object - required: - - body - properties: - body: - type: object - headers: - type: object - quoteResponse: - type: object - required: - - body - properties: - body: - $ref: './quote.yaml' - headers: - type: object - quoteResponseSource: - type: string - description: > - FSPID of the entity that supplied the quote response. This may not be the - same as the FSPID of the entity which owns the end user account in the - case of a FOREX transfer. i.e. it may be a FOREX gateway. - fulfil: - type: object - required: - - body - properties: - body: - $ref: ./transferFulfilment.yaml - headers: - type: object - lastError: - description: > - Object representing the last error to occur during a transfer process. - This may be a Mojaloop API error returned from another entity in the - scheme or an object representing other types of error e.g. exceptions that - may occur inside the scheme adapter. - $ref: ./transferError.yaml - skipPartyLookup: - description: Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful is a previous party resolution has been performed. - type: boolean diff --git a/src/OutboundServer/api_template/components/schemas/transferStatus.yaml b/src/OutboundServer/api_template/components/schemas/transferStatus.yaml deleted file mode 100644 index ded379951..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferStatus.yaml +++ /dev/null @@ -1,6 +0,0 @@ -type: string -enum: - - ERROR_OCCURRED - - WAITING_FOR_PARTY_ACCEPTANCE - - WAITING_FOR_QUOTE_ACCEPTANCE - - COMPLETED diff --git a/src/OutboundServer/api_template/components/schemas/transferStatusResponse.yaml b/src/OutboundServer/api_template/components/schemas/transferStatusResponse.yaml deleted file mode 100644 index e850ba875..000000000 --- a/src/OutboundServer/api_template/components/schemas/transferStatusResponse.yaml +++ /dev/null @@ -1,20 +0,0 @@ -type: object -required: - - transferId - - currentState - - fulfil -properties: - transferId: - $ref: >- - ../../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/schemas/CorrelationId.yaml - currentState: - $ref: ./transferStatus.yaml - fulfil: - type: object - required: - - body - properties: - body: - $ref: ./transferFulfilment.yaml - headers: - type: object diff --git a/src/OutboundServer/api_template/health.yaml b/src/OutboundServer/api_template/health.yaml deleted file mode 100644 index a8e5212c8..000000000 --- a/src/OutboundServer/api_template/health.yaml +++ /dev/null @@ -1,12 +0,0 @@ -get: - summary: Health check endpoint - description: >- - This endpoint allows a user of the SDK scheme adapter to check the outbound - transfers service is listening. - tags: - - Health - responses: - '200': - description: >- - Returns empty body if the scheme adapter outbound transfers service is - running. diff --git a/src/OutboundServer/api_template/openapi.yaml b/src/OutboundServer/api_template/openapi.yaml deleted file mode 100644 index cb90edfad..000000000 --- a/src/OutboundServer/api_template/openapi.yaml +++ /dev/null @@ -1,52 +0,0 @@ -openapi: 3.0.1 -info: - title: Mojaloop SDK Outbound Scheme Adapter API - description: > - Specification for the Mojaloop SDK Scheme Adapter Outbound Transfers API - - - This API can be used by DFSP backends to simplify the process of sending - funds to other parties within a Mojaloop scheme. - - - Please see other documentation on - https://github.com/mojaloop/sdk-scheme-adapter for more information. - - - **Note on terminology:** The term "Switch" is equal to the term "Hub", and - the term "FSP" is equal to the term "DFSP". - license: - name: 'Apache License Version 2.0, January 2004' - url: 'http://www.apache.org/licenses/' - version: 1.0.0 -paths: - '/': - $ref: health.yaml - '/transfers': - $ref: paths/transfers.yaml - '/transfers/{transferId}': - $ref: 'paths/transfers_transferId.yaml' - '/bulkTransfers': - $ref: paths/bulkTransfers.yaml - '/bulkTransfers/{bulkTransferId}': - $ref: 'paths/bulkTransfers_bulkTransferId.yaml' - '/bulkQuotes': - $ref: paths/bulkQuotes.yaml - '/bulkQuotes/{bulkQuoteId}': - $ref: 'paths/bulkQuotes_bulkQuoteId.yaml' - '/requestToPay': - $ref: paths/requestToPay.yaml - '/requestToPayTransfer': - $ref: paths/requestToPayTransfer.yaml - '/requestToPayTransfer/{requestToPayTransactionId}': - $ref: 'paths/requestToPayTransfer_requestToPayTransactionId.yaml' - '/accounts': - $ref: paths/accounts.yaml - '/parties/{Type}/{ID}': - $ref: 'paths/parties_Type_ID.yaml' - '/parties/{Type}/{ID}/{SubId}': - $ref: 'paths/parties_Type_ID_SubId.yaml' - '/quotes': - $ref: 'paths/quotes.yaml' - '/simpleTransfers': - $ref: 'paths/simpleTransfers.yaml' diff --git a/src/OutboundServer/api_template/paths/accounts.yaml b/src/OutboundServer/api_template/paths/accounts.yaml deleted file mode 100644 index e7211e94a..000000000 --- a/src/OutboundServer/api_template/paths/accounts.yaml +++ /dev/null @@ -1,26 +0,0 @@ -post: - summary: Create accounts on the Account Lookup Service - description: >- - The HTTP request `POST /accounts` is used to create account information on - the Account Lookup Service (ALS) regarding the provided list of identities. - - - Caller DFSP is used as the account source FSP information - tags: - - Accounts - requestBody: - description: Identities list request body - content: - application/json: - schema: - $ref: ../components/schemas/accountsRequest.yaml - required: true - responses: - '200': - $ref: ../components/responses/accountsCreationCompleted.yaml - '400': - $ref: ../components/responses/accountsCreationError.yaml - '500': - $ref: ../components/responses/accountsCreationError.yaml - '504': - $ref: ../components/responses/accountsCreationTimeout.yaml diff --git a/src/OutboundServer/api_template/paths/bulkQuotes.yaml b/src/OutboundServer/api_template/paths/bulkQuotes.yaml deleted file mode 100644 index 7d4de0e6c..000000000 --- a/src/OutboundServer/api_template/paths/bulkQuotes.yaml +++ /dev/null @@ -1,23 +0,0 @@ -post: - summary: Request bulk quotes for the provided financial transactions - description: > - The HTTP request `POST /bulkQuotes` is used to request a bulk quote to - fascilitate funds transfer from payer DFSP to payees' DFSP. - tags: - - BulkQuotes - requestBody: - description: Bulk quote request body - content: - application/json: - schema: - $ref: ../components/schemas/bulkQuoteRequest.yaml - required: true - responses: - '200': - $ref: ../components/responses/bulkQuoteSuccess.yaml - '400': - $ref: ../components/responses/bulkQuoteBadRequest.yaml - '500': - $ref: ../components/responses/bulkQuoteServerError.yaml - '504': - $ref: ../components/responses/bulkQuoteTimeout.yaml diff --git a/src/OutboundServer/api_template/paths/bulkQuotes_bulkQuoteId.yaml b/src/OutboundServer/api_template/paths/bulkQuotes_bulkQuoteId.yaml deleted file mode 100644 index 991d5a806..000000000 --- a/src/OutboundServer/api_template/paths/bulkQuotes_bulkQuoteId.yaml +++ /dev/null @@ -1,24 +0,0 @@ -get: - summary: Retrieves information for a specific bulk quote - description: >- - The HTTP request `GET /bulkQuotes/{bulktQuoteId}` is used to get information - regarding a bulk quote created or requested earlier. The `{bulkQuoteId}` in - the URI should contain the `bulkQuoteId` that was used for the creation of - the bulk quote. - tags: - - BulkQuotes - parameters: - - $ref: ../components/parameters/bulkQuoteId.yaml - responses: - '200': - description: Bulk quote information successfully retrieved - content: - application/json: - schema: - $ref: ../components/schemas/bulkQuoteStatusResponse.yaml - '500': - description: An error occurred processing the bulk quote - content: - application/json: - schema: - $ref: ../components/schemas/errorResponse.yaml diff --git a/src/OutboundServer/api_template/paths/bulkTransfers.yaml b/src/OutboundServer/api_template/paths/bulkTransfers.yaml deleted file mode 100644 index d4daa12ce..000000000 --- a/src/OutboundServer/api_template/paths/bulkTransfers.yaml +++ /dev/null @@ -1,23 +0,0 @@ -post: - summary: Sends money from one account to multiple accounts - description: > - The HTTP request `POST /bulkTransfers` is used to request the movement of - funds from payer DFSP to payees' DFSP. - tags: - - BulkTransfers - requestBody: - description: Bulk transfer request body - content: - application/json: - schema: - $ref: ../components/schemas/bulkTransferRequest.yaml - required: true - responses: - '200': - $ref: ../components/responses/bulkTransferSuccess.yaml - '400': - $ref: ../components/responses/bulkTransferBadRequest.yaml - '500': - $ref: ../components/responses/bulkTransferServerError.yaml - '504': - $ref: ../components/responses/bulkTransferTimeout.yaml diff --git a/src/OutboundServer/api_template/paths/bulkTransfers_bulkTransferId.yaml b/src/OutboundServer/api_template/paths/bulkTransfers_bulkTransferId.yaml deleted file mode 100644 index e1a9eb7f3..000000000 --- a/src/OutboundServer/api_template/paths/bulkTransfers_bulkTransferId.yaml +++ /dev/null @@ -1,24 +0,0 @@ -get: - summary: Retrieves information for a specific bulk transfer - description: >- - The HTTP request `GET /bulkTransfers/{bulktTransferId}` is used to get - information regarding a bulk transfer created or requested earlier. The - `{bulkTransferId}` in the URI should contain the `bulkTransferId` that was - used for the creation of the bulk transfer. - tags: - - BulkTransfers - parameters: - - $ref: ../components/parameters/bulkTransferId.yaml - responses: - '200': - description: Bulk transfer information successfully retrieved - content: - application/json: - schema: - $ref: ../components/schemas/bulkTransferStatusResponse.yaml - '500': - description: An error occurred processing the bulk transfer - content: - application/json: - schema: - $ref: ../components/schemas/errorResponse.yaml diff --git a/src/OutboundServer/api_template/paths/parties_Type_ID.yaml b/src/OutboundServer/api_template/paths/parties_Type_ID.yaml deleted file mode 100644 index 94df54fd7..000000000 --- a/src/OutboundServer/api_template/paths/parties_Type_ID.yaml +++ /dev/null @@ -1,20 +0,0 @@ -parameters: - - $ref: >- - ../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/parameters/Type.yaml - - $ref: >- - ../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/parameters/ID.yaml -get: - description: >- - The HTTP request GET /parties// (or GET /parties///) is used to lookup - information regarding the requested Party, defined by , and optionally (for - example, GET /parties/MSISDN/123456789, or GET - /parties/BUSINESS/shoecompany/employee1). - summary: PartiesByTypeAndID - tags: - - parties - operationId: PartiesByTypeAndID - responses: - '200': - $ref: ../components/responses/partiesByIdSuccess.yaml - '404': - $ref: ../components/responses/partiesByIdError404.yaml diff --git a/src/OutboundServer/api_template/paths/parties_Type_ID_SubId.yaml b/src/OutboundServer/api_template/paths/parties_Type_ID_SubId.yaml deleted file mode 100644 index 4d62e9cae..000000000 --- a/src/OutboundServer/api_template/paths/parties_Type_ID_SubId.yaml +++ /dev/null @@ -1,22 +0,0 @@ -parameters: - - $ref: >- - ../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/parameters/Type.yaml - - $ref: >- - ../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/parameters/ID.yaml - - $ref: >- - ../../../../node_modules/@mojaloop/api-snippets/fspiop/v1_1/openapi3/components/parameters/SubId.yaml -get: - description: >- - The HTTP request GET /parties// (or GET /parties///) is used to lookup - information regarding the requested Party, defined by , and optionally (for - example, GET /parties/MSISDN/123456789, or GET - /parties/BUSINESS/shoecompany/employee1). - summary: PartiesSubIdByTypeAndID - tags: - - parties - operationId: PartiesSubIdByTypeAndID - responses: - '200': - $ref: ../components/responses/partiesByIdSuccess.yaml - '404': - $ref: ../components/responses/partiesByIdError404.yaml diff --git a/src/OutboundServer/api_template/paths/quotes.yaml b/src/OutboundServer/api_template/paths/quotes.yaml deleted file mode 100644 index 8f5322e28..000000000 --- a/src/OutboundServer/api_template/paths/quotes.yaml +++ /dev/null @@ -1,20 +0,0 @@ -post: - summary: Quotes endpoint - description: >- - is used to request quotes from other DFSP - tags: - - quotes - operationId: QuotesPost - requestBody: - description: Quotes request payload - content: - application/json: - schema: - $ref: ../components/schemas/quotesPostRequest.yaml - required: true - responses: - '200': - $ref: ../components/responses/quotesPostSuccess.yaml - '500': - $ref: ../components/responses/quotesServerError.yaml - \ No newline at end of file diff --git a/src/OutboundServer/api_template/paths/requestToPay.yaml b/src/OutboundServer/api_template/paths/requestToPay.yaml deleted file mode 100644 index cbf0a9823..000000000 --- a/src/OutboundServer/api_template/paths/requestToPay.yaml +++ /dev/null @@ -1,22 +0,0 @@ -post: - summary: Receiver requesting funds from Sender - description: > - The HTTP request `POST /requestToPay` is used to support Pull Funds pattern - where in a receiver can request for funds from the Sender. - - The underlying API has two stages: - - 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - 2. Transaction Request. This request enables a Payee to request Payer to send electronic funds to the Payee. - tags: - - RequestToPay - requestBody: - description: RequestToPay request body - content: - application/json: - schema: - $ref: ../components/schemas/requestToPayRequest.yaml - required: true - responses: - '200': - $ref: ../components/responses/requestToPaySuccess.yaml diff --git a/src/OutboundServer/api_template/paths/requestToPayTransfer.yaml b/src/OutboundServer/api_template/paths/requestToPayTransfer.yaml deleted file mode 100644 index c3b27bc53..000000000 --- a/src/OutboundServer/api_template/paths/requestToPayTransfer.yaml +++ /dev/null @@ -1,57 +0,0 @@ -post: - summary: >- - Used to trigger funds from customer fsp account to merchant fsp account. - This is a follow-up request to requestToPay. - description: > - The HTTP request `POST /requestToPayTransfer` is used to request the - movement of funds from payer DFSP to payee DFSP. - - The underlying Mojaloop API has three stages for money transfer: - - 1. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - 2. Authorization. This facilitates getting OTP from payee DFSP. - 3. Transfer. The enactment of the previously agreed "contract" - - This method has several modes of operation. - - - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` - this method will terminate and return the quotation when it has been - received from the payee DFSP. - If the payee wished to proceed with the otp, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - The scheme adapter will then proceed with the transfer state. - - - If the configuration variable `AUTO_ACCEPT_OTP` is set to `"false"` this - method will terminate and return the otp when it has been received from the - payee DFSP. - If the payer wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - The scheme adapter will then proceed with the transfer state. - - If the configuration variables `AUTO_ACCEPT_PARTIES` and - `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block until - all three transfer stages are complete. Upon completion it will return the - entire set of transfer details received during the operation. - - - Combinations of settings for `AUTO_ACCEPT...` configuration variables allow - the scheme adapter user to decide which mode of operation best suits their - use cases. i.e. the scheme adapter can be configured to "break" the three - stage transfer at these points in order to execute backend logic such as - party verification, quoted fees assessments etc... - tags: - - RequestToPayTransfer - requestBody: - description: Request To Pay Transfer request body - content: - application/json: - schema: - $ref: ../components/schemas/requestToPayTransferRequest.yaml - required: true - responses: - '200': - $ref: ../components/responses/requestToPayTransferSuccess.yaml - '400': - $ref: ../components/responses/requestToPayTransferBadRequest.yaml - '500': - $ref: ../components/responses/transferServerError.yaml - '504': - $ref: ../components/responses/transferTimeout.yaml diff --git a/src/OutboundServer/api_template/paths/requestToPayTransfer_requestToPayTransactionId.yaml b/src/OutboundServer/api_template/paths/requestToPayTransfer_requestToPayTransactionId.yaml deleted file mode 100644 index 2d3147640..000000000 --- a/src/OutboundServer/api_template/paths/requestToPayTransfer_requestToPayTransactionId.yaml +++ /dev/null @@ -1,34 +0,0 @@ -put: - summary: >- - Continues a transfer that has paused at the otp stage in order to accept or - reject quote - description: > - The HTTP request `PUT /transfers/{transferId}` is used to continue a - transfer initiated via the `POST /transfers` method that has halted after - party lookup and/or quotation stage. - - - The request body should contain either the "acceptOTP" or "acceptQuote" - property set to `true` as required to continue the transfer. - - - See the description of the `POST /requestToPayTransfer` HTTP method for more - information on modes of transfer. - tags: - - RequestToPayTransferID - requestBody: - content: - application/json: - schema: - oneOf: - - $ref: ../components/schemas/transferContinuationAcceptQuote.yaml - - $ref: ../components/schemas/transferContinuationAcceptOTP.yaml - parameters: - - $ref: ../components/parameters/requestToPayTransactionId.yaml - responses: - '200': - $ref: ../components/responses/transferSuccess.yaml - '500': - $ref: ../components/responses/transferServerError.yaml - '504': - $ref: ../components/responses/transferTimeout.yaml diff --git a/src/OutboundServer/api_template/paths/simpleTransfers.yaml b/src/OutboundServer/api_template/paths/simpleTransfers.yaml deleted file mode 100644 index 137da5633..000000000 --- a/src/OutboundServer/api_template/paths/simpleTransfers.yaml +++ /dev/null @@ -1,19 +0,0 @@ -post: - summary: Simple Transfers endpoint - description: >- - is used to request a transfer - tags: - - transfers - operationId: SimpleTransfersPost - requestBody: - description: Simple Transfer request payload - content: - application/json: - schema: - $ref: ../components/schemas/simpleTransfersPostRequest.yaml - required: true - responses: - '200': - $ref: ../components/responses/simpleTransfersPostSuccess.yaml - '500': - $ref: ../components/responses/simpleTransfersServerError.yaml diff --git a/src/OutboundServer/api_template/paths/transfers.yaml b/src/OutboundServer/api_template/paths/transfers.yaml deleted file mode 100644 index 07d11a2fd..000000000 --- a/src/OutboundServer/api_template/paths/transfers.yaml +++ /dev/null @@ -1,55 +0,0 @@ -post: - summary: Sends money from one account to another - description: > - The HTTP request `POST /transfers` is used to request the movement of funds - from payer DFSP to payee DFSP. - - The underlying Mojaloop API has three stages for money transfer: - - 1. Party lookup. This facilitates a check by the sending party that the destination party is correct before proceeding with a money movement. - 2. Quotation. This facilitates the exchange of fee information and the construction of a cryptographic "contract" between payee and payer DFSPs before funds are transferred. - 3. Transfer. The enactment of the previously agreed "contract" - - This method has several modes of operation. - - - If the configuration variables `AUTO_ACCEPT_PARTIES` is set to `"false"` - this method will terminate when the payee party has been resolved and return - the payee party details. - If the payee wishes to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the payee party) is required to continue the operation. - The scheme adapter will then proceed with quotation stage... - - - If the configuration variable `AUTO_ACCEPT_QUOTES` is set to `"false"` - this method will terminate and return the quotation when it has been - received from the payee DFSP. - If the payee wished to proceed with the transfer, then a subsequent `PUT /transfers/{transferId}` request (accepting the quote) is required to continue the operation. - The scheme adapter will then proceed with the transfer state. - - If the configuration variables `AUTO_ACCEPT_PARTIES` and - `AUTO_ACCEPT_QUOTES` are both set to `"true"` this method will block until - all three transfer stages are complete. Upon completion it will return the - entire set of transfer details received during the operation. - - - Combinations of settings for `AUTO_ACCEPT...` configuration variables allow - the scheme adapter user to decide which mode of operation best suits their - use cases. i.e. the scheme adapter can be configured to "break" the three - stage transfer at these points in order to execute backend logic such as - party verification, quoted fees assessments etc... - tags: - - Transfers - requestBody: - description: Transfer request body - content: - application/json: - schema: - $ref: ../components/schemas/transferRequest.yaml - required: true - responses: - '200': - $ref: ../components/responses/transferSuccess.yaml - '400': - $ref: ../components/responses/transferBadRequest.yaml - '500': - $ref: ../components/responses/transferServerError.yaml - '504': - $ref: ../components/responses/transferTimeout.yaml diff --git a/src/OutboundServer/api_template/paths/transfers_transferId.yaml b/src/OutboundServer/api_template/paths/transfers_transferId.yaml deleted file mode 100644 index 25fc917e2..000000000 --- a/src/OutboundServer/api_template/paths/transfers_transferId.yaml +++ /dev/null @@ -1,58 +0,0 @@ -put: - summary: >- - Continues a transfer that has paused at the quote stage in order to accept - or reject payee party and/or quote - description: > - The HTTP request `PUT /transfers/{transferId}` is used to continue a - transfer initiated via the `POST /transfers` method that has halted after - party lookup and/or quotation stage. - - - The request body should contain either the "acceptParty" or "acceptQuote" - property set to `true` as required to continue the transfer. - - - See the description of the `POST /transfers` HTTP method for more - information on modes of transfer. - tags: - - Transfers - requestBody: - content: - application/json: - schema: - oneOf: - - $ref: ../components/schemas/transferContinuationAcceptParty.yaml - - $ref: ../components/schemas/transferContinuationAcceptQuote.yaml - parameters: - - $ref: ../components/parameters/transferId.yaml - responses: - '200': - $ref: ../components/responses/transferSuccess.yaml - '500': - $ref: ../components/responses/transferServerError.yaml - '504': - $ref: ../components/responses/transferTimeout.yaml -get: - summary: Retrieves information for a specific transfer - description: >- - The HTTP request `GET /transfers/{transferId}` is used to get information - regarding a transfer created or requested earlier. The `{transferId}` in the - URI should contain the `transferId` that was used for the creation of the - transfer. - tags: - - Transfers - parameters: - - $ref: ../components/parameters/transferId.yaml - responses: - '200': - description: Transfer information successfully retrieved - content: - application/json: - schema: - $ref: ../components/schemas/transferStatusResponse.yaml - '500': - description: An error occurred processing the transfer - content: - application/json: - schema: - $ref: ../components/schemas/errorResponse.yaml diff --git a/src/OutboundServer/index.js b/src/OutboundServer/index.js index 6b804b596..7677abb8d 100644 --- a/src/OutboundServer/index.js +++ b/src/OutboundServer/index.js @@ -90,7 +90,7 @@ class OutboundServer extends EventEmitter { async start() { await this._api.start(); - const specPath = path.join(__dirname, 'api.yaml'); + const specPath = path.join(path.dirname(require.resolve('@mojaloop/api-snippets')), '../docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml'); const apiSpecs = yaml.load(fs.readFileSync(specPath)); await this._validator.initialise(apiSpecs); await new Promise((resolve) => this._server.listen(this._conf.outbound.port, resolve)); diff --git a/test/unit/api/utils.js b/test/unit/api/utils.js index f1737ce97..d8bfed597 100644 --- a/test/unit/api/utils.js +++ b/test/unit/api/utils.js @@ -12,11 +12,16 @@ const Cache = require('~/lib/cache'); /** * Get OpenAPI spec and Validator for specified server - * @param serverType String + * @param {('OUTBOUND'|'INBOUND')} serverType * @return {Promise<{apiSpecs: Object, validator: Validator}>} */ const readApiInfo = async (serverType) => { - const specPath = path.join(__dirname, `../../../src/${serverType}/api.yaml`); + let specPath; + if (serverType === 'OUTBOUND') { + specPath = path.join(path.dirname(require.resolve('@mojaloop/api-snippets')), '../docs/sdk-scheme-adapter-outbound-v2_0_0-openapi3-snippets.yaml'); + } else if (serverType === 'INBOUND') { + specPath = path.join(__dirname, '../../../src/InboundServer/api.yaml'); + } const apiSpecs = yaml.load(fs.readFileSync(specPath)); const validator = new Validate(); await validator.initialise(apiSpecs); @@ -24,11 +29,11 @@ const readApiInfo = async (serverType) => { }; const createValidators = async () => { - const apiInfoOutbound = await readApiInfo('OutboundServer'); + const apiInfoOutbound = await readApiInfo('OUTBOUND'); const apiSpecsOutbound = apiInfoOutbound.apiSpecs; const requestValidatorOutbound = apiInfoOutbound.validator; - const apiInfoInbound = await readApiInfo('InboundServer'); + const apiInfoInbound = await readApiInfo('INBOUND'); const apiSpecsInbound = apiInfoInbound.apiSpecs; const requestValidatorInbound = apiInfoInbound.validator; return {