From 85f308be589b41f0c7281c65163d791b8052accf Mon Sep 17 00:00:00 2001 From: vijayg10 <33152110+vijayg10@users.noreply.github.com> Date: Wed, 24 Aug 2022 20:32:30 +0530 Subject: [PATCH] fix(mojaloop/2886): fix bulk-quotes and bulk-transfers functionality (#344) fix(mojaloop/2886): fix bulk-quotes and bulk-transfers functionality (#344) * fix: added bulk-quotes to inbound api definition * chore: updated TTK version, updated TTK config files and changed ttk port * fix: bulk quotes callback redis publish channel * fix: fixed bulk quotes and bulk transfers response in outbound api * chore: updated mojaloop sim api in ttk --- audit-ci.jsonc | 3 +- docker-compose.yml | 32 +- .../test_outbound_p2p_and_bulk.json | 125 + .../central_admin_9.3/api_spec.yaml | 2450 ------ .../central_admin_9.3/response_map.json | 96 - .../api_definitions/fspiop_1.0/mockRef.json | 4 - .../api_definitions/fspiop_1.1/api_spec.yaml | 7481 +++++++++-------- .../api_definitions/fspiop_1.1/mockRef.json | 4 - .../api_spec.yaml | 2603 ++++++ .../mockRef.json | 22 + .../response_map.json | 21 + .../mojaloop_simulator_sim_1.4/api_spec.yaml | 1087 +++ .../mojaloop_simulator_sim_1.4/mockRef.json | 75 + .../response_map.json | 55 + .../settlements_1.0/api_spec.yaml | 983 --- .../settlements_1.0/mockRef.json | 38 - .../settlements_1.0/response_map.json | 34 - .../templates/newman/html_template.html | 66 +- .../templates/newman/pdf_template.html | 30 +- .../reports/templates/newman/script.js | 98 - .../testcase_definition/table_view.html | 133 + .../spec_files/rules_callback/default.json | 176 +- .../spec_files/rules_validation/default.json | 2 +- .../spec_files/system_config.json | 60 +- .../spec_files/user_config.json | 27 +- docker/wait4/wait4.config.js | 4 +- package-lock.json | 906 +- package.json | 24 +- src/InboundServer/api.yaml | 103 + src/InboundServer/handlers.js | 4 +- src/lib/model/OutboundBulkQuotesModel.js | 4 +- src/lib/model/OutboundBulkTransfersModel.js | 14 +- src/lib/model/lib/shared.js | 61 +- test/config/integration.env | 6 +- .../lib/Outbound/data/quotesPostRequest.json | 3 +- .../lib/model/OutboundBulkQuotesModel.test.js | 7 +- .../model/OutboundBulkTransfersModel.test.js | 10 +- .../lib/model/data/bulkTransferFulfil.json | 2 +- 38 files changed, 8990 insertions(+), 7863 deletions(-) create mode 100644 docker/ml-testing-toolkit/sample-tests/test_outbound_p2p_and_bulk.json delete mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/central_admin_9.3/api_spec.yaml delete mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/central_admin_9.3/response_map.json create mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml create mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/mockRef.json create mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/response_map.json create mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/api_spec.yaml create mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/mockRef.json create mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/response_map.json delete mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/api_spec.yaml delete mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/mockRef.json delete mode 100644 docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/response_map.json delete mode 100644 docker/ml-testing-toolkit/spec_files/reports/templates/newman/script.js create mode 100644 docker/ml-testing-toolkit/spec_files/reports/templates/testcase_definition/table_view.html diff --git a/audit-ci.jsonc b/audit-ci.jsonc index 8b8472af6..ae258d833 100644 --- a/audit-ci.jsonc +++ b/audit-ci.jsonc @@ -11,6 +11,7 @@ "GHSA-mjxr-4v3x-q3m4", "GHSA-rjqq-98f6-6j3r", "GHSA-3cvr-822r-rqcc", - "GHSA-p9pc-299p-vxgp" + "GHSA-p9pc-299p-vxgp", + "GHSA-8qr4-xgw6-wmr3" ] } diff --git a/docker-compose.yml b/docker-compose.yml index d943a6a02..9b466a718 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -30,14 +30,14 @@ services: ml-testing-toolkit: networks: - mojaloop-net - image: mojaloop/ml-testing-toolkit:v11.7.11 + image: mojaloop/ml-testing-toolkit:v15.0.0 container_name: ml-testing-toolkit volumes: - - "./docker/ml-testing-toolkit/spec_files:/opt/mojaloop-testing-toolkit/spec_files" - - "./docker/ml-testing-toolkit/secrets:/opt/mojaloop-testing-toolkit/secrets" + - "./docker/ml-testing-toolkit/spec_files:/opt/app/spec_files" + - "./docker/ml-testing-toolkit/secrets:/opt/app/secrets" ports: - - "5000:5000" + - "4040:4040" - "5050:5050" environment: - AUTH_ENABLED=FALSE @@ -54,15 +54,15 @@ services: # # for local development we want to have ttk-ui # - # mojaloop-testing-toolkit-ui: - # image: mojaloop/ml-testing-toolkit-ui:v11.8.4 - # ports: - # - "6060:6060" - # networks: - # - mojaloop-net - # environment: - # - API_BASE_URL=http://localhost:5050 - # - AUTH_ENABLED=FALSE - # command: - # - sh - # - /usr/share/nginx/start.sh + mojaloop-testing-toolkit-ui: + image: mojaloop/ml-testing-toolkit-ui:v15.0.0 + ports: + - "6060:6060" + networks: + - mojaloop-net + environment: + - API_BASE_URL=http://localhost:5050 + - AUTH_ENABLED=FALSE + command: + - sh + - /usr/share/nginx/start.sh diff --git a/docker/ml-testing-toolkit/sample-tests/test_outbound_p2p_and_bulk.json b/docker/ml-testing-toolkit/sample-tests/test_outbound_p2p_and_bulk.json new file mode 100644 index 000000000..02ef60d3c --- /dev/null +++ b/docker/ml-testing-toolkit/sample-tests/test_outbound_p2p_and_bulk.json @@ -0,0 +1,125 @@ +{ + "name": "multi", + "test_cases": [ + { + "id": 3, + "name": "outbound-post-bulk-quotes", + "requests": [ + { + "id": 1, + "description": "Post BulkQuotes", + "apiVersion": { + "minorVersion": 0, + "majorVersion": 1, + "type": "scheme_adapter_outbound", + "prefix": "/sdk-out", + "hostnames": [], + "specFile": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml", + "callbackMapFile": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/callback_map.json", + "responseMapFile": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/response_map.json", + "jsfRefFile": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/mockRef.json", + "triggerTemplatesFolder": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/trigger_templates" + }, + "operationPath": "/bulkQuotes", + "path": "/bulkQuotes", + "method": "post", + "url": "http://172.17.0.1:4001", + "body": { + "homeTransactionId": "7c5eaec1-5db2-4aca-92dd-0b68071becaa", + "bulkQuoteId": "7106d650-fb27-4a2a-9b70-c9731fc058aa", + "from": { + "idType": "MSISDN", + "idValue": "123456789", + "type": "CONSUMER", + "displayName": "PayerFirst PayerLast", + "firstName": "PayerFirst", + "middleName": "Something", + "lastName": "PayerLast", + "fspId": "ttkpm4mlreceiver" + }, + "individualQuotes": [ + { + "quoteId": "5fdba48f-0388-4a56-94e9-57f1bc4d78fc", + "to": { + "type": "CONSUMER", + "idType": "MSISDN", + "idValue": "48500002222", + "fspId": "ttkpm4mlreceiver" + }, + "amountType": "SEND", + "currency": "USD", + "amount": "10", + "transactionType": "TRANSFER", + "note": "test" + } + ] + } + }, + { + "id": 2, + "description": "bulkTransfers", + "apiVersion": { + "minorVersion": 0, + "majorVersion": 1, + "type": "scheme_adapter_outbound", + "prefix": "/sdk-out", + "hostnames": [], + "specFile": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml", + "callbackMapFile": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/callback_map.json", + "responseMapFile": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/response_map.json", + "jsfRefFile": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/mockRef.json", + "triggerTemplatesFolder": "spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/trigger_templates" + }, + "operationPath": "/bulkTransfers", + "path": "/bulkTransfers", + "method": "post", + "url": "http://172.17.0.1:4001", + "body": { + "homeTransactionId": "{$prev.1.request.body.homeTransactionId}", + "bulkTransferId": "{$function.generic.generateUUID}", + "bulkQuoteId": "7106d650-fb27-4a2a-9b70-c9731fc058aa", + "from": { + "idType": "MSISDN", + "idValue": "123456789", + "type": "CONSUMER", + "displayName": "PayerFirst PayerLast", + "firstName": "PayerFirst", + "middleName": "Something", + "lastName": "PayerLast", + "fspId": "ttkpm4mlreceiver" + }, + "individualTransfers": [ + { + "transferId": "{$function.generic.generateUUID}", + "to": { + "type": "CONSUMER", + "idType": "MSISDN", + "idValue": "48500002222", + "fspId": "ttkpm4mlreceiver" + }, + "amountType": "SEND", + "currency": "USD", + "amount": "10", + "transactionType": "TRANSFER", + "note": "string", + "ilpPacket": "{$prev.1.response.body.individualQuoteResults[0].ilpPacket}", + "condition": "{$prev.1.response.body.individualQuoteResults[0].condition}" + } + ], + "extensions": { + "extension": [ + { + "key": "string", + "value": "string" + } + ] + } + } + } + ], + "fileInfo": { + "path": "test_sdk1.json" + } + } + ] +} \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/central_admin_9.3/api_spec.yaml b/docker/ml-testing-toolkit/spec_files/api_definitions/central_admin_9.3/api_spec.yaml deleted file mode 100644 index 26774064e..000000000 --- a/docker/ml-testing-toolkit/spec_files/api_definitions/central_admin_9.3/api_spec.yaml +++ /dev/null @@ -1,2450 +0,0 @@ -openapi: 3.0.1 -info: - title: Central Ledger API Documentation - version: 9.3.0 -servers: -- url: http://127.0.0.1:3001/ -tags: [] -paths: - /enums: - get: - tags: - - enums - operationId: getEnums - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - /health: - get: - tags: - - health - operationId: getHealth - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - /metrics: - get: - tags: - - metrics - summary: Prometheus metrics endpoint - operationId: getMetrics - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - /participants: - get: - tags: - - participants - operationId: getParticipants - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - post: - tags: - - participants - operationId: postParticipants - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%201' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - /participants/limits: - get: - tags: - - participants - summary: View limits for all participants - operationId: getParticipantsLimits - parameters: - - name: currency - in: query - description: Currency code - schema: - type: string - enum: - - AED - - AFA - - AFN - - ALL - - AMD - - ANG - - AOA - - AOR - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EEK - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LTL - - LVL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XAG - - XAU - - XCD - - XDR - - XFO - - XFU - - XOF - - XPD - - XPF - - XPT - - YER - - ZAR - - ZMK - - ZMW - - ZWD - - ZWL - - ZWN - - ZWR - - name: type - in: query - description: Limit Type - schema: - type: string - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - /participants/{name}: - get: - tags: - - participants - operationId: getParticipantsName - parameters: - - $ref: '#/components/parameters/name' - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - put: - tags: - - participants - operationId: putParticipantsName - parameters: - - name: name - in: path - description: Participant name - required: true - schema: - type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%207' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - /participants/{name}/endpoints: - get: - tags: - - participants - summary: View participant endpoints - operationId: getParticipantsNameEndpoints - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - post: - tags: - - participants - summary: Add/Update participant endpoints - operationId: postParticipantsNameEndpoints - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%202' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - /participants/{name}/limits: - get: - tags: - - participants - summary: View participant limits - operationId: getParticipantsNameLimits - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - - name: currency - in: query - description: Currency code - schema: - type: string - enum: - - AED - - AFA - - AFN - - ALL - - AMD - - ANG - - AOA - - AOR - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EEK - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LTL - - LVL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XAG - - XAU - - XCD - - XDR - - XFO - - XFU - - XOF - - XPD - - XPF - - XPT - - YER - - ZAR - - ZMK - - ZMW - - ZWD - - ZWL - - ZWN - - ZWR - - name: type - in: query - description: Limit Type - schema: - type: string - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - put: - tags: - - participants - summary: Adjust participant limits - operationId: putParticipantsNameLimits - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%209' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - /participants/{name}/positions: - get: - tags: - - participants - summary: View participant positions - operationId: getParticipantsNamePositions - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - - name: currency - in: query - description: Currency code - schema: - type: string - enum: - - AED - - AFA - - AFN - - ALL - - AMD - - ANG - - AOA - - AOR - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EEK - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LTL - - LVL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XAG - - XAU - - XCD - - XDR - - XFO - - XFU - - XOF - - XPD - - XPF - - XPT - - YER - - ZAR - - ZMK - - ZMW - - ZWD - - ZWL - - ZWN - - ZWR - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - /participants/{name}/accounts: - get: - tags: - - participants - summary: View participant accounts and balances - operationId: getParticipantsNameAccounts - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - post: - tags: - - participants - summary: Create hub accounts - operationId: postParticipantsNameAccounts - parameters: - - name: name - in: path - description: Participant name - required: true - schema: - type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%204' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - /participants/{name}/initialPositionAndLimits: - post: - tags: - - participants - summary: Add initial participant limits and position - operationId: postParticipantsNameInitialpositionandlimits - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%203' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - /participants/{name}/accounts/{id}: - put: - tags: - - participants - summary: Update participant accounts - operationId: putParticipantsNameAccountsId - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - - name: id - in: path - required: true - schema: - type: integer - x-constraint: - positive: true - x-constraint: - positive: true - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%2010' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - post: - tags: - - participants - summary: Record Funds In or Out of participant account - operationId: postParticipantsNameAccountsId - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - - name: id - in: path - required: true - schema: - type: integer - x-constraint: - positive: true - x-constraint: - positive: true - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%206' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - /participants/{name}/accounts/{id}/transfers/{transferId}: - put: - tags: - - participants - summary: Record Funds In or Out of participant account - operationId: putParticipantsNameAccountsIdTransfersTransferid - parameters: - - name: name - in: path - description: Name of the participant - required: true - schema: - maxLength: 30 - minLength: 2 - type: string - x-format: - alphanum: true - x-format: - alphanum: true - - name: id - in: path - required: true - schema: - type: integer - x-constraint: - positive: true - x-constraint: - positive: true - - name: transferId - in: path - required: true - schema: - type: string - x-format: - guid: true - x-format: - guid: true - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%2011' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - /settlementModels: - get: - tags: - - settlementModels - operationId: getSettlementmodels - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - post: - tags: - - settlementModels - operationId: postSettlementmodels - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%2012' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body - /settlementModels/{name}: - get: - tags: - - settlementModels - operationId: getSettlementmodelsName - parameters: - - name: name - in: path - description: SettlementModel name - required: true - schema: - type: string - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - put: - tags: - - settlementModels - operationId: putSettlementmodelsName - parameters: - - name: name - in: path - description: settlementModel name - required: true - schema: - type: string - requestBody: - content: - '*/*': - schema: - $ref: '#/components/schemas/Model%2013' - required: false - responses: - default: - description: Successful - content: - '*/*': - schema: - type: string - x-codegen-request-body-name: body -components: - parameters: - name: - name: name - in: path - required: true - schema: - type: string - schemas: - Model 1: - required: - - name - type: object - properties: - name: - maxLength: 30 - minLength: 2 - type: string - description: Name of the participant - x-format: - alphanum: true - currency: - type: string - description: Currency code - enum: - - AED - - AFA - - AFN - - ALL - - AMD - - ANG - - AOA - - AOR - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EEK - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LTL - - LVL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XAG - - XAU - - XCD - - XDR - - XFO - - XFU - - XOF - - XPD - - XPF - - XPT - - YER - - ZAR - - ZMK - - ZMW - - ZWD - - ZWL - - ZWN - - ZWR - Model 2: - required: - - type - - value - type: object - properties: - type: - type: string - description: Endpoint Type - value: - type: string - description: Endpoint Value - limit: - required: - - type - - value - type: object - properties: - type: - type: string - description: Limit Type - value: - type: number - description: Limit Value - x-constraint: - positive: true - description: Participant Limit - Model 3: - required: - - limit - type: object - properties: - currency: - type: string - description: Currency code - enum: - - AED - - AFA - - AFN - - ALL - - AMD - - ANG - - AOA - - AOR - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EEK - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LTL - - LVL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XAG - - XAU - - XCD - - XDR - - XFO - - XFU - - XOF - - XPD - - XPF - - XPT - - YER - - ZAR - - ZMK - - ZMW - - ZWD - - ZWL - - ZWN - - ZWR - limit: - $ref: '#/components/schemas/limit' - initialPosition: - type: number - description: Initial Position Value - Model 4: - required: - - type - type: object - properties: - currency: - type: string - description: Currency code - enum: - - AED - - AFA - - AFN - - ALL - - AMD - - ANG - - AOA - - AOR - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EEK - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LTL - - LVL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XAG - - XAU - - XCD - - XDR - - XFO - - XFU - - XOF - - XPD - - XPF - - XPT - - YER - - ZAR - - ZMK - - ZMW - - ZWD - - ZWL - - ZWN - - ZWR - type: - type: string - description: Account type - No amount provided: - required: - - amount - type: object - properties: - amount: - type: number - x-constraint: - precision: 4 - positive: true - currency: - type: string - description: Currency code - enum: - - AED - - AFA - - AFN - - ALL - - AMD - - ANG - - AOA - - AOR - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EEK - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LTL - - LVL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XAG - - XAU - - XCD - - XDR - - XFO - - XFU - - XOF - - XPD - - XPF - - XPT - - YER - - ZAR - - ZMK - - ZMW - - ZWD - - ZWL - - ZWN - - ZWR - Model 5: - type: object - properties: - key: - type: string - value: - type: string - extension: - type: array - items: - $ref: '#/components/schemas/Model%205' - extensionList: - type: object - properties: - extension: - $ref: '#/components/schemas/extension' - Model 6: - required: - - action - - amount - - externalReference - - reason - - transferId - type: object - properties: - transferId: - type: string - x-format: - guid: true - externalReference: - type: string - action: - type: string - enum: - - recordFundsIn - - recordFundsOutPrepareReserve - reason: - type: string - amount: - $ref: '#/components/schemas/No%20amount%20provided' - extensionList: - $ref: '#/components/schemas/extensionList' - Model 7: - required: - - isActive - type: object - properties: - isActive: - type: boolean - description: Participant isActive boolean - Model 8: - required: - - alarmPercentage - - type - - value - type: object - properties: - type: - type: string - description: Limit Type - value: - type: number - description: Limit Value - alarmPercentage: - type: number - description: limit threshold alarm percentage value - description: Participant Limit - Model 9: - required: - - limit - type: object - properties: - currency: - type: string - description: Currency code - enum: - - AED - - AFA - - AFN - - ALL - - AMD - - ANG - - AOA - - AOR - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BRL - - BSD - - BTN - - BWP - - BYN - - BZD - - CAD - - CDF - - CHF - - CLP - - CNY - - COP - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EEK - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LTL - - LVL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XAG - - XAU - - XCD - - XDR - - XFO - - XFU - - XOF - - XPD - - XPF - - XPT - - YER - - ZAR - - ZMK - - ZMW - - ZWD - - ZWL - - ZWN - - ZWR - limit: - $ref: '#/components/schemas/Model%208' - Model 10: - required: - - isActive - type: object - properties: - isActive: - type: boolean - description: Participant currency isActive boolean - Model 11: - required: - - reason - type: object - properties: - action: - type: string - enum: - - recordFundsOutCommit - - recordFundsOutAbort - reason: - type: string - Model 12: - required: - - autoPositionReset - - ledgerAccountType - - name - - requireLiquidityCheck - - settlementDelay - - settlementGranularity - - settlementInterchange - type: object - properties: - name: - maxLength: 30 - minLength: 2 - type: string - description: Name of the settlement model - x-format: - alphanum: true - settlementGranularity: - type: string - description: Granularity type for the settlement model GROSS or NET - enum: - - GROSS - - NET - settlementInterchange: - type: string - description: Interchange type for the settlement model BILATERAL or MULTILATERAL - enum: - - BILATERAL - - MULTILATERAL - settlementDelay: - type: string - description: Delay type for the settlement model IMMEDIATE or DEFERRED - enum: - - DEFERRED - - IMMEDIATE - currency: - type: string - description: Currency code - enum: - - AED - - AFA - - AFN - - ALL - - AMD - - ANG - - AOA - - AOR - - ARS - - AUD - - AWG - - AZN - - BAM - - BBD - - BDT - - BGN - - BHD - - BIF - - BMD - - BND - - BOB - - BOV - - BRL - - BSD - - BTN - - BWP - - BYN - - BYR - - BZD - - CAD - - CDF - - CHE - - CHF - - CHW - - CLF - - CLP - - CNY - - COP - - COU - - CRC - - CUC - - CUP - - CVE - - CZK - - DJF - - DKK - - DOP - - DZD - - EEK - - EGP - - ERN - - ETB - - EUR - - FJD - - FKP - - GBP - - GEL - - GGP - - GHS - - GIP - - GMD - - GNF - - GTQ - - GYD - - HKD - - HNL - - HRK - - HTG - - HUF - - IDR - - ILS - - IMP - - INR - - IQD - - IRR - - ISK - - JEP - - JMD - - JOD - - JPY - - KES - - KGS - - KHR - - KMF - - KPW - - KRW - - KWD - - KYD - - KZT - - LAK - - LBP - - LKR - - LRD - - LSL - - LTL - - LVL - - LYD - - MAD - - MDL - - MGA - - MKD - - MMK - - MNT - - MOP - - MRO - - MUR - - MVR - - MWK - - MXN - - MXV - - MYR - - MZN - - NAD - - NGN - - NIO - - NOK - - NPR - - NZD - - OMR - - PAB - - PEN - - PGK - - PHP - - PKR - - PLN - - PYG - - QAR - - RON - - RSD - - RUB - - RWF - - SAR - - SBD - - SCR - - SDG - - SEK - - SGD - - SHP - - SLL - - SOS - - SPL - - SRD - - SSP - - STD - - SVC - - SYP - - SZL - - THB - - TJS - - TMT - - TND - - TOP - - TRY - - TTD - - TVD - - TWD - - TZS - - UAH - - UGX - - USD - - USN - - UYI - - UYU - - UZS - - VEF - - VND - - VUV - - WST - - XAF - - XAG - - XAU - - XCD - - XDR - - XFO - - XFU - - XOF - - XPD - - XPF - - XPT - - XSU - - XTS - - XUA - - XXX - - YER - - ZAR - - ZMK - - ZMW - - ZWD - - ZWL - - ZWN - - ZWR - requireLiquidityCheck: - type: boolean - description: Liquidity Check boolean - ledgerAccountType: - type: string - description: Account type for the settlement model POSITION, SETTLEMENT - or INTERCHANGE_FEE - enum: - - INTERCHANGE_FEE - - POSITION - autoPositionReset: - type: boolean - description: Automatic position reset setting, which determines whether - to execute the settlement transfer or not - Model 13: - required: - - isActive - type: object - properties: - isActive: - type: boolean - description: settlementModel isActive boolean diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/central_admin_9.3/response_map.json b/docker/ml-testing-toolkit/spec_files/api_definitions/central_admin_9.3/response_map.json deleted file mode 100644 index e04829cd6..000000000 --- a/docker/ml-testing-toolkit/spec_files/api_definitions/central_admin_9.3/response_map.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "/health": { - "get": { - "response": {} - } - }, - "/metrics": { - "get": { - "response": {} - } - }, - "/participants": { - "get": { - "response": {} - }, - "post": { - "response": {} - } - }, - "/participants/limits": { - "get": { - "response": {} - } - }, - "/participants/{name}": { - "get": { - "response": {} - }, - "put": { - "response": {} - } - }, - "/participants/{name}/endpoints": { - "get": { - "response": {} - }, - "post": { - "response": {} - } - }, - "/participants/{name}/limits": { - "get": { - "response": {} - }, - "put": { - "response": {} - } - }, - "/participants/{name}/positions": { - "get": { - "response": {} - } - }, - "/participants/{name}/accounts": { - "get": { - "response": {} - }, - "post": { - "response": {} - } - }, - "/participants/{name}/initialPositionAndLimits": { - "post": { - "response": {} - } - }, - "/participants/{name}/accounts/{id}": { - "put": { - "response": {} - }, - "post": { - "response": {} - } - }, - "/participants/{name}/accounts/{id}/transfers/{transferId}": { - "put": { - "response": {} - } - }, - "/settlementModels": { - "get": { - "response": {} - }, - "post": { - "response": {} - } - }, - "/settlementModels/{name}": { - "get": { - "response": {} - }, - "put": { - "response": {} - } - } -} \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.0/mockRef.json b/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.0/mockRef.json index 391811712..77f657ccc 100644 --- a/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.0/mockRef.json +++ b/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.0/mockRef.json @@ -75,9 +75,5 @@ { "id": "errorInformation.errorDescription", "pattern": "This is a mock error description" - }, - { - "id": "Content-Length", - "pattern": "123" } ] \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.1/api_spec.yaml b/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.1/api_spec.yaml index 2b7630c49..179fbbb94 100644 --- a/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.1/api_spec.yaml +++ b/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.1/api_spec.yaml @@ -1,3703 +1,3778 @@ -openapi: "3.0.2" -info: - version: "1.1" - title: Open API for FSP Interoperability (FSPIOP) - description: - Based on [API Definition updated on 2020-05-19 Version 1.1](https://github.com/mojaloop/mojaloop-specification/blob/master/documents/v1.1-document-set/API%20Definition_v1.1.pdf). - - - **Note:** The API supports a maximum size of 65536 bytes (64 Kilobytes) in the HTTP header. - license: - name: CC BY-ND 4.0 - url: https://github.com/mojaloop/mojaloop-specification/blob/master/LICENSE.md - contact: - name: "Sam Kummary" - url: https://github.com/mojaloop/mojaloop-specification/issues -servers: - - url: "{protocol}://hostname:/switch/" - variables: - protocol: - enum: - - http - - https - default: https - -paths: - #Participants - /participants/{Type}/{ID}: - parameters: - #Path - - $ref: "#/components/parameters/Type" - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - post: - description: The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 - summary: Create participant information - tags: - - participants - operationId: ParticipantsByIDAndType - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Participant information to be created. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ParticipantsTypeIDSubIDPostRequest" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - get: - description: The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - summary: Look up participant information - tags: - - participants - operationId: ParticipantsByTypeAndID - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /participants/{Type}/{ID}` (or `PUT /participants/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the lookup, creation, or deletion of the FSP information related to the Party. If the FSP information is deleted, the fspId element should be empty; otherwise the element should include the FSP information for the Party. - summary: Return participant information - tags: - - participants - operationId: ParticipantsByTypeAndID3 - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Participant information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ParticipantsTypeIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - delete: - description: - The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - - - **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. - summary: Delete participant information - tags: - - participants - operationId: ParticipantsByTypeAndID2 - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /participants/{Type}/{ID}/error: - put: - description: If the server is unable to find, create or delete the associated FSP of the provided identity, or another processing error occurred, the error callback `PUT /participants/{Type}/{ID}/error` (or `PUT /participants/{Type}/{ID}/{SubId}/error`) is used. - summary: Return participant information error - tags: - - participants - operationId: ParticipantsErrorByTypeAndID - parameters: - #Path - - $ref: "#/components/parameters/Type" - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /participants/{Type}/{ID}/{SubId}: - parameters: - #Path - - $ref: "#/components/parameters/Type" - - $ref: "#/components/parameters/ID" - - $ref: "#/components/parameters/SubId" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - post: - description: The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 - summary: Create participant information - tags: - - participants - operationId: ParticipantsSubIdByTypeAndIDPost - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Participant information to be created. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ParticipantsTypeIDSubIDPostRequest" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - get: - description: The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - summary: Look up participant information - tags: - - participants - operationId: ParticipantsSubIdByTypeAndID - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /participants/{Type}/{ID}` (or `PUT /participants/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the lookup, creation, or deletion of the FSP information related to the Party. If the FSP information is deleted, the fspId element should be empty; otherwise the element should include the FSP information for the Party. - summary: Return participant information - tags: - - participants - operationId: ParticipantsSubIdByTypeAndID3 - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Participant information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ParticipantsTypeIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - delete: - description: - The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. - - - **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. - summary: Delete participant information - tags: - - participants - operationId: ParticipantsSubIdByTypeAndID2 - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /participants/{Type}/{ID}/{SubId}/error: - put: - description: If the server is unable to find, create or delete the associated FSP of the provided identity, or another processing error occurred, the error callback `PUT /participants/{Type}/{ID}/error` (or `PUT /participants/{Type}/{ID}/{SubId}/error`) is used. - summary: Return participant information error - tags: - - participants - operationId: ParticipantsSubIdErrorByTypeAndID - parameters: - #Path - - $ref: "#/components/parameters/Type" - - $ref: "#/components/parameters/ID" - - $ref: "#/components/parameters/SubId" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /participants: - post: - description: The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. - summary: Create bulk participant information - tags: - - participants - operationId: Participants1 - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Participant information to be created. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ParticipantsPostRequest" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /participants/{ID}: - put: - description: The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. - summary: Return bulk participant information - tags: - - participants - operationId: putParticipantsByID - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Participant information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ParticipantsIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /participants/{ID}/error: - put: - description: If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. - summary: Return bulk participant information error - tags: - - participants - operationId: ParticipantsByIDAndError - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - - #Parties - /parties/{Type}/{ID}: - parameters: - #Path - - $ref: "#/components/parameters/Type" - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - get: - description: The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). - summary: Look up party information - tags: - - parties - operationId: PartiesByTypeAndID - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. - summary: Return party information - tags: - - parties - operationId: PartiesByTypeAndID2 - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Party information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/PartiesTypeIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /parties/{Type}/{ID}/error: - put: - description: If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used. - summary: Return party information error - tags: - - parties - operationId: PartiesErrorByTypeAndID - parameters: - #Path - - $ref: "#/components/parameters/Type" - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /parties/{Type}/{ID}/{SubId}: - parameters: - #Path - - $ref: "#/components/parameters/Type" - - $ref: "#/components/parameters/ID" - - $ref: "#/components/parameters/SubId" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - get: - description: The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). - summary: Look up party information - tags: - - parties - operationId: PartiesSubIdByTypeAndID - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. - summary: Return party information - tags: - - parties - operationId: PartiesSubIdByTypeAndIDPut - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Party information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/PartiesTypeIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /parties/{Type}/{ID}/{SubId}/error: - put: - description: If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubId}/error`) is used. - summary: Return party information error - tags: - - parties - operationId: PartiesSubIdErrorByTypeAndID - parameters: - #Path - - $ref: "#/components/parameters/Type" - - $ref: "#/components/parameters/ID" - - $ref: "#/components/parameters/SubId" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - - #Transaction requests - /transactionRequests: - post: - description: The HTTP request `POST /transactionRequests` is used to request the creation of a transaction request for the provided financial transaction in the server. - summary: Perform transaction request - tags: - - transactionRequests - operationId: TransactionRequests - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Transaction request to be created. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/TransactionRequestsPostRequest" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /transactionRequests/{ID}: - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - get: - description: The HTTP request `GET /transactionRequests/{ID}` is used to get information regarding a transaction request created or requested earlier. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request. - summary: Retrieve transaction request information - tags: - - transactionRequests - operationId: TransactionRequestsByID - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /transactionRequests/{ID}` is used to inform the client of a requested or created transaction request. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. - summary: Return transaction request information - tags: - - transactionRequests - operationId: TransactionRequestsByIDPut - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Transaction request information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/TransactionRequestsIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /transactionRequests/{ID}/error: - put: - description: If the server is unable to find or create a transaction request, or another processing error occurs, the error callback `PUT /transactionRequests/{ID}/error` is used. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. - summary: Return transaction request information error - tags: - - transactionRequests - operationId: TransactionRequestsErrorByID - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - - #Quotes - /quotes: - post: - description: The HTTP request `POST /quotes` is used to request the creation of a quote for the provided financial transaction in the server. - summary: Calculate quote - tags: - - quotes - operationId: Quotes - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the quote to be created. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/QuotesPostRequest" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /quotes/{ID}: - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - get: - description: The HTTP request `GET /quotes/{ID}` is used to get information regarding a quote created or requested earlier. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote. - summary: Retrieve quote information - tags: - - quotes - operationId: QuotesByID - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /quotes/{ID}` is used to inform the client of a requested or created quote. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. - summary: Return quote information - tags: - - quotes - operationId: QuotesByID1 - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Quote information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/QuotesIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /quotes/{ID}/error: - put: - description: If the server is unable to find or create a quote, or some other processing error occurs, the error callback `PUT /quotes/{ID}/error` is used. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. - summary: Return quote information error - tags: - - quotes - operationId: QuotesByIDAndError - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - - #Authorizations - '/authorizations/{ID}': - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - get: - description: - The HTTP request `GET /authorizations/{ID}` is used to request the Payer to enter the applicable credentials in the Payee FSP system. The `{ID}` in the URI should contain the `transactionRequestID`, received from the `POST /transactionRequests` service earlier in the process. This request requires a query string to be included in the URI, with the following key-value pairs*:* - - - - `authenticationType={Type}`, where `{Type}` value is a valid authentication type from the enumeration `AuthenticationType`. - - - - `retriesLeft=={NrOfRetries}`, where `{NrOfRetries}` is the number of retries left before the financial transaction is rejected. `{NrOfRetries}` must be expressed in the form of the data type `Integer`. `retriesLeft=1` means that this is the last retry before the financial transaction is rejected. - - - - `amount={Amount}`, where `{Amount}` is the transaction amount that will be withdrawn from the Payer’s account. `{Amount}` must be expressed in the form of the data type `Amount`. - - - - `currency={Currency}`, where `{Currency}` is the transaction currency for the amount that will be withdrawn from the Payer’s account. The `{Currency}` value must be expressed in the form of the enumeration `CurrencyCode`. - - - The following is an example URI containing all the required key-value pairs in the query string*:* - - - `GET /authorization/3d492671-b7af-4f3f-88de-76169b1bdf88?authenticationType=OTP&retriesLeft=2&amount=102¤cy=USD` - summary: Perform authorization - tags: - - authorizations - operationId: AuthorizationsByIDGet - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /authorizations/{ID}` is used to inform the client of the result of a previously-requested authorization. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}` request. - summary: Return authorization result - tags: - - authorizations - operationId: AuthorizationsByIDPut - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Authorization result returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/AuthorizationsIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /authorizations/{ID}/error: - put: - description: If the server is unable to find the transaction request, or another processing error occurs, the error callback `PUT /authorizations/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}`. - summary: Return authorization error - tags: - - authorizations - operationId: AuthorizationsByIDAndError - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - - #Transfers - /transfers: - post: - description: The HTTP request `POST /transfers` is used to request the creation of a transfer for the next ledger, and a financial transaction for the Payee FSP. - summary: Perform transfer - tags: - - transfers - operationId: transfers - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the transfer to be created. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/TransfersPostRequest" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /transfers/{ID}: - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - get: - description: The HTTP request `GET /transfers/{ID}` is used to get information regarding a transfer created or requested earlier. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer. - summary: Retrieve transfer information - tags: - - transfers - operationId: TransfersByIDGet - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - patch: - description: The HTTP request PATCH /transfers/ is used by a Switch to update the state of a previously reserved transfer, if the Payee FSP has requested a commit notification when the Switch has completed processing of the transfer. The in the URI should contain the transferId that was used for the creation of the transfer. Please note that this request does not generate a callback. - summary: Return transfer information - tags: - - transfers - operationId: TransfersByIDPatch - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Transfer notification upon completion. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/TransfersIDPatchResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /transfers/{ID}` is used to inform the client of a requested or created transfer. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}` request. - summary: Return transfer information - tags: - - transfers - operationId: TransfersByIDPut - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Transfer information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/TransfersIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /transfers/{ID}/error: - put: - description: If the server is unable to find or create a transfer, or another processing error occurs, the error callback `PUT /transfers/{ID}/error` is used. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}`. - summary: Return transfer information error - tags: - - transfers - operationId: TransfersByIDAndError - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - - #Transactions - /transactions/{ID}: - parameters: - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - get: - description: The HTTP request `GET /transactions/{ID}` is used to get transaction information regarding a financial transaction created earlier. The `{ID}` in the URI should contain the `transactionId` that was used for the creation of the quote, as the transaction is created as part of another process (the transfer process). - summary: Retrieve transaction information - tags: - - transactions - operationId: TransactionsByID - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /transactions/{ID}` is used to inform the client of a requested transaction. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. - summary: Return transaction information - tags: - - transactions - operationId: TransactionsByID1 - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Transaction information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/TransactionsIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /transactions/{ID}/error: - put: - description: If the server is unable to find or create a transaction, or another processing error occurs, the error callback `PUT /transactions/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. - summary: Return transaction information error - tags: - - transactions - operationId: TransactionsErrorByID - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - - #Bulk Quotes - /bulkQuotes: - post: - description: The HTTP request `POST /bulkQuotes` is used to request the creation of a bulk quote for the provided financial transactions in the server. - summary: Calculate bulk quote - tags: - - bulkQuotes - operationId: BulkQuotes - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the bulk quote to be created. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/BulkQuotesPostRequest" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /bulkQuotes/{ID}: - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - get: - description: The HTTP request `GET /bulkQuotes/{ID}` is used to get information regarding a bulk quote created or requested earlier. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. - summary: Retrieve bulk quote information - tags: - - bulkQuotes - operationId: BulkQuotesByID - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /bulkQuotes/{ID}` is used to inform the client of a requested or created bulk quote. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. - summary: Return bulk quote information - tags: - - bulkQuotes - operationId: BulkQuotesByID1 - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Bulk quote information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/BulkQuotesIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /bulkQuotes/{ID}/error: - put: - description: If the server is unable to find or create a bulk quote, or another processing error occurs, the error callback `PUT /bulkQuotes/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. - summary: Return bulk quote information error - tags: - - bulkQuotes - operationId: BulkQuotesErrorByID - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - - #Bulk transfers - /bulkTransfers: - post: - description: The HTTP request `POST /bulkTransfers` is used to request the creation of a bulk transfer in the server. - summary: Perform bulk transfer - tags: - - bulkTransfers - operationId: BulkTransfers - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the bulk transfer to be created. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/BulkTransfersPostRequest" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /bulkTransfers/{ID}: - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - get: - description: The HTTP request `GET /bulkTransfers/{ID}` is used to get information regarding a bulk transfer created or requested earlier. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. - summary: Retrieve bulk transfer information - tags: - - bulkTransfers - operationId: BulkTransferByID - parameters: - #Headers - - $ref: "#/components/parameters/Accept" - responses: - 202: - $ref: "#/components/responses/202" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - put: - description: The callback `PUT /bulkTransfers/{ID}` is used to inform the client of a requested or created bulk transfer. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. - summary: Return bulk transfer information - tags: - - bulkTransfers - operationId: BulkTransfersByIDPut - parameters: - #Headers - - $ref: "#/components/parameters/Content-Length" - requestBody: - description: Bulk transfer information returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/BulkTransfersIDPutResponse" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - /bulkTransfers/{ID}/error: - put: - description: If the server is unable to find or create a bulk transfer, or another processing error occurs, the error callback `PUT /bulkTransfers/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. - summary: Return bulk transfer information error - tags: - - bulkTransfers - operationId: BulkTransfersErrorByID - parameters: - #Path - - $ref: "#/components/parameters/ID" - #Headers - - $ref: "#/components/parameters/Content-Length" - - $ref: "#/components/parameters/Content-Type" - - $ref: "#/components/parameters/Date" - - $ref: "#/components/parameters/X-Forwarded-For" - - $ref: "#/components/parameters/FSPIOP-Source" - - $ref: "#/components/parameters/FSPIOP-Destination" - - $ref: "#/components/parameters/FSPIOP-Encryption" - - $ref: "#/components/parameters/FSPIOP-Signature" - - $ref: "#/components/parameters/FSPIOP-URI" - - $ref: "#/components/parameters/FSPIOP-HTTP-Method" - requestBody: - description: Details of the error returned. - required: true - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationObject" - responses: - 200: - $ref: "#/components/responses/200" - 400: - $ref: "#/components/responses/400" - 401: - $ref: "#/components/responses/401" - 403: - $ref: "#/components/responses/403" - 404: - $ref: "#/components/responses/404" - 405: - $ref: "#/components/responses/405" - 406: - $ref: "#/components/responses/406" - 501: - $ref: "#/components/responses/501" - 503: - $ref: "#/components/responses/503" - -components: - schemas: - #Element definitions - 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. - 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. - AuthenticationType: - title: AuthenticationType - type: string - enum: - - OTP - - QRCODE - 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. - AuthenticationValue: - title: AuthenticationValue - oneOf: - - $ref: "#/components/schemas/OtpValue" - - $ref: "#/components/schemas/QRCODE" - 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. - AuthorizationResponse: - title: AuthorizationResponse - type: string - enum: - - ENTERED - - REJECTED - - RESEND - description: Below are the allowed values for the enumeration. - - - ENTERED - Consumer entered the authentication value. - - - REJECTED - Consumer rejected the transaction. - - - RESEND - Consumer requested to resend the authentication value. - 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. - BinaryString: - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - description: The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. - BinaryString32: - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - description: The API data type BinaryString32 is a fixed size version of the API data type BinaryString, where the raw underlying data is always of 32 bytes. The data type BinaryString32 should not use a padding character as the size of the underlying data is fixed. - BulkTransferState: - title: BulkTransactionState - type: string - enum: - - RECEIVED - - PENDING - - ACCEPTED - - PROCESSING - - COMPLETED - - REJECTED - description: Below are the allowed values for the enumeration. - - - RECEIVED - Payee FSP has received the bulk transfer from the Payer FSP. - - - PENDING - Payee FSP has validated the bulk transfer. - - - ACCEPTED - Payee FSP has accepted to process the bulk transfer. - - - PROCESSING - Payee FSP has started to transfer fund to the Payees. - - - COMPLETED - Payee FSP has completed transfer of funds to the Payees. - - - REJECTED - Payee FSP has rejected to process the bulk transfer. - Code: - title: Code - type: string - pattern: ^[0-9a-zA-Z]{4,32}$ - description: Any code/token returned by the Payee FSP (TokenCode Type). - 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 (‘-‘). - 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 - - YER - - ZAR - - ZMW - - ZWD - Date: - title: 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: - The API data type Date is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - This format, as specified in ISO 8601, contains a date only. A more readable version of the format is yyyy-MM-dd. Examples are "1982-05-23", "1987-08-05”. - 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. - 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). - 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. - ErrorDescription: - title: ErrorDescription - type: string - minLength: 1 - maxLength: 128 - description: Error description string. - ExtensionKey: - title: ExtensionKey - type: string - minLength: 1 - maxLength: 32 - description: Extension key. - ExtensionValue: - title: ExtensionValue - type: string - minLength: 1 - maxLength: 128 - description: Extension value. - FirstName: - title: FirstName - type: string - minLength: 1 - maxLength: 128 - pattern: ^(?!\s*$)[\w .,'-]{1,128}$ - description: First name of the Party (Name Type). - FspId: - title: FspId - type: string - minLength: 1 - maxLength: 32 - description: FSP identifier. - 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. - 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. - IlpPacket: - title: IlpPacket - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - minLength: 1 - maxLength: 32768 - description: Information for recipient (transport layer information). - Integer: - title: Integer - type: string - 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 always limited to a specific number of digits. - LastName: - title: LastName - type: string - minLength: 1 - maxLength: 128 - pattern: ^(?!\s*$)[\w .,'-]{1,128}$ - description: Last name of the Party (Name Type). - 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. - 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. - 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. - MiddleName: - title: MiddleName - type: string - minLength: 1 - maxLength: 128 - pattern: ^(?!\s*$)[\w .,'-]{1,128}$ - description: Middle name of the Party (Name Type). - 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. - Note: - title: Note - type: string - minLength: 1 - maxLength: 128 - description: Memo assigned to transaction. - OtpValue: - title: OtpValue - type: string - 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 leading zeros are allowed. - PartyIdentifier: - title: PartyIdentifier - type: string - minLength: 1 - maxLength: 128 - description: Identifier of the Party. - PartyIdType: - title: PartyIdType - type: string - enum: - - MSISDN - - EMAIL - - PERSONAL_ID - - BUSINESS - - DEVICE - - ACCOUNT_ID - - IBAN - - ALIAS - description: Below are the allowed values for the enumeration. - - - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - - - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). - - - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - - - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - - - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - - - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - - - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - - - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. - PartyName: - title: PartyName - type: string - minLength: 1 - maxLength: 128 - description: Name of the Party. Could be a real name or a nickname. - 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. - PersonalIdentifierType: - title: PersonalIdentifierType - type: string - enum: - - PASSPORT - - NATIONAL_REGISTRATION - - DRIVING_LICENSE - - ALIEN_REGISTRATION - - NATIONAL_ID_CARD - - EMPLOYER_ID - - TAX_ID_NUMBER - - SENIOR_CITIZENS_CARD - - MARRIAGE_CERTIFICATE - - HEALTH_CARD - - VOTERS_ID - - UNITED_NATIONS - - OTHER_ID - description: Below are the allowed values for the enumeration. - - - PASSPORT - A passport number is used as reference to a Party. - - - NATIONAL_REGISTRATION - A national registration number is used as reference to a Party. - - - DRIVING_LICENSE - A driving license is used as reference to a Party. - - - ALIEN_REGISTRATION - An alien registration number is used as reference to a Party. - - - NATIONAL_ID_CARD - A national ID card number is used as reference to a Party. - - - EMPLOYER_ID - A tax identification number is used as reference to a Party. - - - TAX_ID_NUMBER - A tax identification number is used as reference to a Party. - - - SENIOR_CITIZENS_CARD - A senior citizens card number is used as reference to a Party. - - - MARRIAGE_CERTIFICATE - A marriage certificate number is used as reference to a Party. - - - HEALTH_CARD - A health card number is used as reference to a Party. - - - VOTERS_ID - A voter’s identification number is used as reference to a Party. - - - UNITED_NATIONS - An UN (United Nations) number is used as reference to a Party. - - - OTHER_ID - Any other type of identification type number is used as reference to a Party. - QRCODE: - title: QRCODE - type: string - minLength: 1 - maxLength: 64 - description: QR code used as a One Time Password. - RefundReason: - title: RefundReason - type: string - minLength: 1 - maxLength: 128 - description: Reason for the refund. - TokenCode: - title: TokenCode - type: string - pattern: ^[0-9a-zA-Z]{4,32}$ - description: The API data type TokenCode is a JSON String between 4 and 32 characters, consisting of digits or upper- or lowercase characters from a to z. - 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. - 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. - 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. - 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. - TransactionState: - title: TransactionState - type: string - enum: - - RECEIVED - - PENDING - - COMPLETED - - REJECTED - description: Below are the allowed values for the enumeration. - - - RECEIVED - Payee FSP has received the transaction from the Payer FSP. - - - PENDING - Payee FSP has validated the transaction. - - - COMPLETED - Payee FSP has successfully performed the transaction. - - - REJECTED - Payee FSP has failed to perform the transaction. - TransactionSubScenario: - title: TransactionSubScenario - type: string - pattern: ^[A-Z_]{1,32}$ - description: Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - 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. - UndefinedEnum: - title: UndefinedEnum - type: string - pattern: ^[A-Z_]{1,32}$ - description: The API data type UndefinedEnum is a JSON String consisting of 1 to 32 uppercase characters including an underscore character (_). - - #Complex Types - AuthenticationInfo: - title: AuthenticationInfo - type: object - description: Data model for the complex type AuthenticationInfo. - properties: - authentication: - $ref: "#/components/schemas/AuthenticationType" - description: Type of authentication. - example: OTP - authenticationValue: - $ref: "#/components/schemas/AuthenticationValue" - description: Authentication value. - example: 1234 - required: - - authentication - - authenticationValue - AuthorizationsIDPutResponse: - title: AuthorizationsIDPutResponse - type: object - description: The object sent in the PUT /authorizations/{ID} callback. - properties: - authenticationInfo: - $ref: "#/components/schemas/AuthenticationInfo" - description: OTP or QR Code if entered, otherwise empty. - example: OTP - responseType: - $ref: "#/components/schemas/AuthorizationResponse" - description: Enum containing response information; if the customer entered the authentication value, rejected the transaction, or requested a resend of the authentication value. - example: ENTERED - required: - - responseType - BulkQuotesIDPutResponse: - title: BulkQuotesIDPutResponse - type: object - description: The object sent in the PUT /bulkQuotes/{ID} callback. - properties: - individualQuoteResults: - type: array - maxItems: 1000 - items: - $ref: "#/components/schemas/IndividualQuoteResult" - description: Fees for each individual transaction, if any of them are charged per transaction. - expiration: - $ref: "#/components/schemas/DateTime" - description: Date and time until when the quotation is valid and can be honored when used in the subsequent transaction request. - example: "2016-05-24T08:38:08.699-04:00" - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - expiration - BulkQuotesPostRequest: - title: BulkQuotesPostRequest - type: object - description: The object sent in the POST /bulkQuotes request. - properties: - bulkQuoteId: - $ref: "#/components/schemas/CorrelationId" - description: Common ID between the FSPs for the bulk quote object, decided by the Payer FSP. The ID should be reused for resends of the same bulk quote. A new ID should be generated for each new bulk quote. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - payer: - $ref: "#/components/schemas/Party" - description: Information about the Payer in the proposed financial transaction. - geoCode: - $ref: "#/components/schemas/GeoCode" - description: Longitude and Latitude of the initiating Party. Can be used to detect fraud. - expiration: - $ref: "#/components/schemas/DateTime" - description: Expiration is optional to let the Payee FSP know when a quote no longer needs to be returned. - example: "2016-05-24T08:38:08.699-04:00" - individualQuotes: - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: "#/components/schemas/IndividualQuote" - description: List of quotes elements. - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - bulkQuoteId - - payer - - individualQuotes - BulkTransfersIDPutResponse: - title: BulkTransfersIDPutResponse - type: object - description: The object sent in the PUT /bulkTransfers/{ID} callback. - properties: - completedTimestamp: - $ref: "#/components/schemas/DateTime" - description: Time and date when the bulk transaction was completed. - example: "2016-05-24T08:38:08.699-04:00" - individualTransferResults: - type: array - maxItems: 1000 - items: - $ref: "#/components/schemas/IndividualTransferResult" - description: List of IndividualTransferResult elements. - bulkTransferState: - $ref: "#/components/schemas/BulkTransferState" - description: The state of the bulk transfer. - example: RECEIVED - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - bulkTransferState - BulkTransfersPostRequest: - title: BulkTransfersPostRequest - type: object - description: The object sent in the POST /bulkTransfers request. - properties: - bulkTransferId: - $ref: "#/components/schemas/CorrelationId" - description: Common ID between the FSPs and the optional Switch for the bulk transfer object, decided by the Payer FSP. The ID should be reused for resends of the same bulk transfer. A new ID should be generated for each new bulk transfer. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - bulkQuoteId: - $ref: "#/components/schemas/CorrelationId" - description: ID of the related bulk quote. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - payerFsp: - $ref: "#/components/schemas/FspId" - description: Payer FSP identifier. - example: 5678 - payeeFsp: - $ref: "#/components/schemas/FspId" - description: Payee FSP identifier. - example: 1234 - individualTransfers: - type: array - minItems: 1 - maxItems: 1000 - items: - $ref: "#/components/schemas/IndividualTransfer" - description: List of IndividualTransfer elements. - expiration: - $ref: "#/components/schemas/DateTime" - description: Expiration time of the transfers. - example: "2016-05-24T08:38:08.699-04:00" - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - bulkTransferId - - bulkQuoteId - - payerFsp - - payeeFsp - - individualTransfers - - expiration - ErrorInformation: - title: ErrorInformation - type: object - description: Data model for the complex type ErrorInformation. - properties: - errorCode: - $ref: "#/components/schemas/ErrorCode" - description: Specific error number. - example: 5100 - errorDescription: - $ref: "#/components/schemas/ErrorDescription" - description: Error description string. - example: This is an error description. - extensionList: - $ref: "#/components/schemas/ExtensionList" - required: - - errorCode - - errorDescription - ErrorInformationObject: - title: ErrorInformationObject - type: object - description: Data model for the complex type object that contains ErrorInformation. - properties: - errorInformation: - $ref: "#/components/schemas/ErrorInformation" - required: - - errorInformation - ErrorInformationResponse: - title: ErrorInformationResponse - type: object - description: Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. - properties: - errorInformation: - $ref: "#/components/schemas/ErrorInformation" - Extension: - title: Extension - type: object - description: Data model for the complex type Extension. - properties: - key: - $ref: "#/components/schemas/ExtensionKey" - description: Extension key. - value: - $ref: "#/components/schemas/ExtensionValue" - description: Extension value. - required: - - key - - value - 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 - 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" - description: Latitude of the Party. - example: "+45.4215" - longitude: - $ref: "#/components/schemas/Longitude" - description: Longitude of the Party. - example: "+75.6972" - required: - - latitude - - longitude - IndividualQuote: - title: IndividualQuote - type: object - description: Data model for the complex type IndividualQuote. - properties: - quoteId: - $ref: "#/components/schemas/CorrelationId" - description: Identifies the quote message. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transactionId: - $ref: "#/components/schemas/CorrelationId" - description: Identifies the transaction message. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - payee: - $ref: "#/components/schemas/Party" - description: Information about the Payee in the proposed financial transaction. - amountType: - $ref: "#/components/schemas/AmountType" - description: SEND for sendAmount, RECEIVE for receiveAmount. - example: RECEIVE - 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 of 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 that the quote is requested for. - note: - $ref: "#/components/schemas/Note" - description: Memo that will be attached to the transaction. - example: Note sent to Payee. - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - quoteId - - transactionId - - payee - - amountType - - amount - - transactionType - IndividualQuoteResult: - title: IndividualQuoteResult - type: object - description: Data model for the complex type IndividualQuoteResult. - properties: - quoteId: - $ref: "#/components/schemas/CorrelationId" - description: Identifies the quote message. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - payee: - $ref: "#/components/schemas/Party" - description: Information about the Payee in the proposed financial transaction. - transferAmount: - $ref: "#/components/schemas/Money" - description: The amount of money that the Payee FSP should receive. - payeeReceiveAmount: - $ref: "#/components/schemas/Money" - description: The amount of Money that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees. - payeeFspFee: - $ref: "#/components/schemas/Money" - description: Payee FSP’s part of the transaction fee. - payeeFspCommission: - $ref: "#/components/schemas/Money" - description: Transaction commission from the Payee FSP. - ilpPacket: - $ref: "#/components/schemas/IlpPacket" - description: The ILP Packet that must be attached to the transfer by the Payer. - example: AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - condition: - $ref: "#/components/schemas/IlpCondition" - description: The condition that must be attached to the transfer by the Payer. - example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA - errorInformation: - $ref: "#/components/schemas/ErrorInformation" - description: Error code, category description. **Note:** receiveAmount, payeeFspFee, payeeFspCommission, expiration, ilpPacket, condition should not be set if errorInformation is set. - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - quoteId - IndividualTransfer: - title: IndividualTransfer - type: object - description: Data model for the complex type IndividualTransfer. - properties: - transferId: - $ref: "#/components/schemas/CorrelationId" - description: Identifies messages related to the same /transfers sequence. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transferAmount: - $ref: "#/components/schemas/Money" - description: Transaction amount to be sent. - ilpPacket: - $ref: "#/components/schemas/IlpPacket" - description: ILP Packet containing the amount delivered to the Payee and the ILP Address of the Payee and any other end-to-end data. - example: AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - condition: - $ref: "#/components/schemas/IlpCondition" - description: Condition that must be fulfilled to commit the transfer. - example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - transferId - - transferAmount - - ilpPacket - - condition - IndividualTransferResult: - title: IndividualTransferResult - type: object - description: Data model for the complex type IndividualTransferResult. - properties: - transferId: - $ref: "#/components/schemas/CorrelationId" - description: Identifies messages related to the same /transfers sequence. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - fulfilment: - $ref: "#/components/schemas/IlpFulfilment" - description: Fulfilment of the condition specified with the transaction. **Note:** Either fulfilment or errorInformation should be set, not both. - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - errorInformation: - $ref: "#/components/schemas/ErrorInformation" - description: If transfer is REJECTED, error information may be provided. **Note:** Either fulfilment or errorInformation should be set, not both. - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - transferId - Money: - title: Money - type: object - description: Data model for the complex type Money. - properties: - currency: - $ref: "#/components/schemas/Currency" - description: Currency of the amount. - example: USD - amount: - $ref: "#/components/schemas/Amount" - description: Amount of Money. - example: "123.45" - required: - - currency - - amount - ParticipantsIDPutResponse: - title: ParticipantsIDPutResponse - type: object - description: The object sent in the PUT /participants/{ID} callback. - properties: - partyList: - type: array - items: - $ref: "#/components/schemas/PartyResult" - minItems: 1 - maxItems: 10000 - description: List of PartyResult elements that were either created or failed to be created. - currency: - $ref: "#/components/schemas/Currency" - description: Indicate that the provided Currency was set to be supported by each successfully added PartyIdInfo. - example: USD - required: - - partyList - ParticipantsPostRequest: - title: ParticipantsPostRequest - type: object - description: The object sent in the POST /participants request. - properties: - requestId: - $ref: "#/components/schemas/CorrelationId" - description: The ID of the request, decided by the client. Used for identification of the callback from the server. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - partyList: - type: array - items: - $ref: "#/components/schemas/PartyIdInfo" - minItems: 1 - maxItems: 10000 - description: List of PartyIdInfo elements that the client would like to update or create FSP information about. - currency: - $ref: "#/components/schemas/Currency" - description: Indicate that the provided Currency is supported by each PartyIdInfo in the list. - example: USD - required: - - requestId - - partyList - ParticipantsTypeIDPutResponse: - title: ParticipantsTypeIDPutResponse - type: object - description: The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. - properties: - fspId: - $ref: "#/components/schemas/FspId" - description: FSP Identifier that the Party belongs to. - example: 1234 - ParticipantsTypeIDSubIDPostRequest: - title: ParticipantsTypeIDSubIDPostRequest - type: object - description: The object sent in the POST /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} requests. An additional optional ExtensionList element has been added as part of v1.1 changes. - properties: - fspId: - $ref: "#/components/schemas/FspId" - description: FSP Identifier that the Party belongs to. - example: 1234 - currency: - $ref: "#/components/schemas/Currency" - description: Indicate that the provided Currency is supported by the Party. - example: USD - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - fspId - PartiesTypeIDPutResponse: - title: PartiesTypeIDPutResponse - type: object - description: The object sent in the PUT /parties/{Type}/{ID} callback. - properties: - party: - $ref: "#/components/schemas/Party" - description: Information regarding the requested Party. - required: - - party - Party: - title: Party - type: object - description: Data model for the complex type Party. - properties: - partyIdInfo: - $ref: "#/components/schemas/PartyIdInfo" - description: Party Id type, id, sub ID or type, and FSP Id. - merchantClassificationCode: - $ref: "#/components/schemas/MerchantClassificationCode" - description: Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. - example: 4321 - name: - $ref: "#/components/schemas/PartyName" - description: Display name of the Party, could be a real name or a nick name. - example: Henrik Karlsson - personalInfo: - $ref: "#/components/schemas/PartyPersonalInfo" - description: Personal information used to verify identity of Party such as first, middle, last name and date of birth. - required: - - partyIdInfo - PartyComplexName: - title: PartyComplexName - type: object - description: Data model for the complex type PartyComplexName. - properties: - firstName: - $ref: "#/components/schemas/FirstName" - description: Party’s first name. - example: Henrik - middleName: - $ref: "#/components/schemas/MiddleName" - description: Party’s middle name. - example: Johannes - lastName: - $ref: "#/components/schemas/LastName" - description: Party’s last name. - example: Karlsson - PartyIdInfo: - title: PartyIdInfo - type: object - description: Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 - properties: - partyIdType: - $ref: "#/components/schemas/PartyIdType" - description: Type of the identifier. - example: PERSONAL_ID - partyIdentifier: - $ref: "#/components/schemas/PartyIdentifier" - description: An identifier for the Party. - example: 16135551212 - partySubIdOrType: - $ref: "#/components/schemas/PartySubIdOrType" - description: A sub-identifier or sub-type for the Party. - example: DRIVING_LICENSE - fspId: - $ref: "#/components/schemas/FspId" - description: FSP ID (if known). - example: 1234 - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - partyIdType - - partyIdentifier - PartyPersonalInfo: - title: PartyPersonalInfo - type: object - description: Data model for the complex type PartyPersonalInfo. - properties: - complexName: - $ref: "#/components/schemas/PartyComplexName" - description: First, middle and last name for the Party. - dateOfBirth: - $ref: "#/components/schemas/DateOfBirth" - description: Date of birth for the Party. - example: "1966-06-16" - PartyResult: - title: PartyResult - type: object - description: Data model for the complex type PartyResult. - properties: - partyId: - $ref: "#/components/schemas/PartyIdInfo" - description: Party Id type, id, sub ID or type, and FSP Id. - errorInformation: - $ref: "#/components/schemas/ErrorInformation" - description: If the Party failed to be added, error information should be provided. Otherwise, this parameter should be empty to indicate success. - required: - - partyId - QuotesIDPutResponse: - title: QuotesIDPutResponse - type: object - description: The object sent in the PUT /quotes/{ID} callback. - properties: - transferAmount: - $ref: "#/components/schemas/Money" - description: The amount of money that the Payee FSP should receive. - payeeReceiveAmount: - $ref: "#/components/schemas/Money" - description: The amount of Money that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees. - payeeFspFee: - $ref: "#/components/schemas/Money" - description: Payee FSP’s part of the transaction fee. - payeeFspCommission: - $ref: "#/components/schemas/Money" - description: Transaction commission from the Payee FSP. - expiration: - $ref: "#/components/schemas/DateTime" - 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" - description: Longitude and Latitude of the Payee. Can be used to detect fraud. - ilpPacket: - $ref: "#/components/schemas/IlpPacket" - description: The ILP Packet that must be attached to the transfer by the Payer. - example: “AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA” - condition: - $ref: "#/components/schemas/IlpCondition" - description: The condition that must be attached to the transfer by the Payer. - example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - transferAmount - - expiration - - ilpPacket - - condition - 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 - Refund: - title: Refund - type: object - description: Data model for the complex type Refund. - properties: - originalTransactionId: - $ref: "#/components/schemas/CorrelationId" - description: Reference to the original transaction ID that is requested to be refunded. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - refundReason: - $ref: "#/components/schemas/RefundReason" - description: Free text indicating the reason for the refund. - example: Free text indicating reason for the refund. - required: - - originalTransactionId - Transaction: - title: Transaction - type: object - description: Data model for the complex type Transaction. The Transaction type is used to carry end-to-end data between the Payer FSP and the Payee FSP in the ILP Packet. Both the transactionId and the quoteId in the data model are decided by the Payer FSP in the POST /quotes request. - properties: - transactionId: - $ref: "#/components/schemas/CorrelationId" - description: ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote. - quoteId: - $ref: "#/components/schemas/CorrelationId" - description: ID of the quote, the ID is decided by the Payer FSP during the creation of the quote. - 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. - amount: - $ref: "#/components/schemas/Money" - description: Transaction amount to be sent. - transactionType: - $ref: "#/components/schemas/TransactionType" - description: Type of the transaction. - note: - $ref: "#/components/schemas/Note" - description: Memo associated to the transaction, intended to the Payee. - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - transactionId - - quoteId - - payee - - payer - - amount - - transactionType - TransactionRequestsIDPutResponse: - title: TransactionRequestsIDPutResponse - type: object - description: The object sent in the PUT /transactionRequests/{ID} callback. - properties: - transactionId: - $ref: "#/components/schemas/CorrelationId" - description: Identifies a related transaction (if a transaction has been created). - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - transactionRequestState: - $ref: "#/components/schemas/TransactionRequestState" - description: State of the transaction request. - example: RECEIVED - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - transactionRequestState - TransactionRequestsPostRequest: - title: TransactionRequestsPostRequest - type: object - description: The object sent in the POST /transactionRequests request. - properties: - transactionRequestId: - $ref: "#/components/schemas/CorrelationId" - description: Common ID between the FSPs for the transaction request object, decided by the Payee FSP. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - payee: - $ref: "#/components/schemas/Party" - description: Information about the Payee in the proposed financial transaction. - payer: - $ref: "#/components/schemas/PartyIdInfo" - description: Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction. - amount: - $ref: "#/components/schemas/Money" - description: Requested amount to be transferred from the Payer to Payee. - transactionType: - $ref: "#/components/schemas/TransactionType" - description: Type of transaction. - note: - $ref: "#/components/schemas/Note" - description: Reason for the transaction request, intended to the Payer. - example: Free-text memo. - geoCode: - $ref: "#/components/schemas/GeoCode" - description: Longitude and Latitude of the initiating Party. Can be used to detect fraud. - authenticationType: - $ref: "#/components/schemas/AuthenticationType" - description: OTP or QR Code, otherwise empty. - example: OTP - expiration: - $ref: "#/components/schemas/DateTime" - description: Can be set to get a quick failure in case the peer FSP takes too long to respond. Also, it may be beneficial for Consumer, Agent, Merchant to know that their request has a time limit. - example: "2016-05-24T08:38:08.699-04:00" - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - transactionRequestId - - payee - - payer - - amount - - transactionType - TransactionsIDPutResponse: - title: TransactionsIDPutResponse - type: object - description: The object sent in the PUT /transactions/{ID} callback. - properties: - completedTimestamp: - $ref: "#/components/schemas/DateTime" - description: Time and date when the transaction was completed. - example: "2016-05-24T08:38:08.699-04:00" - transactionState: - $ref: "#/components/schemas/TransactionState" - description: State of the transaction. - example: RECEIVED - code: - $ref: "#/components/schemas/Code" - description: Optional redemption information provided to Payer after transaction has been completed. - example: Test-Code - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - transactionState - TransactionType: - title: TransactionType - type: object - description: Data model for the complex type TransactionType. - properties: - scenario: - $ref: "#/components/schemas/TransactionScenario" - description: Deposit, withdrawal, refund, … - example: DEPOSIT - subScenario: - $ref: "#/components/schemas/TransactionSubScenario" - description: Possible sub-scenario, defined locally within the scheme. - example: Locally defined sub-scenario. - initiator: - $ref: "#/components/schemas/TransactionInitiator" - description: Who is initiating the transaction - Payer or Payee. - example: PAYEE - initiatorType: - $ref: "#/components/schemas/TransactionInitiatorType" - description: Consumer, agent, business, … - example: CONSUMER - refundInfo: - $ref: "#/components/schemas/Refund" - description: Extra information specific to a refund scenario. Should only be populated if scenario is REFUND. - balanceOfPayments: - $ref: "#/components/schemas/BalanceOfPayments" - description: Balance of Payments code. - example: 123 - required: - - scenario - - initiator - - initiatorType - TransfersIDPatchResponse: - title: TransfersIDPatchResponse - type: object - description: PATCH /transfers/{ID} object - properties: - completedTimestamp: - $ref: "#/components/schemas/DateTime" - description: Time and date when the transaction was completed. - example: "2020-05-19T08:38:08.699-04:00" - transferState: - $ref: "#/components/schemas/TransferState" - description: State of the transfer. - example: RESERVED - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - completedTimestamp - - transferState - TransfersIDPutResponse: - title: TransfersIDPutResponse - type: object - description: The object sent in the PUT /transfers/{ID} callback. - properties: - fulfilment: - $ref: "#/components/schemas/IlpFulfilment" - description: Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully. - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 - completedTimestamp: - $ref: "#/components/schemas/DateTime" - description: Time and date when the transaction was completed. - example: "2016-05-24T08:38:08.699-04:00" - transferState: - $ref: "#/components/schemas/TransferState" - description: State of the transfer. - example: COMMITTED - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - transferState - TransfersPostRequest: - title: TransfersPostRequest - type: object - description: The object sent in the POST /transfers request. - properties: - transferId: - $ref: "#/components/schemas/CorrelationId" - description: The common ID between the FSPs and the optional Switch for the transfer object, decided by the Payer FSP. The ID should be reused for resends of the same transfer. A new ID should be generated for each new transfer. - example: b51ec534-ee48-4575-b6a9-ead2955b8069 - payeeFsp: - $ref: "#/components/schemas/FspId" - description: Payee FSP in the proposed financial transaction. - example: 1234 - payerFsp: - $ref: "#/components/schemas/FspId" - description: Payer FSP in the proposed financial transaction. - example: 5678 - amount: - $ref: "#/components/schemas/Money" - description: The transfer amount to be sent. - ilpPacket: - $ref: "#/components/schemas/IlpPacket" - description: The ILP Packet containing the amount delivered to the Payee and the ILP Address of the Payee and any other end-to-end data. - example: AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - condition: - $ref: "#/components/schemas/IlpCondition" - description: The condition that must be fulfilled to commit the transfer. - example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA - expiration: - $ref: "#/components/schemas/DateTime" - description: Expiration can be set to get a quick failure expiration of the transfer. The transfer should be rolled back if no fulfilment is delivered before this time. - example: "2016-05-24T08:38:08.699-04:00" - extensionList: - $ref: "#/components/schemas/ExtensionList" - description: Optional extension, specific to deployment. - required: - - transferId - - payeeFsp - - payerFsp - - amount - - ilpPacket - - condition - - expiration - - responses: - "200": - description: OK - "202": - description: Accepted - "400": - description: Bad Request - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationResponse" - headers: - Content-Length: - description: Content-Length header - $ref: "#/components/parameters/Content-Length" - Content-Type: - description: Content-Length header - $ref: "#/components/parameters/Content-Type" - "401": - description: Unauthorized - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationResponse" - headers: - Content-Length: - $ref: "#/components/parameters/Content-Length" - Content-Type: - $ref: "#/components/parameters/Content-Type" - "403": - description: Forbidden - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationResponse" - headers: - Content-Length: - $ref: "#/components/parameters/Content-Length" - Content-Type: - $ref: "#/components/parameters/Content-Type" - "404": - description: Not Found - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationResponse" - headers: - Content-Length: - $ref: "#/components/parameters/Content-Length" - Content-Type: - $ref: "#/components/parameters/Content-Type" - "405": - description: Method Not Allowed - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationResponse" - headers: - Content-Length: - $ref: "#/components/parameters/Content-Length" - Content-Type: - $ref: "#/components/parameters/Content-Type" - "406": - description: Not Acceptable - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationResponse" - headers: - Content-Length: - $ref: "#/components/parameters/Content-Length" - Content-Type: - $ref: "#/components/parameters/Content-Type" - "501": - description: Not Implemented - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationResponse" - headers: - Content-Length: - $ref: "#/components/parameters/Content-Length" - Content-Type: - $ref: "#/components/parameters/Content-Type" - "503": - description: Service Unavailable - content: - application/json: - schema: - $ref: "#/components/schemas/ErrorInformationResponse" - headers: - Content-Length: - $ref: "#/components/parameters/Content-Length" - Content-Type: - $ref: "#/components/parameters/Content-Type" - - parameters: - #Header parameters - Accept: - name: Accept - in: header - required: true - schema: - type: string - description: The `Accept` header field indicates the version of the API the client would like the server to use. - Content-Length: - name: Content-Length - in: header - required: false - schema: - type: integer - description: - The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - - - **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - Content-Type: - name: Content-Type - in: header - schema: - type: string - required: true - description: The `Content-Type` header indicates the specific version of the API used to send the payload body. - Date: - name: Date - in: header - schema: - type: string - required: true - description: The `Date` header field indicates the date when the request was sent. - X-Forwarded-For: - name: X-Forwarded-For - in: header - schema: - type: string - required: false - description: - The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. - - - **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. - FSPIOP-Source: - name: FSPIOP-Source - in: header - schema: - type: string - required: true - description: The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). - FSPIOP-Destination: - name: FSPIOP-Destination - in: header - schema: - type: string - required: false - description: The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. - FSPIOP-Encryption: - name: FSPIOP-Encryption - in: header - schema: - type: string - required: false - description: The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - FSPIOP-Signature: - name: FSPIOP-Signature - in: header - schema: - type: string - required: false - description: The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - FSPIOP-URI: - name: FSPIOP-URI - in: header - schema: - type: string - required: false - description: The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - FSPIOP-HTTP-Method: - name: FSPIOP-HTTP-Method - in: header - schema: - type: string - required: false - description: The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - #Path parameters - ID: - name: ID - in: path - required: true - schema: - type: string - description: The identifier value. - Type: - name: Type - in: path - required: true - schema: - type: string - description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. - 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`. +openapi: "3.0.2" +info: + version: "1.1" + title: Open API for FSP Interoperability (FSPIOP) + description: + Based on [API Definition updated on 2020-05-19 Version 1.1](https://github.com/mojaloop/mojaloop-specification/blob/master/documents/v1.1-document-set/API%20Definition_v1.1.pdf). + + + **Note:** The API supports a maximum size of 65536 bytes (64 Kilobytes) in the HTTP header. + license: + name: CC BY-ND 4.0 + url: https://github.com/mojaloop/mojaloop-specification/blob/master/LICENSE.md + contact: + name: "Sam Kummary" + url: https://github.com/mojaloop/mojaloop-specification/issues +servers: + - url: "{protocol}://hostname:/switch/" + variables: + protocol: + enum: + - http + - https + default: https + +paths: + #Participants + /participants/{Type}/{ID}: + parameters: + #Path + - $ref: "#/components/parameters/Type" + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + post: + description: The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 + summary: Create participant information + tags: + - participants + operationId: ParticipantsByIDAndType + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Participant information to be created. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ParticipantsTypeIDSubIDPostRequest" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + get: + description: The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + summary: Look up participant information + tags: + - participants + operationId: ParticipantsByTypeAndID + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /participants/{Type}/{ID}` (or `PUT /participants/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the lookup, creation, or deletion of the FSP information related to the Party. If the FSP information is deleted, the fspId element should be empty; otherwise the element should include the FSP information for the Party. + summary: Return participant information + tags: + - participants + operationId: ParticipantsByTypeAndID3 + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Participant information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ParticipantsTypeIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + delete: + description: + The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + + + **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + summary: Delete participant information + tags: + - participants + operationId: ParticipantsByTypeAndID2 + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /participants/{Type}/{ID}/error: + put: + description: If the server is unable to find, create or delete the associated FSP of the provided identity, or another processing error occurred, the error callback `PUT /participants/{Type}/{ID}/error` (or `PUT /participants/{Type}/{ID}/{SubId}/error`) is used. + summary: Return participant information error + tags: + - participants + operationId: ParticipantsErrorByTypeAndID + parameters: + #Path + - $ref: "#/components/parameters/Type" + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /participants/{Type}/{ID}/{SubId}: + parameters: + #Path + - $ref: "#/components/parameters/Type" + - $ref: "#/components/parameters/ID" + - $ref: "#/components/parameters/SubId" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + post: + description: The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1 + summary: Create participant information + tags: + - participants + operationId: ParticipantsSubIdByTypeAndIDPost + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Participant information to be created. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ParticipantsTypeIDSubIDPostRequest" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + get: + description: The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + summary: Look up participant information + tags: + - participants + operationId: ParticipantsSubIdByTypeAndID + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /participants/{Type}/{ID}` (or `PUT /participants/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the lookup, creation, or deletion of the FSP information related to the Party. If the FSP information is deleted, the fspId element should be empty; otherwise the element should include the FSP information for the Party. + summary: Return participant information + tags: + - participants + operationId: ParticipantsSubIdByTypeAndID3 + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Participant information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ParticipantsTypeIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + delete: + description: + The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency. + + + **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information. + summary: Delete participant information + tags: + - participants + operationId: ParticipantsSubIdByTypeAndID2 + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /participants/{Type}/{ID}/{SubId}/error: + put: + description: If the server is unable to find, create or delete the associated FSP of the provided identity, or another processing error occurred, the error callback `PUT /participants/{Type}/{ID}/error` (or `PUT /participants/{Type}/{ID}/{SubId}/error`) is used. + summary: Return participant information error + tags: + - participants + operationId: ParticipantsSubIdErrorByTypeAndID + parameters: + #Path + - $ref: "#/components/parameters/Type" + - $ref: "#/components/parameters/ID" + - $ref: "#/components/parameters/SubId" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /participants: + post: + description: The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency. + summary: Create bulk participant information + tags: + - participants + operationId: Participants1 + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Participant information to be created. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ParticipantsPostRequest" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /participants/{ID}: + put: + description: The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities. + summary: Return bulk participant information + tags: + - participants + operationId: putParticipantsByID + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Participant information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ParticipantsIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /participants/{ID}/error: + put: + description: If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information. + summary: Return bulk participant information error + tags: + - participants + operationId: ParticipantsByIDAndError + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + + #Parties + /parties/{Type}/{ID}: + parameters: + #Path + - $ref: "#/components/parameters/Type" + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + get: + description: The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). + summary: Look up party information + tags: + - parties + operationId: PartiesByTypeAndID + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. + summary: Return party information + tags: + - parties + operationId: PartiesByTypeAndID2 + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Party information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/PartiesTypeIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /parties/{Type}/{ID}/error: + put: + description: If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used. + summary: Return party information error + tags: + - parties + operationId: PartiesErrorByTypeAndID + parameters: + #Path + - $ref: "#/components/parameters/Type" + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /parties/{Type}/{ID}/{SubId}: + parameters: + #Path + - $ref: "#/components/parameters/Type" + - $ref: "#/components/parameters/ID" + - $ref: "#/components/parameters/SubId" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + get: + description: The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`). + summary: Look up party information + tags: + - parties + operationId: PartiesSubIdByTypeAndID + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /parties/{Type}/{ID}` (or `PUT /parties/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the Party information lookup. + summary: Return party information + tags: + - parties + operationId: PartiesSubIdByTypeAndIDPut + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Party information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/PartiesTypeIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /parties/{Type}/{ID}/{SubId}/error: + put: + description: If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubId}/error`) is used. + summary: Return party information error + tags: + - parties + operationId: PartiesSubIdErrorByTypeAndID + parameters: + #Path + - $ref: "#/components/parameters/Type" + - $ref: "#/components/parameters/ID" + - $ref: "#/components/parameters/SubId" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + + #Transaction requests + /transactionRequests: + post: + description: The HTTP request `POST /transactionRequests` is used to request the creation of a transaction request for the provided financial transaction in the server. + summary: Perform transaction request + tags: + - transactionRequests + operationId: TransactionRequests + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Transaction request to be created. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/TransactionRequestsPostRequest" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /transactionRequests/{ID}: + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + get: + description: The HTTP request `GET /transactionRequests/{ID}` is used to get information regarding a transaction request created or requested earlier. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request. + summary: Retrieve transaction request information + tags: + - transactionRequests + operationId: TransactionRequestsByID + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /transactionRequests/{ID}` is used to inform the client of a requested or created transaction request. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. + summary: Return transaction request information + tags: + - transactionRequests + operationId: TransactionRequestsByIDPut + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Transaction request information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/TransactionRequestsIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /transactionRequests/{ID}/error: + put: + description: If the server is unable to find or create a transaction request, or another processing error occurs, the error callback `PUT /transactionRequests/{ID}/error` is used. The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of the transaction request, or the `{ID}` that was used in the `GET /transactionRequests/{ID}`. + summary: Return transaction request information error + tags: + - transactionRequests + operationId: TransactionRequestsErrorByID + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + + #Quotes + /quotes: + post: + description: The HTTP request `POST /quotes` is used to request the creation of a quote for the provided financial transaction in the server. + summary: Calculate quote + tags: + - quotes + operationId: Quotes + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the quote to be created. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/QuotesPostRequest" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /quotes/{ID}: + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + get: + description: The HTTP request `GET /quotes/{ID}` is used to get information regarding a quote created or requested earlier. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote. + summary: Retrieve quote information + tags: + - quotes + operationId: QuotesByID + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /quotes/{ID}` is used to inform the client of a requested or created quote. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. + summary: Return quote information + tags: + - quotes + operationId: QuotesByID1 + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Quote information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/QuotesIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /quotes/{ID}/error: + put: + description: If the server is unable to find or create a quote, or some other processing error occurs, the error callback `PUT /quotes/{ID}/error` is used. The `{ID}` in the URI should contain the `quoteId` that was used for the creation of the quote, or the `{ID}` that was used in the `GET /quotes/{ID}` request. + summary: Return quote information error + tags: + - quotes + operationId: QuotesByIDAndError + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + + #Authorizations + /authorizations/{ID}: + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + get: + description: + The HTTP request `GET /authorizations/{ID}` is used to request the Payer to enter the applicable credentials in the Payee FSP system. The `{ID}` in the URI should contain the `transactionRequestID`, received from the `POST /transactionRequests` service earlier in the process. This request requires a query string to be included in the URI, with the following key-value pairs*:* + + + - `authenticationType={Type}`, where `{Type}` value is a valid authentication type from the enumeration `AuthenticationType`. + + + - `retriesLeft=={NrOfRetries}`, where `{NrOfRetries}` is the number of retries left before the financial transaction is rejected. `{NrOfRetries}` must be expressed in the form of the data type `Integer`. `retriesLeft=1` means that this is the last retry before the financial transaction is rejected. + + + - `amount={Amount}`, where `{Amount}` is the transaction amount that will be withdrawn from the Payer’s account. `{Amount}` must be expressed in the form of the data type `Amount`. + + + - `currency={Currency}`, where `{Currency}` is the transaction currency for the amount that will be withdrawn from the Payer’s account. The `{Currency}` value must be expressed in the form of the enumeration `CurrencyCode`. + + + The following is an example URI containing all the required key-value pairs in the query string*:* + + + `GET /authorization/3d492671-b7af-4f3f-88de-76169b1bdf88?authenticationType=OTP&retriesLeft=2&amount=102¤cy=USD` + summary: Perform authorization + tags: + - authorizations + operationId: AuthorizationsByIDGet + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /authorizations/{ID}` is used to inform the client of the result of a previously-requested authorization. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}` request. + summary: Return authorization result + tags: + - authorizations + operationId: AuthorizationsByIDPut + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Authorization result returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/AuthorizationsIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /authorizations/{ID}/error: + put: + description: If the server is unable to find the transaction request, or another processing error occurs, the error callback `PUT /authorizations/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /authorizations/{ID}`. + summary: Return authorization error + tags: + - authorizations + operationId: AuthorizationsByIDAndError + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + + #Transfers + /transfers: + post: + description: The HTTP request `POST /transfers` is used to request the creation of a transfer for the next ledger, and a financial transaction for the Payee FSP. + summary: Perform transfer + tags: + - transfers + operationId: transfers + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the transfer to be created. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/TransfersPostRequest" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /transfers/{ID}: + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + get: + description: The HTTP request `GET /transfers/{ID}` is used to get information regarding a transfer created or requested earlier. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer. + summary: Retrieve transfer information + tags: + - transfers + operationId: TransfersByIDGet + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + patch: + description: The HTTP request PATCH /transfers/ is used by a Switch to update the state of a previously reserved transfer, if the Payee FSP has requested a commit notification when the Switch has completed processing of the transfer. The in the URI should contain the transferId that was used for the creation of the transfer. Please note that this request does not generate a callback. + summary: Return transfer information + tags: + - transfers + operationId: TransfersByIDPatch + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Transfer notification upon completion. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/TransfersIDPatchResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /transfers/{ID}` is used to inform the client of a requested or created transfer. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}` request. + summary: Return transfer information + tags: + - transfers + operationId: TransfersByIDPut + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Transfer information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/TransfersIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /transfers/{ID}/error: + put: + description: If the server is unable to find or create a transfer, or another processing error occurs, the error callback `PUT /transfers/{ID}/error` is used. The `{ID}` in the URI should contain the `transferId` that was used for the creation of the transfer, or the `{ID}` that was used in the `GET /transfers/{ID}`. + summary: Return transfer information error + tags: + - transfers + operationId: TransfersByIDAndError + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + + #Transactions + /transactions/{ID}: + parameters: + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + get: + description: The HTTP request `GET /transactions/{ID}` is used to get transaction information regarding a financial transaction created earlier. The `{ID}` in the URI should contain the `transactionId` that was used for the creation of the quote, as the transaction is created as part of another process (the transfer process). + summary: Retrieve transaction information + tags: + - transactions + operationId: TransactionsByID + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /transactions/{ID}` is used to inform the client of a requested transaction. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. + summary: Return transaction information + tags: + - transactions + operationId: TransactionsByID1 + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Transaction information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/TransactionsIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /transactions/{ID}/error: + put: + description: If the server is unable to find or create a transaction, or another processing error occurs, the error callback `PUT /transactions/{ID}/error` is used. The `{ID}` in the URI should contain the `{ID}` that was used in the `GET /transactions/{ID}` request. + summary: Return transaction information error + tags: + - transactions + operationId: TransactionsErrorByID + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + + #Bulk Quotes + /bulkQuotes: + post: + description: The HTTP request `POST /bulkQuotes` is used to request the creation of a bulk quote for the provided financial transactions in the server. + summary: Calculate bulk quote + tags: + - bulkQuotes + operationId: BulkQuotes + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the bulk quote to be created. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BulkQuotesPostRequest" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /bulkQuotes/{ID}: + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + get: + description: The HTTP request `GET /bulkQuotes/{ID}` is used to get information regarding a bulk quote created or requested earlier. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote. + summary: Retrieve bulk quote information + tags: + - bulkQuotes + operationId: BulkQuotesByID + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /bulkQuotes/{ID}` is used to inform the client of a requested or created bulk quote. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. + summary: Return bulk quote information + tags: + - bulkQuotes + operationId: BulkQuotesByID1 + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Bulk quote information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BulkQuotesIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /bulkQuotes/{ID}/error: + put: + description: If the server is unable to find or create a bulk quote, or another processing error occurs, the error callback `PUT /bulkQuotes/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkQuoteId` that was used for the creation of the bulk quote, or the `{ID}` that was used in the `GET /bulkQuotes/{ID}` request. + summary: Return bulk quote information error + tags: + - bulkQuotes + operationId: BulkQuotesErrorByID + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + + #Bulk transfers + /bulkTransfers: + post: + description: The HTTP request `POST /bulkTransfers` is used to request the creation of a bulk transfer in the server. + summary: Perform bulk transfer + tags: + - bulkTransfers + operationId: BulkTransfers + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the bulk transfer to be created. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BulkTransfersPostRequest" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /bulkTransfers/{ID}: + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + get: + description: The HTTP request `GET /bulkTransfers/{ID}` is used to get information regarding a bulk transfer created or requested earlier. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer. + summary: Retrieve bulk transfer information + tags: + - bulkTransfers + operationId: BulkTransferByID + parameters: + #Headers + - $ref: "#/components/parameters/Accept" + responses: + 202: + $ref: "#/components/responses/202" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + put: + description: The callback `PUT /bulkTransfers/{ID}` is used to inform the client of a requested or created bulk transfer. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. + summary: Return bulk transfer information + tags: + - bulkTransfers + operationId: BulkTransfersByIDPut + parameters: + #Headers + - $ref: "#/components/parameters/Content-Length" + requestBody: + description: Bulk transfer information returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/BulkTransfersIDPutResponse" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + /bulkTransfers/{ID}/error: + put: + description: If the server is unable to find or create a bulk transfer, or another processing error occurs, the error callback `PUT /bulkTransfers/{ID}/error` is used. The `{ID}` in the URI should contain the `bulkTransferId` that was used for the creation of the bulk transfer (`POST /bulkTransfers`), or the `{ID}` that was used in the `GET /bulkTransfers/{ID}` request. + summary: Return bulk transfer information error + tags: + - bulkTransfers + operationId: BulkTransfersErrorByID + parameters: + #Path + - $ref: "#/components/parameters/ID" + #Headers + - $ref: "#/components/parameters/Content-Length" + - $ref: "#/components/parameters/Content-Type" + - $ref: "#/components/parameters/Date" + - $ref: "#/components/parameters/X-Forwarded-For" + - $ref: "#/components/parameters/FSPIOP-Source" + - $ref: "#/components/parameters/FSPIOP-Destination" + - $ref: "#/components/parameters/FSPIOP-Encryption" + - $ref: "#/components/parameters/FSPIOP-Signature" + - $ref: "#/components/parameters/FSPIOP-URI" + - $ref: "#/components/parameters/FSPIOP-HTTP-Method" + requestBody: + description: Details of the error returned. + required: true + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationObject" + responses: + 200: + $ref: "#/components/responses/200" + 400: + $ref: "#/components/responses/400" + 401: + $ref: "#/components/responses/401" + 403: + $ref: "#/components/responses/403" + 404: + $ref: "#/components/responses/404" + 405: + $ref: "#/components/responses/405" + 406: + $ref: "#/components/responses/406" + 501: + $ref: "#/components/responses/501" + 503: + $ref: "#/components/responses/503" + +components: + schemas: + #Element definitions + 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. + 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. + AuthenticationType: + title: AuthenticationType + type: string + enum: + - OTP + - QRCODE + 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. + AuthenticationValue: + title: AuthenticationValue + oneOf: + - $ref: "#/components/schemas/OtpValue" + - $ref: "#/components/schemas/QRCODE" + 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. + AuthorizationResponse: + title: AuthorizationResponse + type: string + enum: + - ENTERED + - REJECTED + - RESEND + description: Below are the allowed values for the enumeration. + + - ENTERED - Consumer entered the authentication value. + + - REJECTED - Consumer rejected the transaction. + + - RESEND - Consumer requested to resend the authentication value. + 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. + BulkTransferState: + title: BulkTransactionState + type: string + enum: + - RECEIVED + - PENDING + - ACCEPTED + - PROCESSING + - COMPLETED + - REJECTED + description: Below are the allowed values for the enumeration. + + - RECEIVED - Payee FSP has received the bulk transfer from the Payer FSP. + + - PENDING - Payee FSP has validated the bulk transfer. + + - ACCEPTED - Payee FSP has accepted to process the bulk transfer. + + - PROCESSING - Payee FSP has started to transfer fund to the Payees. + + - COMPLETED - Payee FSP has completed transfer of funds to the Payees. + + - REJECTED - Payee FSP has rejected to process the bulk transfer. + Code: + title: Code + type: string + pattern: ^[0-9a-zA-Z]{4,32}$ + description: Any code/token returned by the Payee FSP (TokenCode Type). + 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 (‘-‘). + 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 + 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. + 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). + 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. + ErrorDescription: + title: ErrorDescription + type: string + minLength: 1 + maxLength: 128 + description: Error description string. + ExtensionKey: + title: ExtensionKey + type: string + minLength: 1 + maxLength: 32 + description: Extension key. + ExtensionValue: + title: ExtensionValue + type: string + minLength: 1 + maxLength: 128 + description: Extension value. + 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). + FspId: + title: FspId + type: string + minLength: 1 + maxLength: 32 + description: FSP identifier. + 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. + 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. + IlpPacket: + title: IlpPacket + type: string + pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ + minLength: 1 + maxLength: 32768 + description: Information for recipient (transport layer information). + 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). + 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. + 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. + 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. + 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). + Name: + title: Name + type: string + pattern: '^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{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*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{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. + Note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + OtpValue: + title: OtpValue + type: string + 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 leading zeros are allowed. + PartyIdentifier: + title: PartyIdentifier + type: string + minLength: 1 + maxLength: 128 + description: Identifier of the Party. + PartyIdType: + title: PartyIdType + type: string + enum: + - MSISDN + - EMAIL + - PERSONAL_ID + - BUSINESS + - DEVICE + - ACCOUNT_ID + - IBAN + - ALIAS + description: Below are the allowed values for the enumeration. + + - MSISDN - An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. + + - EMAIL - An email is used as reference to a participant. The format of the email should be according to the informational [RFC 3696](https://tools.ietf.org/html/rfc3696). + + - PERSONAL_ID - A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. + + - BUSINESS - A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. + + - DEVICE - A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. + + - ACCOUNT_ID - A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. + + - IBAN - A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. + + - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier. + PartyName: + title: PartyName + allOf: + - $ref: "#/components/schemas/Name" + - description: Name of the Party. Could be a real name or a nickname. + PartySubIdOrType: + title: PartySubIdOrType + description: Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + oneOf: + - $ref: "#/components/schemas/PersonalIdentifierType" + - $ref: "#/components/schemas/PartyIdentifier" + PersonalIdentifierType: + title: PersonalIdentifierType + type: string + enum: + - PASSPORT + - NATIONAL_REGISTRATION + - DRIVING_LICENSE + - ALIEN_REGISTRATION + - NATIONAL_ID_CARD + - EMPLOYER_ID + - TAX_ID_NUMBER + - SENIOR_CITIZENS_CARD + - MARRIAGE_CERTIFICATE + - HEALTH_CARD + - VOTERS_ID + - UNITED_NATIONS + - OTHER_ID + description: Below are the allowed values for the enumeration. + + - PASSPORT - A passport number is used as reference to a Party. + + - NATIONAL_REGISTRATION - A national registration number is used as reference to a Party. + + - DRIVING_LICENSE - A driving license is used as reference to a Party. + + - ALIEN_REGISTRATION - An alien registration number is used as reference to a Party. + + - NATIONAL_ID_CARD - A national ID card number is used as reference to a Party. + + - EMPLOYER_ID - A tax identification number is used as reference to a Party. + + - TAX_ID_NUMBER - A tax identification number is used as reference to a Party. + + - SENIOR_CITIZENS_CARD - A senior citizens card number is used as reference to a Party. + + - MARRIAGE_CERTIFICATE - A marriage certificate number is used as reference to a Party. + + - HEALTH_CARD - A health card number is used as reference to a Party. + + - VOTERS_ID - A voter’s identification number is used as reference to a Party. + + - UNITED_NATIONS - An UN (United Nations) number is used as reference to a Party. + + - OTHER_ID - Any other type of identification type number is used as reference to a Party. + QRCODE: + title: QRCODE + type: string + minLength: 1 + maxLength: 64 + description: QR code used as a One Time Password. + RefundReason: + title: RefundReason + type: string + minLength: 1 + maxLength: 128 + description: Reason for the refund. + 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. + 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. + 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. + 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. + TransactionState: + title: TransactionState + type: string + enum: + - RECEIVED + - PENDING + - COMPLETED + - REJECTED + description: Below are the allowed values for the enumeration. + + - RECEIVED - Payee FSP has received the transaction from the Payer FSP. + + - PENDING - Payee FSP has validated the transaction. + + - COMPLETED - Payee FSP has successfully performed the transaction. + + - REJECTED - Payee FSP has failed to perform the transaction. + TransactionSubScenario: + title: TransactionSubScenario + type: string + pattern: ^[A-Z_]{1,32}$ + description: Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + 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. + + #Complex Types + AuthenticationInfo: + title: AuthenticationInfo + type: object + description: Data model for the complex type AuthenticationInfo. + properties: + authentication: + allOf: + - $ref: "#/components/schemas/AuthenticationType" + - description: Type of authentication. + - example: OTP + authenticationValue: + allOf: + - $ref: "#/components/schemas/AuthenticationValue" + - description: Authentication value. + - example: 1234 + required: + - authentication + - authenticationValue + AuthorizationsIDPutResponse: + title: AuthorizationsIDPutResponse + type: object + description: The object sent in the PUT /authorizations/{ID} callback. + properties: + authenticationInfo: + allOf: + - $ref: "#/components/schemas/AuthenticationInfo" + - description: OTP or QR Code if entered, otherwise empty. + - example: OTP + responseType: + allOf: + - $ref: "#/components/schemas/AuthorizationResponse" + - description: Enum containing response information; if the customer entered the authentication value, rejected the transaction, or requested a resend of the authentication value. + - example: ENTERED + required: + - responseType + BulkQuotesIDPutResponse: + title: BulkQuotesIDPutResponse + type: object + description: The object sent in the PUT /bulkQuotes/{ID} callback. + properties: + individualQuoteResults: + type: array + maxItems: 1000 + items: + $ref: "#/components/schemas/IndividualQuoteResult" + description: Fees for each individual transaction, if any of them are charged per transaction. + expiration: + allOf: + - $ref: "#/components/schemas/DateTime" + - description: Date and time until when the quotation is valid and can be honored when used in the subsequent transaction request. + - example: "2016-05-24T08:38:08.699-04:00" + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - expiration + BulkQuotesPostRequest: + title: BulkQuotesPostRequest + type: object + description: The object sent in the POST /bulkQuotes request. + properties: + bulkQuoteId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Common ID between the FSPs for the bulk quote object, decided by the Payer FSP. The ID should be reused for resends of the same bulk quote. A new ID should be generated for each new bulk quote. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + payer: + allOf: + - $ref: "#/components/schemas/Party" + - description: Information about the Payer in the proposed financial transaction. + geoCode: + allOf: + - $ref: "#/components/schemas/GeoCode" + - description: Longitude and Latitude of the initiating Party. Can be used to detect fraud. + expiration: + allOf: + - $ref: "#/components/schemas/DateTime" + - description: Expiration is optional to let the Payee FSP know when a quote no longer needs to be returned. + - example: "2016-05-24T08:38:08.699-04:00" + individualQuotes: + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: "#/components/schemas/IndividualQuote" + description: List of quotes elements. + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - bulkQuoteId + - payer + - individualQuotes + BulkTransfersIDPutResponse: + title: BulkTransfersIDPutResponse + type: object + description: The object sent in the PUT /bulkTransfers/{ID} callback. + properties: + completedTimestamp: + allOf: + - $ref: "#/components/schemas/DateTime" + - description: Time and date when the bulk transaction was completed. + - example: "2016-05-24T08:38:08.699-04:00" + individualTransferResults: + type: array + maxItems: 1000 + items: + $ref: "#/components/schemas/IndividualTransferResult" + description: List of IndividualTransferResult elements. + bulkTransferState: + allOf: + - $ref: "#/components/schemas/BulkTransferState" + - description: The state of the bulk transfer. + - example: RECEIVED + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - bulkTransferState + BulkTransfersPostRequest: + title: BulkTransfersPostRequest + type: object + description: The object sent in the POST /bulkTransfers request. + properties: + bulkTransferId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Common ID between the FSPs and the optional Switch for the bulk transfer object, decided by the Payer FSP. The ID should be reused for resends of the same bulk transfer. A new ID should be generated for each new bulk transfer. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + bulkQuoteId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: ID of the related bulk quote. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + payerFsp: + allOf: + - $ref: "#/components/schemas/FspId" + - description: Payer FSP identifier. + - example: 5678 + payeeFsp: + allOf: + - $ref: "#/components/schemas/FspId" + - description: Payee FSP identifier. + - example: 1234 + individualTransfers: + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: "#/components/schemas/IndividualTransfer" + description: List of IndividualTransfer elements. + expiration: + allOf: + - $ref: "#/components/schemas/DateTime" + - description: Expiration time of the transfers. + - example: "2016-05-24T08:38:08.699-04:00" + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - bulkTransferId + - bulkQuoteId + - payerFsp + - payeeFsp + - individualTransfers + - expiration + ErrorInformation: + title: ErrorInformation + type: object + description: Data model for the complex type ErrorInformation. + properties: + errorCode: + allOf: + - $ref: "#/components/schemas/ErrorCode" + - description: Specific error number. + - example: 5100 + errorDescription: + allOf: + - $ref: "#/components/schemas/ErrorDescription" + - description: Error description string. + - example: This is an error description. + extensionList: + $ref: "#/components/schemas/ExtensionList" + required: + - errorCode + - errorDescription + ErrorInformationObject: + title: ErrorInformationObject + type: object + description: Data model for the complex type object that contains ErrorInformation. + properties: + errorInformation: + $ref: "#/components/schemas/ErrorInformation" + required: + - errorInformation + ErrorInformationResponse: + title: ErrorInformationResponse + type: object + description: Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. + properties: + errorInformation: + $ref: "#/components/schemas/ErrorInformation" + Extension: + title: Extension + type: object + description: Data model for the complex type Extension. + properties: + key: + allOf: + - $ref: "#/components/schemas/ExtensionKey" + - description: Extension key. + value: + allOf: + - $ref: "#/components/schemas/ExtensionValue" + - description: Extension value. + required: + - key + - value + 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 + 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: + allOf: + - $ref: "#/components/schemas/Latitude" + - description: Latitude of the Party. + - example: "+45.4215" + longitude: + allOf: + - $ref: "#/components/schemas/Longitude" + - description: Longitude of the Party. + - example: "+75.6972" + required: + - latitude + - longitude + IndividualQuote: + title: IndividualQuote + type: object + description: Data model for the complex type IndividualQuote. + properties: + quoteId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Identifies the quote message. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transactionId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Identifies the transaction message. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + payee: + allOf: + - $ref: "#/components/schemas/Party" + - description: Information about the Payee in the proposed financial transaction. + amountType: + allOf: + - $ref: "#/components/schemas/AmountType" + - description: SEND for sendAmount, RECEIVE for receiveAmount. + - example: RECEIVE + amount: + allOf: + - $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 of any fees. The amount is not updated by any of the participating entities. + fees: + allOf: + - $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: + allOf: + - $ref: "#/components/schemas/TransactionType" + - description: Type of transaction that the quote is requested for. + note: + allOf: + - $ref: "#/components/schemas/Note" + - description: Memo that will be attached to the transaction. + - example: Note sent to Payee. + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - quoteId + - transactionId + - payee + - amountType + - amount + - transactionType + IndividualQuoteResult: + title: IndividualQuoteResult + type: object + description: Data model for the complex type IndividualQuoteResult. + properties: + quoteId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Identifies the quote message. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + payee: + allOf: + - $ref: "#/components/schemas/Party" + - description: Information about the Payee in the proposed financial transaction. + transferAmount: + allOf: + - $ref: "#/components/schemas/Money" + - description: The amount of money that the Payee FSP should receive. + payeeReceiveAmount: + allOf: + - $ref: "#/components/schemas/Money" + - description: The amount of Money that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees. + payeeFspFee: + allOf: + - $ref: "#/components/schemas/Money" + - description: Payee FSP’s part of the transaction fee. + payeeFspCommission: + allOf: + - $ref: "#/components/schemas/Money" + - description: Transaction commission from the Payee FSP. + ilpPacket: + allOf: + - $ref: "#/components/schemas/IlpPacket" + - description: The ILP Packet that must be attached to the transfer by the Payer. + - example: AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + condition: + allOf: + - $ref: "#/components/schemas/IlpCondition" + - description: The condition that must be attached to the transfer by the Payer. + - example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA + errorInformation: + allOf: + - $ref: "#/components/schemas/ErrorInformation" + - description: Error code, category description. **Note:** receiveAmount, payeeFspFee, payeeFspCommission, expiration, ilpPacket, condition should not be set if errorInformation is set. + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - quoteId + IndividualTransfer: + title: IndividualTransfer + type: object + description: Data model for the complex type IndividualTransfer. + properties: + transferId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Identifies messages related to the same /transfers sequence. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transferAmount: + allOf: + - $ref: "#/components/schemas/Money" + - description: Transaction amount to be sent. + ilpPacket: + allOf: + - $ref: "#/components/schemas/IlpPacket" + - description: ILP Packet containing the amount delivered to the Payee and the ILP Address of the Payee and any other end-to-end data. + - example: AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + condition: + allOf: + - $ref: "#/components/schemas/IlpCondition" + - description: Condition that must be fulfilled to commit the transfer. + - example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - transferId + - transferAmount + - ilpPacket + - condition + IndividualTransferResult: + title: IndividualTransferResult + type: object + description: Data model for the complex type IndividualTransferResult. + properties: + transferId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Identifies messages related to the same /transfers sequence. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + fulfilment: + allOf: + - $ref: "#/components/schemas/IlpFulfilment" + - description: Fulfilment of the condition specified with the transaction. **Note:** Either fulfilment or errorInformation should be set, not both. + - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + errorInformation: + allOf: + - $ref: "#/components/schemas/ErrorInformation" + - description: If transfer is REJECTED, error information may be provided. **Note:** Either fulfilment or errorInformation should be set, not both. + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - transferId + Money: + title: Money + type: object + description: Data model for the complex type Money. + properties: + currency: + allOf: + - $ref: "#/components/schemas/Currency" + - description: Currency of the amount. + - example: USD + amount: + allOf: + - $ref: "#/components/schemas/Amount" + - description: Amount of Money. + - example: "123.45" + required: + - currency + - amount + ParticipantsIDPutResponse: + title: ParticipantsIDPutResponse + type: object + description: The object sent in the PUT /participants/{ID} callback. + properties: + partyList: + type: array + items: + $ref: "#/components/schemas/PartyResult" + minItems: 1 + maxItems: 10000 + description: List of PartyResult elements that were either created or failed to be created. + currency: + allOf: + - $ref: "#/components/schemas/Currency" + - description: Indicate that the provided Currency was set to be supported by each successfully added PartyIdInfo. + - example: USD + required: + - partyList + ParticipantsPostRequest: + title: ParticipantsPostRequest + type: object + description: The object sent in the POST /participants request. + properties: + requestId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: The ID of the request, decided by the client. Used for identification of the callback from the server. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + partyList: + type: array + items: + $ref: "#/components/schemas/PartyIdInfo" + minItems: 1 + maxItems: 10000 + description: List of PartyIdInfo elements that the client would like to update or create FSP information about. + currency: + allOf: + - $ref: "#/components/schemas/Currency" + - description: Indicate that the provided Currency is supported by each PartyIdInfo in the list. + - example: USD + required: + - requestId + - partyList + ParticipantsTypeIDPutResponse: + title: ParticipantsTypeIDPutResponse + type: object + description: The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks. + properties: + fspId: + allOf: + - $ref: "#/components/schemas/FspId" + - description: FSP Identifier that the Party belongs to. + - example: 1234 + ParticipantsTypeIDSubIDPostRequest: + title: ParticipantsTypeIDSubIDPostRequest + type: object + description: The object sent in the POST /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} requests. An additional optional ExtensionList element has been added as part of v1.1 changes. + properties: + fspId: + allOf: + - $ref: "#/components/schemas/FspId" + - description: FSP Identifier that the Party belongs to. + - example: 1234 + currency: + allOf: + - $ref: "#/components/schemas/Currency" + - description: Indicate that the provided Currency is supported by the Party. + - example: USD + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - fspId + PartiesTypeIDPutResponse: + title: PartiesTypeIDPutResponse + type: object + description: The object sent in the PUT /parties/{Type}/{ID} callback. + properties: + party: + allOf: + - $ref: "#/components/schemas/Party" + - description: Information regarding the requested Party. + required: + - party + Party: + title: Party + type: object + description: Data model for the complex type Party. + properties: + partyIdInfo: + allOf: + - $ref: "#/components/schemas/PartyIdInfo" + - description: Party Id type, id, sub ID or type, and FSP Id. + merchantClassificationCode: + allOf: + - $ref: "#/components/schemas/MerchantClassificationCode" + - description: Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments. + - example: 4321 + name: + allOf: + - $ref: "#/components/schemas/PartyName" + - description: Display name of the Party, could be a real name or a nick name. + - example: Henrik Karlsson + personalInfo: + allOf: + - $ref: "#/components/schemas/PartyPersonalInfo" + - description: Personal information used to verify identity of Party such as first, middle, last name and date of birth. + required: + - partyIdInfo + PartyComplexName: + title: PartyComplexName + type: object + description: Data model for the complex type PartyComplexName. + properties: + firstName: + allOf: + - $ref: "#/components/schemas/FirstName" + - description: Party’s first name. + - example: Henrik + middleName: + allOf: + - $ref: "#/components/schemas/MiddleName" + - description: Party’s middle name. + - example: Johannes + lastName: + allOf: + - $ref: "#/components/schemas/LastName" + - description: Party’s last name. + - example: Karlsson + PartyIdInfo: + title: PartyIdInfo + type: object + description: Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1 + properties: + partyIdType: + allOf: + - $ref: "#/components/schemas/PartyIdType" + - description: Type of the identifier. + - example: PERSONAL_ID + partyIdentifier: + allOf: + - $ref: "#/components/schemas/PartyIdentifier" + - description: An identifier for the Party. + - example: 16135551212 + partySubIdOrType: + allOf: + - $ref: "#/components/schemas/PartySubIdOrType" + - description: A sub-identifier or sub-type for the Party. + - example: DRIVING_LICENSE + fspId: + allOf: + - $ref: "#/components/schemas/FspId" + - description: FSP ID (if known). + - example: 1234 + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - partyIdType + - partyIdentifier + PartyPersonalInfo: + title: PartyPersonalInfo + type: object + description: Data model for the complex type PartyPersonalInfo. + properties: + complexName: + allOf: + - $ref: "#/components/schemas/PartyComplexName" + - description: First, middle and last name for the Party. + dateOfBirth: + allOf: + - $ref: "#/components/schemas/DateOfBirth" + - description: Date of birth for the Party. + - example: "1966-06-16" + PartyResult: + title: PartyResult + type: object + description: Data model for the complex type PartyResult. + properties: + partyId: + allOf: + - $ref: "#/components/schemas/PartyIdInfo" + - description: Party Id type, id, sub ID or type, and FSP Id. + errorInformation: + allOf: + - $ref: "#/components/schemas/ErrorInformation" + - description: If the Party failed to be added, error information should be provided. Otherwise, this parameter should be empty to indicate success. + required: + - partyId + QuotesIDPutResponse: + title: QuotesIDPutResponse + type: object + description: The object sent in the PUT /quotes/{ID} callback. + properties: + transferAmount: + allOf: + - $ref: "#/components/schemas/Money" + - description: The amount of money that the Payee FSP should receive. + payeeReceiveAmount: + allOf: + - $ref: "#/components/schemas/Money" + - description: The amount of Money that the Payee should receive in the end-to-end transaction. Optional as the Payee FSP might not want to disclose any optional Payee fees. + payeeFspFee: + allOf: + - $ref: "#/components/schemas/Money" + - description: Payee FSP’s part of the transaction fee. + payeeFspCommission: + allOf: + - $ref: "#/components/schemas/Money" + - description: Transaction commission from the Payee FSP. + expiration: + allOf: + - $ref: "#/components/schemas/DateTime" + - 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: + allOf: + - $ref: "#/components/schemas/GeoCode" + - description: Longitude and Latitude of the Payee. Can be used to detect fraud. + ilpPacket: + allOf: + - $ref: "#/components/schemas/IlpPacket" + - description: The ILP Packet that must be attached to the transfer by the Payer. + - example: “AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA” + condition: + allOf: + - $ref: "#/components/schemas/IlpCondition" + - description: The condition that must be attached to the transfer by the Payer. + - example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - transferAmount + - expiration + - ilpPacket + - condition + QuotesPostRequest: + title: QuotesPostRequest + type: object + description: The object sent in the POST /quotes request. + properties: + quoteId: + allOf: + - $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: + allOf: + - $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: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Identifies an optional previously-sent transaction request. + - example: a8323bc6-c228-4df2-ae82-e5a997baf890 + payee: + allOf: + - $ref: "#/components/schemas/Party" + - description: Information about the Payee in the proposed financial transaction. + payer: + allOf: + - $ref: "#/components/schemas/Party" + - description: Information about the Payer in the proposed financial transaction. + amountType: + allOf: + - $ref: "#/components/schemas/AmountType" + - description: SEND for send amount, RECEIVE for receive amount. + - example: SEND + amount: + allOf: + - $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: + allOf: + - $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: + allOf: + - $ref: "#/components/schemas/TransactionType" + - description: Type of transaction for which the quote is requested. + geoCode: + allOf: + - $ref: "#/components/schemas/GeoCode" + - description: Longitude and Latitude of the initiating Party. Can be used to detect fraud. + note: + allOf: + - $ref: "#/components/schemas/Note" + - description: A memo that will be attached to the transaction. + - example: Free-text memo. + expiration: + allOf: + - $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: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - quoteId + - transactionId + - payee + - payer + - amountType + - amount + - transactionType + Refund: + title: Refund + type: object + description: Data model for the complex type Refund. + properties: + originalTransactionId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Reference to the original transaction ID that is requested to be refunded. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + refundReason: + allOf: + - $ref: "#/components/schemas/RefundReason" + - description: Free text indicating the reason for the refund. + - example: Free text indicating reason for the refund. + required: + - originalTransactionId + TransactionRequestsIDPutResponse: + title: TransactionRequestsIDPutResponse + type: object + description: The object sent in the PUT /transactionRequests/{ID} callback. + properties: + transactionId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Identifies a related transaction (if a transaction has been created). + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + transactionRequestState: + allOf: + - $ref: "#/components/schemas/TransactionRequestState" + - description: State of the transaction request. + - example: RECEIVED + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - transactionRequestState + TransactionRequestsPostRequest: + title: TransactionRequestsPostRequest + type: object + description: The object sent in the POST /transactionRequests request. + properties: + transactionRequestId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: Common ID between the FSPs for the transaction request object, decided by the Payee FSP. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + payee: + allOf: + - $ref: "#/components/schemas/Party" + - description: Information about the Payee in the proposed financial transaction. + payer: + allOf: + - $ref: "#/components/schemas/PartyIdInfo" + - description: Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction. + amount: + allOf: + - $ref: "#/components/schemas/Money" + - description: Requested amount to be transferred from the Payer to Payee. + transactionType: + allOf: + - $ref: "#/components/schemas/TransactionType" + - description: Type of transaction. + note: + allOf: + - $ref: "#/components/schemas/Note" + - description: Reason for the transaction request, intended to the Payer. + - example: Free-text memo. + geoCode: + allOf: + - $ref: "#/components/schemas/GeoCode" + - description: Longitude and Latitude of the initiating Party. Can be used to detect fraud. + authenticationType: + allOf: + - $ref: "#/components/schemas/AuthenticationType" + - description: OTP or QR Code, otherwise empty. + - example: OTP + expiration: + allOf: + - $ref: "#/components/schemas/DateTime" + - description: Can be set to get a quick failure in case the peer FSP takes too long to respond. Also, it may be beneficial for Consumer, Agent, Merchant to know that their request has a time limit. + - example: "2016-05-24T08:38:08.699-04:00" + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - transactionRequestId + - payee + - payer + - amount + - transactionType + TransactionsIDPutResponse: + title: TransactionsIDPutResponse + type: object + description: The object sent in the PUT /transactions/{ID} callback. + properties: + completedTimestamp: + allOf: + - $ref: "#/components/schemas/DateTime" + - description: Time and date when the transaction was completed. + - example: "2016-05-24T08:38:08.699-04:00" + transactionState: + allOf: + - $ref: "#/components/schemas/TransactionState" + - description: State of the transaction. + - example: RECEIVED + code: + allOf: + - $ref: "#/components/schemas/Code" + - description: Optional redemption information provided to Payer after transaction has been completed. + - example: Test-Code + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - transactionState + TransactionType: + title: TransactionType + type: object + description: Data model for the complex type TransactionType. + properties: + scenario: + allOf: + - $ref: "#/components/schemas/TransactionScenario" + - description: Deposit, withdrawal, refund, … + - example: DEPOSIT + subScenario: + allOf: + - $ref: "#/components/schemas/TransactionSubScenario" + - description: Possible sub-scenario, defined locally within the scheme. + - example: Locally defined sub-scenario. + initiator: + allOf: + - $ref: "#/components/schemas/TransactionInitiator" + - description: Who is initiating the transaction - Payer or Payee. + - example: PAYEE + initiatorType: + allOf: + - $ref: "#/components/schemas/TransactionInitiatorType" + - description: Consumer, agent, business, … + - example: CONSUMER + refundInfo: + allOf: + - $ref: "#/components/schemas/Refund" + - description: Extra information specific to a refund scenario. Should only be populated if scenario is REFUND. + balanceOfPayments: + allOf: + - $ref: "#/components/schemas/BalanceOfPayments" + - description: Balance of Payments code. + - example: 123 + required: + - scenario + - initiator + - initiatorType + TransfersIDPatchResponse: + title: TransfersIDPatchResponse + type: object + description: PATCH /transfers/{ID} object + properties: + completedTimestamp: + allOf: + - $ref: "#/components/schemas/DateTime" + - description: Time and date when the transaction was completed. + - example: "2020-05-19T08:38:08.699-04:00" + transferState: + allOf: + - $ref: "#/components/schemas/TransferState" + - description: State of the transfer. + - example: RESERVED + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - completedTimestamp + - transferState + TransfersIDPutResponse: + title: TransfersIDPutResponse + type: object + description: The object sent in the PUT /transfers/{ID} callback. + properties: + fulfilment: + allOf: + - $ref: "#/components/schemas/IlpFulfilment" + - description: Fulfilment of the condition specified with the transaction. Mandatory if transfer has completed successfully. + - example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8 + completedTimestamp: + allOf: + - $ref: "#/components/schemas/DateTime" + - description: Time and date when the transaction was completed. + - example: "2016-05-24T08:38:08.699-04:00" + transferState: + allOf: + - $ref: "#/components/schemas/TransferState" + - description: State of the transfer. + - example: COMMITTED + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - transferState + TransfersPostRequest: + title: TransfersPostRequest + type: object + description: The object sent in the POST /transfers request. + properties: + transferId: + allOf: + - $ref: "#/components/schemas/CorrelationId" + - description: The common ID between the FSPs and the optional Switch for the transfer object, decided by the Payer FSP. The ID should be reused for resends of the same transfer. A new ID should be generated for each new transfer. + - example: b51ec534-ee48-4575-b6a9-ead2955b8069 + payeeFsp: + allOf: + - $ref: "#/components/schemas/FspId" + - description: Payee FSP in the proposed financial transaction. + - example: 1234 + payerFsp: + allOf: + - $ref: "#/components/schemas/FspId" + - description: Payer FSP in the proposed financial transaction. + - example: 5678 + amount: + allOf: + - $ref: "#/components/schemas/Money" + - description: The transfer amount to be sent. + ilpPacket: + allOf: + - $ref: "#/components/schemas/IlpPacket" + - description: The ILP Packet containing the amount delivered to the Payee and the ILP Address of the Payee and any other end-to-end data. + - example: AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA + condition: + allOf: + - $ref: "#/components/schemas/IlpCondition" + - description: The condition that must be fulfilled to commit the transfer. + - example: f5sqb7tBTWPd5Y8BDFdMm9BJR_MNI4isf8p8n4D5pHA + expiration: + allOf: + - $ref: "#/components/schemas/DateTime" + - description: Expiration can be set to get a quick failure expiration of the transfer. The transfer should be rolled back if no fulfilment is delivered before this time. + - example: "2016-05-24T08:38:08.699-04:00" + extensionList: + allOf: + - $ref: "#/components/schemas/ExtensionList" + - description: Optional extension, specific to deployment. + required: + - transferId + - payeeFsp + - payerFsp + - amount + - ilpPacket + - condition + - expiration + + responses: + "200": + description: OK + "202": + description: Accepted + "400": + description: Bad Request + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationResponse" + headers: + Content-Length: + $ref: "#/components/parameters/Content-Length" + Content-Type: + $ref: "#/components/parameters/Content-Type" + "401": + description: Unauthorized + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationResponse" + headers: + Content-Length: + $ref: "#/components/parameters/Content-Length" + Content-Type: + $ref: "#/components/parameters/Content-Type" + "403": + description: Forbidden + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationResponse" + headers: + Content-Length: + $ref: "#/components/parameters/Content-Length" + Content-Type: + $ref: "#/components/parameters/Content-Type" + "404": + description: Not Found + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationResponse" + headers: + Content-Length: + $ref: "#/components/parameters/Content-Length" + Content-Type: + $ref: "#/components/parameters/Content-Type" + "405": + description: Method Not Allowed + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationResponse" + headers: + Content-Length: + $ref: "#/components/parameters/Content-Length" + Content-Type: + $ref: "#/components/parameters/Content-Type" + "406": + description: Not Acceptable + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationResponse" + headers: + Content-Length: + $ref: "#/components/parameters/Content-Length" + Content-Type: + $ref: "#/components/parameters/Content-Type" + "501": + description: Not Implemented + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationResponse" + headers: + Content-Length: + $ref: "#/components/parameters/Content-Length" + Content-Type: + $ref: "#/components/parameters/Content-Type" + "503": + description: Service Unavailable + content: + application/json: + schema: + $ref: "#/components/schemas/ErrorInformationResponse" + headers: + Content-Length: + $ref: "#/components/parameters/Content-Length" + Content-Type: + $ref: "#/components/parameters/Content-Type" + + parameters: + #Header parameters + Accept: + name: Accept + in: header + required: true + schema: + type: string + description: The `Accept` header field indicates the version of the API the client would like the server to use. + Content-Length: + name: Content-Length + in: header + required: false + schema: + type: integer + description: + The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + + + **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + Content-Type: + name: Content-Type + in: header + schema: + type: string + required: true + description: The `Content-Type` header indicates the specific version of the API used to send the payload body. + Date: + name: Date + in: header + schema: + type: string + required: true + description: The `Date` header field indicates the date when the request was sent. + X-Forwarded-For: + name: X-Forwarded-For + in: header + schema: + type: string + required: false + description: + The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. + + + **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. + FSPIOP-Source: + name: FSPIOP-Source + in: header + schema: + type: string + required: true + description: The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). + FSPIOP-Destination: + name: FSPIOP-Destination + in: header + schema: + type: string + required: false + description: The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. + FSPIOP-Encryption: + name: FSPIOP-Encryption + in: header + schema: + type: string + required: false + description: The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. + FSPIOP-Signature: + name: FSPIOP-Signature + in: header + schema: + type: string + required: false + description: The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. + FSPIOP-URI: + name: FSPIOP-URI + in: header + schema: + type: string + required: false + description: The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + FSPIOP-HTTP-Method: + name: FSPIOP-HTTP-Method + in: header + schema: + type: string + required: false + description: The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + #Path parameters + ID: + name: ID + in: path + required: true + schema: + type: string + description: The identifier value. + Type: + name: Type + in: path + required: true + schema: + type: string + description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`. + 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`. \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.1/mockRef.json b/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.1/mockRef.json index 391811712..77f657ccc 100644 --- a/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.1/mockRef.json +++ b/docker/ml-testing-toolkit/spec_files/api_definitions/fspiop_1.1/mockRef.json @@ -75,9 +75,5 @@ { "id": "errorInformation.errorDescription", "pattern": "This is a mock error description" - }, - { - "id": "Content-Length", - "pattern": "123" } ] \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml new file mode 100644 index 000000000..63b6243c2 --- /dev/null +++ b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/api_spec.yaml @@ -0,0 +1,2603 @@ +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: + /: + 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: + '200': + $ref: '#/components/responses/bulkTransferSuccess' + '400': + $ref: '#/components/responses/bulkTransferBadRequest' + '500': + $ref: '#/components/responses/bulkTransferServerError' + '504': + $ref: '#/components/responses/bulkTransferTimeout' + '/bulkTransfers/{bulkTransferId}': + 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' + responses: + '200': + description: Bulk transfer information successfully retrieved + content: + application/json: + schema: + $ref: '#/components/schemas/bulkTransferStatusResponse' + '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' + /authorizations: + post: + description: >- + The HTTP request `POST /authorizations` is used to request the Payer to + enter the applicable credentials in the PISP system. + summary: Authorizations endpoint + operationId: AuthorizationsPost + tags: + - authorizations + requestBody: + description: Perform authorization + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/authorizationsPostRequest' + responses: + '200': + $ref: '#/components/responses/authorizationPostSuccess' + '500': + $ref: '#/components/responses/authorizationsServerError' +components: + schemas: + 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. + PartyIdType: + title: PartyIdType + type: string + enum: + - MSISDN + - EMAIL + - PERSONAL_ID + - BUSINESS + - DEVICE + - ACCOUNT_ID + - IBAN + - ALIAS + - CONSENT + - THIRD_PARTY_LINK + description: > + This is a variant based on FSPIOP `PartyIdType` specification. + + Main difference being the CONSENT and THIRD_PARTY_LINK enums. + + + Below are the allowed values for the enumeration. + + - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + + Number, that is, the phone number) is used as reference to a + participant. + + The MSISDN identifier should be in international format according to the + + [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + + Optionally, the MSISDN may be prefixed by a single plus sign, indicating + the + + international prefix. + + - EMAIL - An email is used as reference to a + + participant. The format of the email should be according to the + informational + + [RFC 3696](https://tools.ietf.org/html/rfc3696). + + - PERSONAL_ID - A personal identifier is used as reference to a + participant. + + Examples of personal identification are passport number, birth + certificate + + 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 - TBD + + - THIRD_PARTY_LINK - TBD + example: PERSONAL_ID + PartyIdentifier: + title: PartyIdentifier + type: string + minLength: 1 + maxLength: 128 + description: Identifier of the Party. + 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*$)[\w .,''-]{1,128}$' + description: First name of the Party (Name Type). + MiddleName: + title: MiddleName + type: string + minLength: 1 + maxLength: 128 + pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + description: Middle name of the Party (Name Type). + LastName: + title: LastName + type: string + minLength: 1 + maxLength: 128 + pattern: '^(?!\s*$)[\w .,''-]{1,128}$' + description: Last name of the Party (Name Type). + 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. + 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 + 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. + 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. + transactionType: + type: string + enum: + - TRANSFER + description: Type of transaction. + Note: + title: Note + type: string + minLength: 1 + maxLength: 128 + description: Memo assigned to transaction. + 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' + 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 (‘-‘). + 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). + 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. + 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. + 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). + 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. + 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. + 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. + 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: + $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' + 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: + $ref: '#/components/schemas/transferError' + 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: + $ref: '#/components/schemas/TransfersIDPutResponse' + 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: + transferId: + $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: + - transferId + - to + - amountType + - currency + - transactionType + bulkTransferRequest: + 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: '#/components/schemas/CorrelationId' + from: + $ref: '#/components/schemas/transferParty' + 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' + 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' + 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: + $ref: '#/components/schemas/transferError' + bulkTransferResponse: + type: object + required: + - from + - individualTransferResults + properties: + transferId: + $ref: '#/components/schemas/CorrelationId' + from: + $ref: '#/components/schemas/transferParty' + individualTransferResults: + type: array + maxItems: 1000 + items: + $ref: '#/components/schemas/individualTransferResult' + description: List of individual transfer result in a bulk transfer response. + bulkTransferErrorResponse: + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + required: + - bulkTansferState + properties: + bulkTransferState: + $ref: '#/components/schemas/bulkTransferResponse' + bulkTransferStatus: + type: string + enum: + - ERROR_OCCURRED + - COMPLETED + individualTransferFulfilment: + type: object + description: >- + A Mojaloop API transfer fulfilment for individual transfers in a bulk + transfer + properties: + fulfilment: + $ref: '#/components/schemas/IlpFulfilment' + extensionList: + $ref: '#/components/schemas/ExtensionList' + 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: + $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: + $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. + TransactionSubScenario: + title: TransactionSubScenario + type: string + pattern: '^[A-Z_]{1,32}$' + description: >- + Possible sub-scenario, defined locally within the scheme (UndefinedEnum + Type). + 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. + RefundReason: + title: RefundReason + type: string + minLength: 1 + maxLength: 128 + description: 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. + 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. + 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. + 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: + $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' + errorAccountsResponse: + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + required: + - executionState + properties: + executionState: + $ref: '#/components/schemas/accountsResponse' + AccountAddress: + title: AccountAddress + type: string + description: > + A long-lived unique account identifier provided by the DFSP. This MUST + NOT + + be Bank Account Number or anything that may expose a User's private bank + + account information. + pattern: '^([0-9A-Za-z_~\-\.]+[0-9A-Za-z_~\-])$' + minLength: 1 + maxLength: 1023 + Account: + title: Account + type: object + description: Data model for the complex type Account. + properties: + address: + $ref: '#/components/schemas/AccountAddress' + currency: + $ref: '#/components/schemas/Currency' + description: + $ref: '#/components/schemas/Name' + required: + - currency + AccountList: + title: AccountList + type: object + description: Data model for the complex type AccountList. + properties: + account: + type: array + items: + $ref: '#/components/schemas/Account' + minItems: 1 + maxItems: 32 + description: Accounts associated with the Party. + required: + - account + 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: + accounts: + $ref: '#/components/schemas/AccountList' + 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: + $ref: '#/components/schemas/Party' + 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' + transactionId: + $ref: '#/components/schemas/CorrelationId' + transactionRequestId: + $ref: '#/components/schemas/CorrelationId' + payee: + $ref: '#/components/schemas/Party' + payer: + $ref: '#/components/schemas/Party' + amountType: + $ref: '#/components/schemas/AmountType' + amount: + $ref: '#/components/schemas/Money' + fees: + $ref: '#/components/schemas/Money' + transactionType: + $ref: '#/components/schemas/TransactionType' + geoCode: + $ref: '#/components/schemas/GeoCode' + note: + $ref: '#/components/schemas/Note' + expiration: + $ref: '#/components/schemas/DateTime' + extensionList: + $ref: '#/components/schemas/ExtensionList' + required: + - quoteId + - transactionId + - payee + - payer + - amountType + - amount + - transactionType + quotesPostRequest: + title: QuotesPostRequest + type: object + properties: + fspId: + $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: + 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 + 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: + $ref: '#/components/schemas/TransfersIDPutResponse' + currentState: + $ref: '#/components/schemas/async2SyncCurrentState' + required: + - transfer + - currentState + errorSimpleTransfersResponse: + allOf: + - $ref: '#/components/schemas/errorResponse' + - type: object + AuthorizationChannelType: + title: AuthorizationChannelType + type: string + enum: + - OTP + - QRCODE + - U2F + description: > + Below are the allowed values for the enumeration + AuthorizationChannelType. + + - 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. + + + This is based on FSPIOP `AuthenticationType` with U2F added. + example: U2F + Integer: + title: Integer + type: string + 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 + always limited to a specific number of digits. + AuthorizationsPostRequest: + title: AuthorizationsPostRequest + description: POST /authorizations request object. + type: object + properties: + authenticationType: + $ref: '#/components/schemas/AuthorizationChannelType' + retriesLeft: + $ref: '#/components/schemas/Integer' + amount: + $ref: '#/components/schemas/Money' + transactionId: + $ref: '#/components/schemas/CorrelationId' + transactionRequestId: + $ref: '#/components/schemas/CorrelationId' + quote: + $ref: '#/components/schemas/QuotesIDPutResponse' + required: + - authenticationType + - retriesLeft + - amount + - transactionId + - transactionRequestId + - quote + additionalProperties: false + authorizationsPostRequest: + title: AuthorizationsPostRequest + description: POST /authorizations Request object + type: object + properties: + fspId: + $ref: '#/components/schemas/FspId' + authorizationsPostRequest: + $ref: '#/components/schemas/AuthorizationsPostRequest' + required: + - fspId + - authorizationsPostRequest + OtpValue: + title: OtpValue + type: string + 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 + leading zeros are allowed. + QRCODE: + title: QRCODE + type: string + minLength: 1 + maxLength: 64 + description: QR code used as a One Time Password. + U2FPIN: + title: U2FPIN + type: string + pattern: '^\S{1,64}$' + minLength: 1 + maxLength: 64 + description: > + U2F challenge-response, where payer FSP verifies if the response + provided by end-user device matches the previously registered key. + U2FPinValue: + title: U2FPinValue + type: object + description: > + U2F challenge-response, where payer FSP verifies if the response + provided by end-user device matches the previously registered key. + properties: + pinValue: + allOf: + - $ref: '#/components/schemas/U2FPIN' + description: U2F challenge-response. + counter: + allOf: + - $ref: '#/components/schemas/Integer' + description: >- + Sequential counter used for cloning detection. Present only for U2F + authentication. + required: + - pinValue + - counter + AuthenticationValue: + title: AuthenticationValue + anyOf: + - $ref: '#/components/schemas/OtpValue' + - $ref: '#/components/schemas/QRCODE' + - $ref: '#/components/schemas/U2FPinValue' + 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. + AuthenticationInfo: + title: AuthenticationInfo + type: object + description: Data model for the complex type AuthenticationInfo. + properties: + authentication: + $ref: '#/components/schemas/AuthenticationType' + authenticationValue: + $ref: '#/components/schemas/AuthenticationValue' + required: + - authentication + - authenticationValue + AuthorizationResponseType: + title: AuthorizationResponseType + description: | + Enum containing response information; if the customer entered the + authentication value, rejected the transaction, or requested a + resend of the authentication value. + type: string + enum: + - ENTERED + - REJECTED + - RESEND + authorizationsPostResponse: + title: AuthorizationsPostResponse + description: POST /authorizations response object + type: object + properties: + authorizations: + type: object + properties: + authenticationInfo: + $ref: '#/components/schemas/AuthenticationInfo' + responseType: + $ref: '#/components/schemas/AuthorizationResponseType' + required: + - responseType + currentState: + $ref: '#/components/schemas/async2SyncCurrentState' + required: + - authorizations + - currentState + additionalProperties: false + errorAuthorizationsResponse: + 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' + 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' + authorizationPostSuccess: + description: Sync response from POST /authorizations + content: + application/json: + schema: + $ref: '#/components/schemas/authorizationsPostResponse' + authorizationsServerError: + description: An error occurred processing the authorizations request + content: + application/json: + schema: + $ref: '#/components/schemas/errorAuthorizationsResponse' + 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/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/mockRef.json b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/mockRef.json new file mode 100644 index 000000000..f0060c75d --- /dev/null +++ b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/mockRef.json @@ -0,0 +1,22 @@ +[ + { + "id": "party.personalInfo.dateOfBirth", + "pattern": "^(19)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|2[0-8])$" + }, + { + "id": "party.name", + "pattern": "Vijay Kumar Guthi" + }, + { + "id": "party.personalInfo.complexName.firstName", + "pattern": "Vijay" + }, + { + "id": "party.personalInfo.complexName.lastName", + "pattern": "Kumar" + }, + { + "id": "party.personalInfo.complexName.middleName", + "pattern": "Guthi" + } +] diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/response_map.json b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/response_map.json new file mode 100644 index 000000000..1ad829f38 --- /dev/null +++ b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_sdk_outbound_scheme_adapter_1.0/response_map.json @@ -0,0 +1,21 @@ +{ + "/parties/{Type}/{ID}": { + "get": { + "response": { + "bodyOverride": { + "party": { + "partyIdInfo": { + "partyIdType": "{$request.params.Type}", + "partyIdentifier": "{$request.params.ID}", + "fspId": "ttk", + "partySubIdOrType": null, + "extensionList": null + }, + "accounts": null, + "merchantClassificationCode": null + } + } + } + } + } +} \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/api_spec.yaml b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/api_spec.yaml new file mode 100644 index 000000000..b214065b3 --- /dev/null +++ b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/api_spec.yaml @@ -0,0 +1,1087 @@ +openapi: 3.0.1 +info: + title: Mojaloop SDK Inbound Scheme Adapter API + description: Mojaloop SDK Inbound Scheme Adapter API - To be implemented by DFSP backend + license: + name: Open API for FSP Interoperability (FSPIOP) + url: http://www.majaloop.io + version: 1.0.0 + +paths: + /: + get: + summary: Health check endpoint. + operationId: healthCheck + responses: + 200: + description: Returns empty body if the service is running. + /participants/{idType}/{idValue}: + get: + summary: Asks for the FSPID of the scheme participant that can handle transfers for the specified identifier type and value + tags: + - Participants + operationId: ParticipantsGetByTypeAndID + parameters: + - name: idType + in: path + required: true + schema: + $ref: '#/components/schemas/idType' + - name: idValue + in: path + required: true + schema: + $ref: '#/components/schemas/idValue' + responses: + 200: + description: Response containing details of the requested party + content: + application/json: + schema: + $ref: '#/components/schemas/participantsResponse' + 404: + description: The party specified by the provided identifier type and value is not known to the server + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /participants/{idType}/{idValue}/{subIdValue}: + get: + summary: Asks for the FSPID of the scheme participant that can handle transfers for the specified identifier type, value and subId value + tags: + - Participants + operationId: ParticipantsGetByTypeIDAndSubId + parameters: + - name: idType + in: path + required: true + schema: + $ref: '#/components/schemas/idType' + - name: idValue + in: path + required: true + schema: + $ref: '#/components/schemas/idValue' + - name: subIdValue + in: path + required: true + schema: + $ref: '#/components/schemas/subIdValue' + responses: + 200: + description: Response containing details of the requested party + content: + application/json: + schema: + $ref: '#/components/schemas/participantsResponse' + 404: + description: The party specified by the provided identifier type and value/subId is not known to the server + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /parties/{idType}/{idValue}: + get: + summary: Requests information relating to a transfer party identified by the specified identifier type and value + tags: + - Parties + operationId: PartiesGetByTypeAndID + parameters: + - name: idType + in: path + required: true + schema: + $ref: '#/components/schemas/idType' + - name: idValue + in: path + required: true + schema: + $ref: '#/components/schemas/idValue' + responses: + 200: + description: Response containing details of the requested party + content: + application/json: + schema: + $ref: '#/components/schemas/transferParty' + 404: + description: The party specified by the provided identifier type and value is not known to the server + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /parties/{idType}/{idValue}/{subIdValue}: + get: + summary: Requests information relating to a transfer party identified by the specified identifier type, value and subId value + tags: + - Parties + operationId: PartiesGetByTypeIdAndSubId + parameters: + - name: idType + in: path + required: true + schema: + $ref: '#/components/schemas/idType' + - name: idValue + in: path + required: true + schema: + $ref: '#/components/schemas/idValue' + - name: subIdValue + in: path + required: true + schema: + $ref: '#/components/schemas/subIdValue' + responses: + 200: + description: Response containing details of the requested party + content: + application/json: + schema: + $ref: '#/components/schemas/transferParty' + 404: + description: The party specified by the provided identifier type and value is not known to the server + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /quoterequests: + post: + summary: Requests a quote for the specified transfer + tags: + - Quotes + operationId: QuoteRequest + requestBody: + description: Request for a transfer quotation + content: + application/json: + schema: + $ref: '#/components/schemas/quoteRequest' + responses: + 200: + description: A response to the transfer quotation request + content: + application/json: + schema: + $ref: '#/components/schemas/quoteResponse' + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /transactionrequests: + post: + summary: transaction request that supports pull based transfers + tags: + - TransactionRequest + operationId: TransactionRequest + requestBody: + description: Request for Transaction Request + content: + application/json: + schema: + $ref: '#/components/schemas/transactionRequest' + responses: + 200: + description: A response to the transfer transaction request + content: + application/json: + schema: + $ref: '#/components/schemas/transactionRequestResponse' + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /transfers: + post: + summary: Transfers funds from an external account to an internal account + tags: + - Transfers + operationId: TransfersPost + requestBody: + description: An incoming transfer request + content: + application/json: + schema: + $ref: '#/components/schemas/transferRequest' + responses: + 200: + description: The transfer was accepted + content: + application/json: + schema: + $ref: '#/components/schemas/transferResponse' + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /transfers/{transferId}: + put: + summary: Receive notification for a specific transfer + description: The HTTP request `PUT /transfers/{transferId}` is used to receive notification for transfer being fulfiled when the FSP is a Payee + parameters: + - name: transferId + in: path + required: true + schema: + $ref: '#/components/schemas/idValue' + tags: + - Transfers + operationId: TransfersPut + requestBody: + description: An incoming notification for fulfiled transfer + content: + application/json: + schema: + $ref: '#/components/schemas/fulfilNotification' + responses: + 200: + description: The notification was accepted + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + + /otp/{requestToPayId}: + get: + summary: Requests OTP + tags: + - OTP + operationId: OtpGet + parameters: + - name: requestToPayId + in: path + required: true + schema: + $ref: '#/components/schemas/idValue' + responses: + 200: + description: Response containing details of the OTP + content: + application/json: + schema: + $ref: '#/components/schemas/otpDetails' + 404: + description: The party specified by the provided identifier type and value is not known to the server + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /bulkQuotes: + post: + summary: Requests a bulk quote + tags: + - BulkQuotes + operationId: BulkQuotesPost + requestBody: + description: Incoming request for a bulk quotation + content: + application/json: + schema: + $ref: '#/components/schemas/bulkQuoteRequest' + responses: + 200: + description: A response to the bulk quote request + content: + application/json: + schema: + $ref: '#/components/schemas/bulkQuoteResponse' + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /bulkQuotes/{idValue}: + get: + summary: Requests information relating to a bulk quote identified by the specified identifier value + tags: + - BulkQuotes + operationId: BulkQuotesGet + parameters: + - name: idValue + in: path + required: true + schema: + $ref: '#/components/schemas/idValue' + responses: + 200: + description: Response containing details of the requested bulk quote + content: + application/json: + schema: + $ref: '#/components/schemas/bulkQuoteResponse' + 404: + description: The bulk quote specified by the provided identifier value is not known to the server + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /bulkTransfers: + post: + summary: Execute bulk transfer of funds from an external account to internal accounts + tags: + - BulkTransfers + operationId: BulkTransfersPost + requestBody: + description: An incoming bulk transfer request + content: + application/json: + schema: + $ref: '#/components/schemas/bulkTransferRequest' + responses: + 200: + description: The bulk transfer was accepted + content: + application/json: + schema: + $ref: '#/components/schemas/bulkTransferResponse' + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + + /bulkTransfers/{idValue}: + get: + summary: Requests information relating to a bulk transfer identified by the specified identifier value + tags: + - BulkTransfers + operationId: BulkTransfersGet + parameters: + - name: idValue + in: path + required: true + schema: + $ref: '#/components/schemas/idValue' + responses: + 200: + description: Response containing details of the requested bulk transfer + content: + application/json: + schema: + $ref: '#/components/schemas/bulkTransferResponse' + 404: + description: The bulk transfer specified by the provided identifier value is not known to the server + 400: + description: Malformed or missing required headers or parameters + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + 500: + description: An error occured processing the request + content: + application/json: + schema: + $ref: '#/components/schemas/errorResponse' + +components: + schemas: + quoteRequest: + type: object + description: A request for a quote for transfer from the DFSP backend + required: + - quoteId + - transactionId + - to + - from + - amountType + - amount + - currency + - transactionType + - initiator + - initiatorType + properties: + quoteId: + $ref: '#/components/schemas/quoteId' + transactionId: + $ref: '#/components/schemas/transactionId' + to: + $ref: '#/components/schemas/transferParty' + from: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/amountType' + amount: + $ref: '#/components/schemas/money' + currency: + $ref: '#/components/schemas/currency' + feesAmount: + $ref: '#/components/schemas/money' + feesCurrency: + $ref: '#/components/schemas/currency' + transactionType: + $ref: '#/components/schemas/transactionType' + initiator: + $ref: '#/components/schemas/initiator' + initiatorType: + $ref: '#/components/schemas/initiatorType' + geoCode: + $ref: '#/components/schemas/geoCode' + note: + type: string + minLength: 1 + maxLength: 128 + description: An optional note associated with the requested transfer + expiration: + $ref: '#/components/schemas/timestamp' + + transactionRequest: + type: object + description: A request for a pull based transfer + required: + - transactionRequestId + - to + - from + - amount + - currency + - transactionType + - initiator + - initiatorType + properties: + transactionRequestId: + $ref: '#/components/schemas/transactionRequestId' + to: + $ref: '#/components/schemas/transferParty' + from: + $ref: '#/components/schemas/transferParty' + amount: + $ref: '#/components/schemas/money' + currency: + $ref: '#/components/schemas/currency' + transactionType: + $ref: '#/components/schemas/transactionType' + initiator: + $ref: '#/components/schemas/initiator' + initiatorType: + $ref: '#/components/schemas/initiatorType' + geoCode: + $ref: '#/components/schemas/geoCode' + note: + type: string + minLength: 1 + maxLength: 128 + description: An optional note associated with the requested transfer + expiration: + $ref: '#/components/schemas/timestamp' + + timestamp: + type: string + description: An ISO-8601 formatted timestamp + 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)$ + + dateOfBirth: + type: string + description: Date of birth in the form YYYY-MM-DD + 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)$ + + initiator: + type: string + enum: + - PAYER + - PAYEE + + initiatorType: + type: string + enum: + - CONSUMER + - AGENT + - BUSINESS + - DEVICE + + quoteResponse: + type: object + description: A response to a request for a quote + required: + - quoteId + - transactionId + - transferAmount + - transferAmountCurrency + properties: + quoteId: + $ref: '#/components/schemas/quoteId' + transactionId: + $ref: '#/components/schemas/transactionId' + transferAmount: + $ref: '#/components/schemas/money' + transferAmountCurrency: + $ref: '#/components/schemas/currency' + payeeReceiveAmount: + $ref: '#/components/schemas/money' + payeeReceiveAmountCurrency: + $ref: '#/components/schemas/currency' + payeeFspFeeAmount: + $ref: '#/components/schemas/money' + payeeFspFeeAmountCurrency: + $ref: '#/components/schemas/currency' + payeeFspCommissionAmount: + $ref: '#/components/schemas/money' + payeeFspCommissionAmountCurrency: + $ref: '#/components/schemas/currency' + expiration: + $ref: '#/components/schemas/timestamp' + geoCode: + $ref: '#/components/schemas/geoCode' + extensionList: + $ref: '#/components/schemas/extensionList' + + transactionRequestResponse: + type: object + description: A response to a request for a quote + required: + - transactionId + - transactionRequestState + properties: + transactionId: + $ref: '#/components/schemas/transactionId' + transferAmount: + $ref: '#/components/schemas/transactionRequestState' + + participantsResponse: + type: object + properties: + fspId: + $ref: '#/components/schemas/fspId' + + fspId: + type: string + minLength: 1 + maxLength: 32 + + payerType: + type: string + enum: + - CONSUMER + - AGENT + - BUSINESS + - DEVICE + + amountType: + type: string + enum: + - SEND + - RECEIVE + + transactionType: + type: string + enum: + - TRANSFER + - DEPOSIT + - PAYMENT + + transactionRequestState: + type: string + enum: + - RECEIVED + - PENDING + - ACCEPTED + - REJECTED + + transferRequest: + type: object + required: + - transferId + - currency + - amount + properties: + transferId: + $ref: '#/components/schemas/transferId' + quote: + $ref: '#/components/schemas/quoteResponse' + from: + $ref: '#/components/schemas/transferParty' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/amountType' + currency: + $ref: '#/components/schemas/currency' + amount: + $ref: '#/components/schemas/money' + transactionType: + $ref: '#/components/schemas/transactionType' + note: + maxLength: 128 + type: string + + otpDetails: + type: object + required: + - otpValue + properties: + otpValue: + type: string + description: OTP value + + idType: + type: string + enum: + - MSISDN + - ACCOUNT_NO + - EMAIL + - PERSONAL_ID + - BUSINESS + - DEVICE + - ACCOUNT_ID + - IBAN + - ALIAS + + idValue: + type: string + minLength: 1 + maxLength: 128 + + subIdValue: + type: string + minLength: 1 + maxLength: 128 + + money: + pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$ + type: string + + transferResponse: + type: object + required: + - homeTransactionId + properties: + homeTransactionId: + type: string + description: Transaction ID from the DFSP backend, used to reconcile transactions between the switch and DFSP backend systems + + currency: + maxLength: 3 + minLength: 3 + type: string + + transferId: + pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + type: string + description: A Mojaloop API transfer identifier (UUID) + + quoteId: + pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + type: string + description: A Mojaloop API quote identifier (UUID) + + transactionRequestId: + pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + type: string + description: A Mojaloop API transaction request identifier (UUID) + + transactionId: + pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + type: string + description: ID of the transaction, the ID is decided by the Payer FSP during the creation of the quote + + transferParty: + type: object + required: + - idType + - idValue + properties: + type: + $ref: '#/components/schemas/payerType' + idType: + $ref: '#/components/schemas/idType' + idValue: + type: string + description: The identifier string used to identify the sender + subIdValue: + type: string + description: The sub identifier string used to identify the sender + displayName: + type: string + description: Display name of the sender if known + firstName: + type: string + description: Party first name + middleName: + type: string + description: Party moddle name + lastName: + type: string + description: Party last name + dateOfBirth: + $ref: '#/components/schemas/dateOfBirth' + merchantClassificationCode: + type: string + description: Up to 4 digits specifying the senders merchant classification, if known and applicable + + bulkQuoteRequest: + type: object + description: A request for a bulk quote + required: + - bulkQuoteId + - from + - individualQuotes + properties: + bulkQuoteId: + $ref: '#/components/schemas/bulkQuoteId' + from: + $ref: '#/components/schemas/transferParty' + geoCode: + $ref: '#/components/schemas/geoCode' + expiration: + $ref: '#/components/schemas/timestamp' + individualQuotes: + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: '#/components/schemas/IndividualQuote' + + bulkQuoteResponse: + type: object + description: A response to a request for a bulk quote + required: + - bulkQuoteId + - individualQuoteResults + properties: + bulkQuoteId: + $ref: '#/components/schemas/bulkQuoteId' + expiration: + $ref: '#/components/schemas/timestamp' + individualQuoteResults: + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: '#/components/schemas/IndividualQuoteResult' + description: Fees for each individual transaction, if any of them are charged per + transaction. + + IndividualQuote: + type: object + description: Data model for individual quote in a bulk quote request + required: + - quoteId + - transactionId + - to + - amountType + - amount + - currency + - transactionType + - initiator + - initiatorType + properties: + quoteId: + $ref: '#/components/schemas/quoteId' + transactionId: + $ref: '#/components/schemas/transactionId' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/amountType' + amount: + $ref: '#/components/schemas/money' + currency: + $ref: '#/components/schemas/currency' + feesAmount: + $ref: '#/components/schemas/money' + feesCurrency: + $ref: '#/components/schemas/currency' + transactionType: + $ref: '#/components/schemas/transactionType' + initiator: + $ref: '#/components/schemas/initiator' + initiatorType: + $ref: '#/components/schemas/initiatorType' + note: + type: string + minLength: 1 + maxLength: 128 + description: An optional note associated with the quote + + IndividualQuoteResult: + type: object + description: Data model for individual quote in a bulk quote response + properties: + quoteId: + $ref: '#/components/schemas/quoteId' + transferAmount: + $ref: '#/components/schemas/money' + transferAmountCurrency: + $ref: '#/components/schemas/currency' + payeeReceiveAmount: + $ref: '#/components/schemas/money' + payeeReceiveAmountCurrency: + $ref: '#/components/schemas/currency' + payeeFspFeeAmount: + $ref: '#/components/schemas/money' + payeeFspFeeAmountCurrency: + $ref: '#/components/schemas/currency' + payeeFspCommissionAmount: + $ref: '#/components/schemas/money' + payeeFspCommissionAmountCurrency: + $ref: '#/components/schemas/currency' + + bulkQuoteId: + pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + type: string + description: A Mojaloop API bulk quote identifier (UUID) + + bulkTransferRequest: + type: object + required: + - bulkTransferId + - individualTransfers + properties: + bulkTransferId: + $ref: '#/components/schemas/bulkTransferId' + bulkQuote: + $ref: '#/components/schemas/bulkQuoteResponse' + from: + $ref: '#/components/schemas/transferParty' + individualTransfers: + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: '#/components/schemas/IndividualTransfer' + + IndividualTransfer: + type: object + description: Data model for individual transfer in a bulk transfer request + required: + - transferId + - amount + - currency + properties: + transferId: + $ref: '#/components/schemas/transferId' + to: + $ref: '#/components/schemas/transferParty' + amountType: + $ref: '#/components/schemas/amountType' + amount: + $ref: '#/components/schemas/money' + currency: + $ref: '#/components/schemas/currency' + feesAmount: + $ref: '#/components/schemas/money' + feesCurrency: + $ref: '#/components/schemas/currency' + transactionType: + $ref: '#/components/schemas/transactionType' + initiator: + $ref: '#/components/schemas/initiator' + initiatorType: + $ref: '#/components/schemas/initiatorType' + note: + type: string + minLength: 1 + maxLength: 128 + description: An optional note associated with the quote + + IndividualTransferResult: + type: object + description: Data model for individual transfer in a bulk transfer response + required: + - transferId + properties: + transferId: + $ref: '#/components/schemas/transferId' + extensionList: + $ref: '#/components/schemas/extensionList' + + bulkTransferResponse: + type: object + required: + - homeTransactionId + properties: + bulkTransferId: + $ref: '#/components/schemas/bulkTransferId' + homeTransactionId: + type: string + description: Transaction ID from the DFSP backend, used to reconcile transactions between the switch and DFSP backend systems + individualTransferResults: + type: array + minItems: 1 + maxItems: 1000 + items: + $ref: '#/components/schemas/IndividualTransferResult' + + bulkTransferId: + pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$ + type: string + description: A Mojaloop API transfer identifier (UUID) + + geoCode: + type: object + description: Indicates the geographic location from where the transaction was initiated. + properties: + latitude: + $ref: '#/components/schemas/latitude' + longitude: + $ref: '#/components/schemas/longitude' + required: + - latitude + - longitude + + 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. + + 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. + + errorResponse: + type: object + properties: + statusCode: + type: string + description: Error code as string + message: + type: string + description: Error message text + + extensionList: + type: array + items: + $ref: '#/components/schemas/extensionItem' + minItems: 0 + maxItems: 16 + + extensionItem: + type: object + properties: + key: + type: string + minLength: 1 + maxLength: 32 + value: + type: string + minLength: 1 + maxLength: 128 + + transferState: + type: string + enum: + - RECEIVED + - RESERVED + - COMMITTED + - ABORTED + description: > + Below are the allowed values for the enumeration + - RECEIVED DFSP has received the transfer. + - RESERVED DFSP has reserved the transfer. + - COMMITTED DFSP has successfully performed the transfer. + - ABORTED DFSP has aborted the transfer due a rejection or failure to perform the transfer. + + fulfilNotification: + title: TransfersIDPatchResponse + type: object + description: PUT /transfers/{transferId} object + properties: + completedTimestamp: + $ref: '#/components/schemas/timestamp' + transferState: + $ref: '#/components/schemas/transferState' + extensionList: + $ref: '#/components/schemas/extensionList' + required: + - completedTimestamp + - transferState + diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/mockRef.json b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/mockRef.json new file mode 100644 index 000000000..a3c81ce8c --- /dev/null +++ b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/mockRef.json @@ -0,0 +1,75 @@ +[ + { + "id": "firstName", + "pattern": "John|David|Michael|Chris|Mike|Mark|Paul|Daniel|James|Maria" + }, + { + "id": "middleName", + "pattern": "G|P|N|S" + }, + { + "id": "lastName", + "pattern": "Smith|Jones|Johnson|Lee|Brown|Williams|Rodriguez|Garcia|Gonzalez|Lopez" + }, + { + "id": "dateOfBirth", + "pattern": "^(19)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|2[0-8])$" + }, + { + "id": "transferState", + "pattern": "COMMITTED|RESERVED|ABORTED|RECEIVED" + }, + { + "id": "fulfilment", + "pattern": "[A-Fa-f0-9]{64}" + }, + { + "id": "condition", + "pattern": "[A-Fa-f0-9]{64}" + }, + { + "id": "ilpPacket", + "pattern": "[A-Fa-f0-9]{256}" + }, + { + "id": "transferAmount.currency", + "pattern": "USD" + }, + { + "id": "transferAmount.amount", + "pattern": "123" + }, + { + "id": "payeeReceiveAmountCurrency", + "pattern": "USD" + }, + { + "id": "payeeReceiveAmount", + "pattern": "123" + }, + { + "id": "payeeFspFeeAmountCurrency", + "pattern": "USD" + }, + { + "id": "payeeFspFeeAmount", + "pattern": "2" + }, + { + "id": "payeeFspCommissionAmountCurrency", + "pattern": "USD" + }, + { + "id": "payeeFspCommissionAmount", + "pattern": "3" + }, + + { + "id": "errorInformation.errorCode", + "pattern": "600[1-9]" + }, + { + "id": "errorInformation.errorDescription", + "pattern": "This is a mock error description" + } +] \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/response_map.json b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/response_map.json new file mode 100644 index 000000000..4a22ca3ca --- /dev/null +++ b/docker/ml-testing-toolkit/spec_files/api_definitions/mojaloop_simulator_sim_1.4/response_map.json @@ -0,0 +1,55 @@ +{ + "/parties/{idType}/{idValue}": { + "get": { + "response": { + "bodyOverride": { + "idType": "{$request.params.idType}", + "idValue": "{$request.params.idValue}", + "merchantClassificationCode": null + } + } + } + }, + "/quoterequests": { + "post": { + "response": { + "bodyOverride": { + "quoteId": "{$request.body.quoteId}", + "transactionId": "{$request.body.transactionId}", + "transferAmount": "{$request.body.amount}", + "transferAmountCurrency": "{$request.body.currency}", + "expiration": "{$request.body.expiration}", + "geoCode": null, + "extensionList": null + } + } + } + }, + "/transfers": { + "post": { + "response": { + "bodyOverride": { + "homeTransactionId": "{$request.body.transferId}" + } + } + } + }, + "/bulkQuotes": { + "post": { + "response": { + "bodyOverride": { + "bulkQuoteId": "{$request.body.bulkQuoteId}" + } + } + } + }, + "/bulkTransfers": { + "post": { + "response": { + "bodyOverride": { + "bulkTransferId": "{$request.body.bulkTransferId}" + } + } + } + } +} \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/api_spec.yaml b/docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/api_spec.yaml deleted file mode 100644 index 3c55eaff2..000000000 --- a/docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/api_spec.yaml +++ /dev/null @@ -1,983 +0,0 @@ -openapi: 3.0.1 -info: - title: MOJALOOP Central Settlements - description: Mojaloop API for Settlements. - version: 1.1.0 -servers: -- url: /v1 -paths: - /health: - get: - tags: - - getHealth - summary: getHealth - description: Gets the health of the service and sub-services (i.e. database). - operationId: getHealth - responses: - 200: - description: A valid and health service. - content: {} - 502: - description: API is live, but error connecting to required sub-service. - content: {} - deprecated: false - /settlementWindows/{id}: - get: - tags: - - getSettlementWindowById - summary: getSettlementWindowById - description: Returns a Settlement Window by id. - operationId: getSettlementWindowById - parameters: - - name: id - in: path - description: | - A valid settlement window id to be supplied in the query. - required: true - schema: - type: integer - responses: - 200: - description: A settlement window's data returned. - content: - application/json: - schema: - $ref: '#/components/schemas/SettlementWindow' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - post: - tags: - - closeSettlementWindow - summary: closeSettlementWindow - description: If the settlementWindow is open, it can be closed and a new window - is created. If it is already closed, return an error message. Returns the - new settlement window. - operationId: closeSettlementWindow - parameters: - - name: id - in: path - required: true - schema: - type: integer - requestBody: - description: A JSON object containing settlement window closure info. - content: - application/json: - schema: - $ref: '#/components/schemas/SettlementWindowClosurePayload' - required: true - responses: - 200: - description: Settlement window closed and new window opened. - content: - application/json: - schema: - $ref: '#/components/schemas/SettlementWindow' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - x-codegen-request-body-name: payload - /settlementWindows: - get: - tags: - - getSettlementWindowsByParams - summary: getSettlementWindowsByParams - description: Returns Settlement Windows as per parameter(s). - operationId: getSettlementWindowsByParams - parameters: - - name: participantId - in: query - description: | - A valid participant Id to filter on. - schema: - type: integer - - name: state - in: query - description: | - A settlement window state to filter on. - schema: - type: string - enum: - - OPEN - - CLOSED - - PENDING_SETTLEMENT - - SETTLED - - ABORTED - - name: fromDateTime - in: query - description: | - The start date for query (relates to central-ledger.settlementWindow.createdDate). Can be used together with `toDateTime'. eg 2017-07-20T17:32:28Z - schema: - type: string - format: date-time - - name: toDateTime - in: query - description: | - The end date for query (relates to central-ledger.settlementWindow.createdDate). Can be used together with `fromDateTime'. eg 2017-07-21T17:32:28Z - schema: - type: string - format: date-time - responses: - 200: - description: Settlement window(s) returned by the filtering parameters. - content: - application/json: - schema: - $ref: '#/components/schemas/SettlementWindows' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - /settlements: - get: - tags: - - getSettlementsByParams - summary: getSettlementsByParams - description: Returns Settlements as per parameter(s). - operationId: getSettlementsByParams - parameters: - - name: currency - in: query - description: | - A valid currency to filter on. - schema: - type: string - - name: participantId - in: query - description: | - A valid participant Id to filter on. - schema: - type: integer - - name: settlementWindowId - in: query - description: | - A valid Settlement Window Id to filter on. - schema: - type: number - - name: accountId - in: query - description: | - A valid Account Id to filter on. - schema: - type: number - - name: state - in: query - description: "A settlement state to filter on. \n" - schema: - type: string - enum: - - PENDING_SETTLEMENT - - PS_TRANSFERS_RECORDED - - PS_TRANSFERS_RESERVED - - PS_TRANSFERS_COMMITTED - - SETTLING - - SETTLED - - ABORTED - - name: fromDateTime - in: query - description: | - The start date for query (relates to central-ledger.settlement.createdDate). Can be used together with `toDateTime'. eg 2017-07-20T17:32:28Z - schema: - type: string - format: date-time - - name: toDateTime - in: query - description: | - The end date for query (relates to central-ledger.settlement.createdDate). Can be used together with `fromDateTime'. eg 2017-07-21T17:32:28Z - schema: - type: string - format: date-time - - name: fromSettlementWindowDateTime - in: query - description: | - The start date for query (relates to central-ledger.settlementWindow.createdDate). Can be used together with `toDateTime'. eg 2017-07-20T17:32:28Z - schema: - type: string - format: date-time - - name: toSettlementWindowDateTime - in: query - description: | - The end date for query (relates to central-ledger.settlementWindow.createdDate). Can be used together with `fromDateTime'. eg 2017-07-21T17:32:28Z - schema: - type: string - format: date-time - responses: - 200: - description: Settlement window(s) returned by the filtering parameters. - content: - application/json: - schema: - $ref: '#/components/schemas/Settlements' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - post: - tags: - - createSettlement - summary: createSettlement - description: Trigger the creation of a settlement, that does the calculation - of the net settlement position per participant and marks all transfers in - the affected windows as PENDING_SETTLEMENT. Returned dataset is the net settlement - report for the settlementWindow - operationId: createSettlement - requestBody: - description: A JSON object containing settlement windows to be included. - content: - application/json: - schema: - $ref: '#/components/schemas/SettlementEventPayload' - required: true - responses: - 200: - description: Created settlement with all windows and accounts. - content: - application/json: - schema: - $ref: '#/components/schemas/Settlement' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - x-codegen-request-body-name: payload - /settlements/{id}: - get: - tags: - - getSettlementById - summary: getSettlementById - description: Returns Settlement(s) as per parameters/filter criteria. - operationId: getSettlementById - parameters: - - name: id - in: path - description: | - A valid Settlement Id. - required: true - schema: - type: integer - responses: - 200: - description: Settlement successfully returned by the filtering/Query parameters. - content: - application/json: - schema: - $ref: '#/components/schemas/Settlement' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - put: - tags: - - updateSettlementById - summary: updateSettlementById - description: Acknowledgement of settlement by updating with Settlement Id. - operationId: updateSettlementById - parameters: - - name: id - in: path - description: A valid Settlement Id. - required: true - schema: - type: integer - requestBody: - description: A JSON object containing settlement update info. - content: - application/json: - schema: - $ref: '#/components/schemas/SettlementUpdateBySettlementIdPayload' - required: true - responses: - 200: - description: Settlements updated. - content: - application/json: - schema: - $ref: '#/components/schemas/Settlement' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - x-codegen-request-body-name: payload - /settlements/{settlementId}/participants/{participantId}: - get: - tags: - - getSettlementBySettlementParticipant - summary: getSettlementBySettlementParticipant - description: Returns Settlement(s) as per filter criteria. - operationId: getSettlementBySettlementParticipant - parameters: - - name: settlementId - in: path - description: | - A valid Settlement Id. - required: true - schema: - type: integer - - name: participantId - in: path - description: | - A valid Participant Id. - required: true - schema: - type: integer - responses: - 200: - description: Settlement, settlement windows and settlement accounts returned - by the filtering parameters. - content: - application/json: - schema: - $ref: '#/components/schemas/Settlement' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - put: - tags: - - updateSettlementBySettlementParticipant - summary: updateSettlementBySettlementParticipant - description: Acknowledgement of settlement by updating with Settlements Id and - Participant Id. - operationId: updateSettlementBySettlementParticipant - parameters: - - name: settlementId - in: path - description: A valid Settlement Id. - required: true - schema: - type: integer - - name: participantId - in: path - description: A valid Participant Id. - required: true - schema: - type: integer - requestBody: - description: A JSON object containing settlement update info. - content: - application/json: - schema: - $ref: '#/components/schemas/SettlementUpdateBySettlementParticipantPayload' - required: true - responses: - 200: - description: Settlements updated. - content: - application/json: - schema: - $ref: '#/components/schemas/Settlement' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - x-codegen-request-body-name: payload - /settlements/{settlementId}/participants/{participantId}/accounts/{accountId}: - get: - tags: - - getSettlementBySettlementParticipantAccount - summary: getSettlementBySettlementParticipantAccount - description: Returns Settlement(s) as per filter criteria. - operationId: getSettlementBySettlementParticipantAccount - parameters: - - name: settlementId - in: path - description: | - A valid Settlement Id. - required: true - schema: - type: integer - - name: participantId - in: path - description: | - A valid Participant Id. - required: true - schema: - type: integer - - name: accountId - in: path - description: "A valid Account Id. \n" - required: true - schema: - type: integer - responses: - 200: - description: Settlement, settlement windows and settlement accounts returned - by the filtering parameters. - content: - application/json: - schema: - $ref: '#/components/schemas/Settlement' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - put: - tags: - - updateSettlementBySettlementParticipantAccount - summary: updateSettlementBySettlementParticipantAccount - description: Acknowledgement of settlement by updating the reason and state - by Settlements Id, Participant Id and accounts Id. - operationId: updateSettlementBySettlementParticipantAccount - parameters: - - name: settlementId - in: path - description: A valid Settlement Id. - required: true - schema: - type: integer - - name: participantId - in: path - description: A valid Participant Id. - required: true - schema: - type: integer - - name: accountId - in: path - description: A valid Account Id. - required: true - schema: - type: integer - requestBody: - description: A JSON object containing settlement update info. - content: - application/json: - schema: - $ref: '#/components/schemas/SettlementUpdateBySettlementParticipantAccount' - required: true - responses: - 200: - description: Settlements updated. - content: - application/json: - schema: - $ref: '#/components/schemas/Settlement' - 400: - description: Bad request. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 401: - description: Authorisation information is missing or invalid. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 404: - description: No data found. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - 415: - description: Unsupported Media Type. - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - default: - description: Unexpected error - content: - application/json: - schema: - $ref: '#/components/schemas/Error' - deprecated: false - x-codegen-request-body-name: payload -components: - schemas: - Account: - type: object - properties: - id: - type: string - description: Account Id - reason: - type: string - description: TBD - state: - type: string - example: PENDING_SETTLEMENT - netSettlementAmount: - $ref: '#/components/schemas/netSettlementAmount' - SettlementUpdateBySettlementIdPayload: - type: object - properties: - state: - type: string - enum: - - ABORTED - - INVALID - reason: - type: string - externalReference: - type: string - participants: - type: array - items: - $ref: '#/components/schemas/SettlementUpdateBySettlementIDOuterPayload' - SettlementUpdateBySettlementIDOuterPayload: - type: object - properties: - id: - type: integer - description: Participant Id - accounts: - type: array - items: - $ref: '#/components/schemas/SettlementUpdateBySettlementIdInnerPayload' - SettlementUpdateBySettlementIdInnerPayload: - type: object - properties: - id: - type: integer - description: Participant Currency Id - reason: - type: string - example: reason - state: - type: string - example: SETTLED - enum: - - PENDING_SETTLEMENT - - PS_TRANSFERS_RECORDED - - PS_TRANSFERS_RESERVED - - PS_TRANSFERS_COMMITTED - - SETTLED - externalReference: - type: string - example: external-reference-abc123 - SettlementUpdateBySettlementParticipantPayload: - type: object - properties: - accounts: - type: array - items: - $ref: '#/components/schemas/SettlementUpdateBySettlementIdInnerPayload' - Accounts: - type: object - properties: - id: - type: integer - description: Participant Currency Id - reason: - type: string - description: TBD - state: - type: string - example: PENDING_SETTLEMENT - netSettlementAmount: - $ref: '#/components/schemas/netSettlementAmount' - SettlementWindowClosurePayload: - required: - - reason - - state - type: object - properties: - state: - type: string - example: CLOSED - enum: - - CLOSED - reason: - type: string - example: string - SettlementUpdateBySettlementParticipantAccount: - required: - - reason - - state - type: object - properties: - state: - type: string - example: SETTLED - enum: - - PENDING_SETTLEMENT - - PS_TRANSFERS_RECORDED - - PS_TRANSFERS_RESERVED - - PS_TRANSFERS_COMMITTED - - SETTLED - reason: - type: string - example: string - externalReference: - type: string - example: external-reference-abc123 - SettlementEventPayload: - required: - - reason - - settlementWindows - type: object - properties: - reason: - type: string - settlementWindows: - minItems: 1 - uniqueItems: true - type: array - items: - $ref: '#/components/schemas/SettlementWindowId' - SettlementWindowId: - required: - - id - type: object - properties: - id: - type: integer - SettlementWindow: - required: - - createdDate - - id - - state - type: object - properties: - id: - type: integer - reason: - type: string - state: - type: string - createdDate: - type: string - changedDate: - type: string - SettlementWindows: - type: array - items: - $ref: '#/components/schemas/SettlementWindow' - netSettlementAmount: - type: object - properties: - amount: - type: number - currency: - type: string - Participant: - type: object - properties: - id: - type: integer - accounts: - type: array - items: - $ref: '#/components/schemas/Accounts' - Settlements: - type: array - items: - $ref: '#/components/schemas/Settlement' - Settlement: - type: object - properties: - id: - type: integer - state: - type: string - settlementWindows: - type: array - items: - $ref: '#/components/schemas/SettlementWindows' - participants: - type: array - items: - $ref: '#/components/schemas/Participant' - Error: - required: - - errorInformation - type: object - properties: - errorInformation: - type: object - properties: - errorCode: - type: integer - errorDescription: - type: string - extensionList: - type: object - properties: - extension: - type: array - items: - $ref: '#/components/schemas/Extension' - Extension: - required: - - key - - value - type: object - properties: - key: - type: string - value: - type: string diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/mockRef.json b/docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/mockRef.json deleted file mode 100644 index 9baecf5df..000000000 --- a/docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/mockRef.json +++ /dev/null @@ -1,38 +0,0 @@ -[ - { - "id": "changedDate", - "pattern": "^(19)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|2[0-8])$" - }, - { - "id": "createdDate", - "pattern": "^(19)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|2[0-8])$" - }, - { - "id": "state", - "pattern": "OPEN|CLOSED" - }, - { - "id": "settlementWindows.items.items.createdDate", - "pattern": "^(19)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|2[0-8])$" - }, - { - "id": "settlementWindows.items.items.changedDate", - "pattern": "^(19)\\d\\d[-](0[1-9]|1[012])[-](0[1-9]|[12][0-9]|2[0-8])$" - }, - { - "id": "settlementWindows.items.items.state", - "pattern": "OPEN|CLOSED" - }, - { - "id": "participants.items.accounts.items.state", - "pattern": "OPEN|CLOSED" - }, - { - "id": "participants.items.accounts.items.netSettlementAmount.amount", - "pattern": "123" - }, - { - "id": "participants.items.accounts.items.netSettlementAmount.currency", - "pattern": "USD" - } -] \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/response_map.json b/docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/response_map.json deleted file mode 100644 index 017282b2e..000000000 --- a/docker/ml-testing-toolkit/spec_files/api_definitions/settlements_1.0/response_map.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "/settlementWindows/{id}": { - "post": { - "response": { - "bodyOverride": { - "id": "{$request.params.id}", - "reason": "{$request.body.reason}" - } - } - } - }, - "/settlementWindows": { - "get": { - "response": {} - } - }, - "/settlements": { - "post": { - "response": { - "bodyOverride": { - } - } - } - }, - "/settlements/{id}": { - "get": { - "response": { - "bodyOverride": { - "id": "{$request.params.id}" - } - } - } - } -} \ No newline at end of file diff --git a/docker/ml-testing-toolkit/spec_files/reports/templates/newman/html_template.html b/docker/ml-testing-toolkit/spec_files/reports/templates/newman/html_template.html index 34bed92c7..e10fc0b1f 100644 --- a/docker/ml-testing-toolkit/spec_files/reports/templates/newman/html_template.html +++ b/docker/ml-testing-toolkit/spec_files/reports/templates/newman/html_template.html @@ -478,6 +478,12 @@
Runtime Inf {{#if runtimeInformation}} Total run duration: {{runtimeInformation.runDurationMs}} ms
Average response time: {{runtimeInformation.avgResponseTime}}
+ {{/if}} + {{#if extraRuntimeInformation}} + {{#each extraRuntimeInformation}} + {{key}}: {{value}}
+ {{/each}} + {{/if}} @@ -559,10 +565,14 @@
- {{#if (ifAllTestsPassedInRequest request)}} -
+ {{#if (ifSkippedRequest status)}} +
{{else}} -
+ {{#if (ifAllTestsPassedInRequest request)}} +
+ {{else}} +
+ {{/if}} {{/if}}