From 56f0c62234b139b3c873c75adad7f50220972e83 Mon Sep 17 00:00:00 2001 From: Kevin Leyow Date: Tue, 10 Jan 2023 11:05:48 -0500 Subject: [PATCH] chore: update dependencies - remove dep check - temp backend fix (#154) * chore: dep * chore: remove dep check from main * dep * chore: fix component * chore: fix schema --- .circleci/config.yml | 7 +- ...pter-backend-v2_0_0-openapi3-snippets.yaml | 94 +- package-lock.json | 164 +- package.json | 4 +- ...lkTransactionIndividualTransferResult.yaml | 7 +- .../v2_0_0/backend/json-schemas.json | 5546 ++++------------- .../v2_0_0/backend/openapi.ts | 66 +- .../v2_0_0/backend/schemas.ts | 7 - .../v2_0_0/backend/types.ts | 7 - 9 files changed, 1444 insertions(+), 4458 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index c31da4fe..c7e21947 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -388,11 +388,11 @@ workflows: - setup filters: tags: - only: /.*/ + ignore: /.*/ branches: ignore: - - /feature*/ - - /bugfix*/ + - master + - main - test-lint: context: org-global requires: @@ -442,7 +442,6 @@ workflows: context: org-global requires: - pr-tools/pr-title-check - - test-dependencies - test-lint - test-unit - vulnerability-check diff --git a/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml b/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml index 55e4f7d2..53b9f3fe 100644 --- a/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml +++ b/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml @@ -2054,93 +2054,6 @@ components: maxLength: 128 description: Memo assigned to transaction. example: Note sent to Payee. - 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 - Latitude: - title: Latitude - type: string - pattern: >- - ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$ - description: >- - The API data type Latitude is a JSON String in a lexical format that is - restricted by a regular expression for interoperability reasons. - example: '+45.4215' - Longitude: - title: Longitude - type: string - pattern: >- - ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$ - description: >- - The API data type Longitude is a JSON String in a lexical format that is - restricted by a regular expression for interoperability reasons. - example: '+75.6972' - GeoCode: - title: GeoCode - type: object - description: >- - Data model for the complex type GeoCode. Indicates the geographic - location from where the transaction was initiated. - properties: - latitude: - $ref: '#/components/schemas/Latitude' - longitude: - $ref: '#/components/schemas/Longitude' - required: - - latitude - - longitude - IlpPacket: - title: IlpPacket - type: string - pattern: ^[A-Za-z0-9-_]+[=]{0,2}$ - minLength: 1 - maxLength: 32768 - description: Information for recipient (transport layer information). - example: >- - AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - IlpCondition: - title: IlpCondition - type: string - pattern: ^[A-Za-z0-9-_]{43}$ - maxLength: 48 - description: Condition that must be attached to the transfer by the Payer. - 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 @@ -2242,11 +2155,6 @@ components: type: object required: - homeTransactionId - - transferId - - to - - amountType - - currency - - amount properties: transferId: $ref: '#/components/schemas/CorrelationId' @@ -2273,7 +2181,7 @@ components: quoteId: $ref: '#/components/schemas/CorrelationId' quoteResponse: - $ref: '#/components/schemas/QuotesIDPutResponse' + type: object fulfil: $ref: '#/components/schemas/TransfersIDPutResponse' quoteExtensions: diff --git a/package-lock.json b/package-lock.json index 68c3df82..4be89236 100644 --- a/package-lock.json +++ b/package-lock.json @@ -24,8 +24,8 @@ "@commitlint/config-conventional": "^17.4.0", "@redocly/openapi-cli": "^1.0.0-beta.94", "@types/jest": "^29.2.5", - "@typescript-eslint/eslint-plugin": "^5.48.0", - "@typescript-eslint/parser": "^5.48.0", + "@typescript-eslint/eslint-plugin": "^5.48.1", + "@typescript-eslint/parser": "^5.48.1", "diff": "^5.1.0", "eslint": "^8.31.0", "eslint-config-prettier": "^8.6.0", @@ -2426,14 +2426,14 @@ "dev": true }, "node_modules/@typescript-eslint/eslint-plugin": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz", - "integrity": "sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz", + "integrity": "sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/type-utils": "5.48.0", - "@typescript-eslint/utils": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/type-utils": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -2459,14 +2459,14 @@ } }, "node_modules/@typescript-eslint/parser": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz", - "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz", + "integrity": "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==", "dev": true, "dependencies": { - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "debug": "^4.3.4" }, "engines": { @@ -2486,13 +2486,13 @@ } }, "node_modules/@typescript-eslint/scope-manager": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz", - "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz", + "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/visitor-keys": "5.48.0" + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1" }, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2503,13 +2503,13 @@ } }, "node_modules/@typescript-eslint/type-utils": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz", - "integrity": "sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz", + "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==", "dev": true, "dependencies": { - "@typescript-eslint/typescript-estree": "5.48.0", - "@typescript-eslint/utils": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "tsutils": "^3.21.0" }, @@ -2530,9 +2530,9 @@ } }, "node_modules/@typescript-eslint/types": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz", - "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz", + "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==", "dev": true, "engines": { "node": "^12.22.0 || ^14.17.0 || >=16.0.0" @@ -2543,13 +2543,13 @@ } }, "node_modules/@typescript-eslint/typescript-estree": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz", - "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz", + "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/visitor-keys": "5.48.0", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -2570,16 +2570,16 @@ } }, "node_modules/@typescript-eslint/utils": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.0.tgz", - "integrity": "sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz", + "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==", "dev": true, "dependencies": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" @@ -2596,12 +2596,12 @@ } }, "node_modules/@typescript-eslint/visitor-keys": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz", - "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz", + "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==", "dev": true, "dependencies": { - "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/types": "5.48.1", "eslint-visitor-keys": "^3.3.0" }, "engines": { @@ -15114,14 +15114,14 @@ "dev": true }, "@typescript-eslint/eslint-plugin": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.0.tgz", - "integrity": "sha512-SVLafp0NXpoJY7ut6VFVUU9I+YeFsDzeQwtK0WZ+xbRN3mtxJ08je+6Oi2N89qDn087COdO0u3blKZNv9VetRQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.48.1.tgz", + "integrity": "sha512-9nY5K1Rp2ppmpb9s9S2aBiF3xo5uExCehMDmYmmFqqyxgenbHJ3qbarcLt4ITgaD6r/2ypdlcFRdcuVPnks+fQ==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/type-utils": "5.48.0", - "@typescript-eslint/utils": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/type-utils": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "ignore": "^5.2.0", "natural-compare-lite": "^1.4.0", @@ -15131,53 +15131,53 @@ } }, "@typescript-eslint/parser": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.0.tgz", - "integrity": "sha512-1mxNA8qfgxX8kBvRDIHEzrRGrKHQfQlbW6iHyfHYS0Q4X1af+S6mkLNtgCOsGVl8+/LUPrqdHMssAemkrQ01qg==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.48.1.tgz", + "integrity": "sha512-4yg+FJR/V1M9Xoq56SF9Iygqm+r5LMXvheo6DQ7/yUWynQ4YfCRnsKuRgqH4EQ5Ya76rVwlEpw4Xu+TgWQUcdA==", "dev": true, "requires": { - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "debug": "^4.3.4" } }, "@typescript-eslint/scope-manager": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.0.tgz", - "integrity": "sha512-0AA4LviDtVtZqlyUQnZMVHydDATpD9SAX/RC5qh6cBd3xmyWvmXYF+WT1oOmxkeMnWDlUVTwdODeucUnjz3gow==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.48.1.tgz", + "integrity": "sha512-S035ueRrbxRMKvSTv9vJKIWgr86BD8s3RqoRZmsSh/s8HhIs90g6UlK8ZabUSjUZQkhVxt7nmZ63VJ9dcZhtDQ==", "dev": true, "requires": { - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/visitor-keys": "5.48.0" + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1" } }, "@typescript-eslint/type-utils": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.0.tgz", - "integrity": "sha512-vbtPO5sJyFjtHkGlGK4Sthmta0Bbls4Onv0bEqOGm7hP9h8UpRsHJwsrCiWtCUndTRNQO/qe6Ijz9rnT/DB+7g==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.48.1.tgz", + "integrity": "sha512-Hyr8HU8Alcuva1ppmqSYtM/Gp0q4JOp1F+/JH5D1IZm/bUBrV0edoewQZiEc1r6I8L4JL21broddxK8HAcZiqQ==", "dev": true, "requires": { - "@typescript-eslint/typescript-estree": "5.48.0", - "@typescript-eslint/utils": "5.48.0", + "@typescript-eslint/typescript-estree": "5.48.1", + "@typescript-eslint/utils": "5.48.1", "debug": "^4.3.4", "tsutils": "^3.21.0" } }, "@typescript-eslint/types": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.0.tgz", - "integrity": "sha512-UTe67B0Ypius0fnEE518NB2N8gGutIlTojeTg4nt0GQvikReVkurqxd2LvYa9q9M5MQ6rtpNyWTBxdscw40Xhw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.48.1.tgz", + "integrity": "sha512-xHyDLU6MSuEEdIlzrrAerCGS3T7AA/L8Hggd0RCYBi0w3JMvGYxlLlXHeg50JI9Tfg5MrtsfuNxbS/3zF1/ATg==", "dev": true }, "@typescript-eslint/typescript-estree": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.0.tgz", - "integrity": "sha512-7pjd94vvIjI1zTz6aq/5wwE/YrfIyEPLtGJmRfyNR9NYIW+rOvzzUv3Cmq2hRKpvt6e9vpvPUQ7puzX7VSmsEw==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.48.1.tgz", + "integrity": "sha512-Hut+Osk5FYr+sgFh8J/FHjqX6HFcDzTlWLrFqGoK5kVUN3VBHF/QzZmAsIXCQ8T/W9nQNBTqalxi1P3LSqWnRA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/visitor-keys": "5.48.0", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/visitor-keys": "5.48.1", "debug": "^4.3.4", "globby": "^11.1.0", "is-glob": "^4.0.3", @@ -15186,28 +15186,28 @@ } }, "@typescript-eslint/utils": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.0.tgz", - "integrity": "sha512-x2jrMcPaMfsHRRIkL+x96++xdzvrdBCnYRd5QiW5Wgo1OB4kDYPbC1XjWP/TNqlfK93K/lUL92erq5zPLgFScQ==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.48.1.tgz", + "integrity": "sha512-SmQuSrCGUOdmGMwivW14Z0Lj8dxG1mOFZ7soeJ0TQZEJcs3n5Ndgkg0A4bcMFzBELqLJ6GTHnEU+iIoaD6hFGA==", "dev": true, "requires": { "@types/json-schema": "^7.0.9", "@types/semver": "^7.3.12", - "@typescript-eslint/scope-manager": "5.48.0", - "@typescript-eslint/types": "5.48.0", - "@typescript-eslint/typescript-estree": "5.48.0", + "@typescript-eslint/scope-manager": "5.48.1", + "@typescript-eslint/types": "5.48.1", + "@typescript-eslint/typescript-estree": "5.48.1", "eslint-scope": "^5.1.1", "eslint-utils": "^3.0.0", "semver": "^7.3.7" } }, "@typescript-eslint/visitor-keys": { - "version": "5.48.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.0.tgz", - "integrity": "sha512-5motVPz5EgxQ0bHjut3chzBkJ3Z3sheYVcSwS5BpHZpLqSptSmELNtGixmgj65+rIfhvtQTz5i9OP2vtzdDH7Q==", + "version": "5.48.1", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.48.1.tgz", + "integrity": "sha512-Ns0XBwmfuX7ZknznfXozgnydyR8F6ev/KEGePP4i74uL3ArsKbEhJ7raeKr1JSa997DBDwol/4a0Y+At82c9dA==", "dev": true, "requires": { - "@typescript-eslint/types": "5.48.0", + "@typescript-eslint/types": "5.48.1", "eslint-visitor-keys": "^3.3.0" } }, diff --git a/package.json b/package.json index 083bfe83..9b84a1b7 100644 --- a/package.json +++ b/package.json @@ -86,8 +86,8 @@ "@commitlint/config-conventional": "^17.4.0", "@redocly/openapi-cli": "^1.0.0-beta.94", "@types/jest": "^29.2.5", - "@typescript-eslint/eslint-plugin": "^5.48.0", - "@typescript-eslint/parser": "^5.48.0", + "@typescript-eslint/eslint-plugin": "^5.48.1", + "@typescript-eslint/parser": "^5.48.1", "diff": "^5.1.0", "eslint": "^8.31.0", "eslint-config-prettier": "^8.6.0", diff --git a/sdk-scheme-adapter/v2_0_0/components/schemas/bulkTransactionIndividualTransferResult.yaml b/sdk-scheme-adapter/v2_0_0/components/schemas/bulkTransactionIndividualTransferResult.yaml index d332fcf3..27c5efbe 100644 --- a/sdk-scheme-adapter/v2_0_0/components/schemas/bulkTransactionIndividualTransferResult.yaml +++ b/sdk-scheme-adapter/v2_0_0/components/schemas/bulkTransactionIndividualTransferResult.yaml @@ -1,11 +1,6 @@ type: object required: - homeTransactionId - - transferId - - to - - amountType - - currency - - amount properties: transferId: $ref: ./CorrelationId.yaml @@ -32,7 +27,7 @@ properties: quoteId: $ref: ./CorrelationId.yaml quoteResponse: - $ref: ./QuotesIDPutResponse.yaml + type: object fulfil: $ref: ./TransfersIDPutResponse.yaml quoteExtensions: diff --git a/src/sdk-scheme-adapter/v2_0_0/backend/json-schemas.json b/src/sdk-scheme-adapter/v2_0_0/backend/json-schemas.json index dc44a8c9..af4f2668 100644 --- a/src/sdk-scheme-adapter/v2_0_0/backend/json-schemas.json +++ b/src/sdk-scheme-adapter/v2_0_0/backend/json-schemas.json @@ -11809,1317 +11809,764 @@ "description": "Memo assigned to transaction.", "example": "Note sent to Payee." }, - "Money": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "Latitude": { - "title": "Latitude", + "IlpFulfilment": { + "title": "IlpFulfilment", "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" }, - "Longitude": { - "title": "Longitude", + "TransferState": { + "title": "TransferState", "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" }, - "GeoCode": { - "title": "GeoCode", + "TransfersIDPutResponse": { + "title": "TransfersIDPutResponse", "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "description": "The object sent in the PUT /transfers/{ID} callback.", "properties": { - "latitude": { - "title": "Latitude", + "fulfilment": { + "title": "IlpFulfilment", "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" }, - "longitude": { - "title": "Longitude", + "completedTimestamp": { + "title": "DateTime", "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" - ] - }, - "IlpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "IlpCondition": { - "title": "IlpCondition", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." - }, - "QuotesIDPutResponse": { - "title": "QuotesIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /quotes/{ID} callback.", - "properties": { - "transferAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "transferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" + }, + "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": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ - "currency", - "amount" + "extension" ] + } + }, + "required": [ + "transferState" + ] + }, + "ErrorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "ErrorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "ErrorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, - "payeeReceiveAmount": { - "title": "Money", + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "extensionList": { + "title": "ExtensionList", "type": "object", - "description": "Data model for the complex type Money.", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } }, "required": [ - "currency", - "amount" + "extension" ] - }, - "payeeFspFee": { - "title": "Money", + } + }, + "required": [ + "errorCode", + "errorDescription" + ] + }, + "mojaloopError": { + "type": "object", + "properties": { + "errorInformation": { + "title": "ErrorInformation", "type": "object", - "description": "Data model for the complex type Money.", + "description": "Data model for the complex type ErrorInformation.", "properties": { - "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.", + "errorCode": { + "title": "ErrorCode", "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" - ] + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, - "amount": { - "title": "Amount", + "errorDescription": { + "title": "ErrorDescription", "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "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": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] } }, "required": [ - "currency", - "amount" + "errorCode", + "errorDescription" ] + } + } + }, + "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." }, - "payeeFspCommission": { - "title": "Money", + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", "type": "object", - "description": "Data model for the complex type Money.", "properties": { - "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" + "errorInformation": { + "title": "ErrorInformation", + "type": "object", + "description": "Data model for the complex type ErrorInformation.", + "properties": { + "errorCode": { + "title": "ErrorCode", + "type": "string", + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" + }, + "errorDescription": { + "title": "ErrorDescription", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Error description string." + }, + "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": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } + }, + "required": [ + "errorCode", + "errorDescription" ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" } - }, - "required": [ - "currency", - "amount" - ] - }, - "expiration": { - "title": "DateTime", + } + } + } + }, + "bulkTransactionIndividualTransferResult": { + "type": "object", + "required": [ + "homeTransactionId" + ], + "properties": { + "transferId": { + "title": "CorrelationId", "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "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": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" - ] + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "ilpPacket": { - "title": "IlpPacket", + "homeTransactionId": { "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." }, - "condition": { - "title": "IlpCondition", + "transactionId": { + "title": "CorrelationId", "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "extensionList": { - "title": "ExtensionList", + "to": { + "title": "Party", "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "description": "Data model for the complex type Party.", "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } + "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": { + "title": "PartyIdType", + "type": "string", + "enum": [ + "MSISDN", + "EMAIL", + "PERSONAL_ID", + "BUSINESS", + "DEVICE", + "ACCOUNT_ID", + "IBAN", + "ALIAS" + ], + "description": "Below are the allowed values for the enumeration.\n- 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.\n- 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).\n- 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.\n- 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.\n- 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.\n- 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.\n- 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.\n- 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." }, - "required": [ - "key", - "value" - ] + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." + }, + "fspId": { + "title": "FspId", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "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": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + } }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." + "required": [ + "partyIdType", + "partyIdentifier" + ] + }, + "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." + }, + "name": { + "title": "PartyName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." + }, + "personalInfo": { + "title": "PartyPersonalInfo", + "type": "object", + "description": "Data model for the complex type PartyPersonalInfo.", + "properties": { + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" + }, + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" + } + } } }, "required": [ - "extension" + "partyIdInfo" ] - } - }, - "required": [ - "transferAmount", - "expiration", - "ilpPacket", - "condition" - ] - }, - "IlpFulfilment": { - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "TransferState": { - "title": "TransferState", - "type": "string", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" - }, - "TransfersIDPutResponse": { - "title": "TransfersIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /transfers/{ID} callback.", - "properties": { - "fulfilment": { - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" }, - "completedTimestamp": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" + "reference": { + "description": "Payer Loan reference", + "type": "string" }, - "transferState": { - "title": "TransferState", + "amountType": { + "title": "AmountType", "type": "string", "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" + "SEND", + "RECEIVE" ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" }, - "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": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" + "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" ] - } - }, - "required": [ - "transferState" - ] - }, - "ErrorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "ErrorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "ErrorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", + }, + "amount": { + "title": "Amount", "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" }, - "errorDescription": { - "title": "ErrorDescription", + "note": { + "title": "Note", "type": "string", "minLength": 1, "maxLength": 128, - "description": "Error description string." + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." }, - "extensionList": { - "title": "ExtensionList", + "quoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "quoteResponse": { + "type": "object" + }, + "fulfil": { + "title": "TransfersIDPutResponse", "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "description": "The object sent in the PUT /transfers/{ID} callback.", "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - }, - "mojaloopError": { - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", + "fulfilment": { + "title": "IlpFulfilment", "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" + "pattern": "^[A-Za-z0-9-_]{43}$", + "maxLength": 48, + "description": "Fulfilment that must be attached to the transfer by the Payee.", + "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" }, - "errorDescription": { - "title": "ErrorDescription", + "completedTimestamp": { + "title": "DateTime", "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + }, + "transferState": { + "title": "TransferState", + "type": "string", + "enum": [ + "RECEIVED", + "RESERVED", + "COMMITTED", + "ABORTED" + ], + "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", + "example": "RESERVED" }, "extensionList": { "title": "ExtensionList", @@ -13164,1675 +12611,248 @@ } }, "required": [ - "errorCode", - "errorDescription" + "transferState" ] - } - } - }, - "transferError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", + "quoteExtensions": { + "title": "ExtensionList", "type": "object", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "errorInformation": { - "title": "ErrorInformation", - "type": "object", - "description": "Data model for the complex type ErrorInformation.", - "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "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": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." }, - "required": [ - "extension" - ] - } + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] }, - "required": [ - "errorCode", - "errorDescription" - ] + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." } - } - } - } - }, - "bulkTransactionIndividualTransferResult": { - "type": "object", - "required": [ - "homeTransactionId", - "transferId", - "to", - "amountType", - "currency", - "amount" - ], - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "transactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "required": [ + "extension" + ] }, - "to": { - "title": "Party", + "transferExtensions": { + "title": "ExtensionList", "type": "object", - "description": "Data model for the complex type Party.", + "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", "properties": { - "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": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- 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.\n- 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).\n- 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.\n- 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.\n- 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.\n- 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.\n- 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.\n- 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." + "extension": { + "type": "array", + "items": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "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": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } + "required": [ + "key", + "value" + ] }, - "required": [ - "partyIdType", - "partyIdentifier" - ] - }, - "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." - }, - "name": { - "title": "PartyName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] + }, + "lastError": { + "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." }, - "personalInfo": { - "title": "PartyPersonalInfo", + "mojaloopError": { + "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", "properties": { - "complexName": { - "title": "PartyComplexName", + "errorInformation": { + "title": "ErrorInformation", "type": "object", - "description": "Data model for the complex type PartyComplexName.", + "description": "Data model for the complex type ErrorInformation.", "properties": { - "firstName": { - "title": "FirstName", + "errorCode": { + "title": "ErrorCode", "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" + "pattern": "^[1-9]\\d{3}$", + "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", + "example": "5100" }, - "middleName": { - "title": "MiddleName", + "errorDescription": { + "title": "ErrorDescription", "type": "string", "minLength": 1, "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" + "description": "Error description string." }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" + "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": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" + }, + "required": [ + "errorCode", + "errorDescription" + ] } } } - }, - "required": [ - "partyIdInfo" - ] - }, - "reference": { - "description": "Payer Loan reference", - "type": "string" + } + } + } + }, + "bulkTransactionResponse": { + "title": "BulkTransactionResponse", + "type": "object", + "required": [ + "bulkHomeTransactionID", + "bulkTransactionId", + "currentState", + "individualTransferResults" + ], + "properties": { + "bulkHomeTransactionID": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." }, - "amountType": { - "title": "AmountType", + "bulkTransactionId": { + "title": "CorrelationId", "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" }, - "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.", + "currentState": { "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" + "ERROR_OCCURRED", + "WAITING_FOR_PARTY_ACCEPTANCE", + "WAITING_FOR_QUOTE_ACCEPTANCE", + "COMPLETED" ] }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "quoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "quoteResponse": { - "title": "QuotesIDPutResponse", + "options": { "type": "object", - "description": "The object sent in the PUT /quotes/{ID} callback.", + "required": [ + "autoAcceptParty", + "autoAcceptQuote", + "bulkExpiration" + ], "properties": { - "transferAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeReceiveAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] + "onlyValidateParty": { + "description": "Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution.", + "type": "boolean" }, - "payeeFspFee": { - "title": "Money", + "autoAcceptParty": { "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, "required": [ - "currency", - "amount" - ] - }, - "payeeFspCommission": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", + "enabled" + ], "properties": { - "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, + "enabled": { + "type": "boolean", "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" + false, + true ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" } - }, - "required": [ - "currency", - "amount" - ] - }, - "expiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" + } }, - "geoCode": { - "title": "GeoCode", + "autoAcceptQuote": { + "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.", "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", - "properties": { - "latitude": { - "title": "Latitude", - "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" - }, - "longitude": { - "title": "Longitude", - "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" - } - }, - "required": [ - "latitude", - "longitude" - ] - }, - "ilpPacket": { - "title": "IlpPacket", - "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" - }, - "condition": { - "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": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferAmount", - "expiration", - "ilpPacket", - "condition" - ] - }, - "fulfil": { - "title": "TransfersIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /transfers/{ID} callback.", - "properties": { - "fulfilment": { - "title": "IlpFulfilment", - "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Fulfilment that must be attached to the transfer by the Payee.", - "example": "WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8" - }, - "completedTimestamp": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "transferState": { - "title": "TransferState", - "type": "string", - "enum": [ - "RECEIVED", - "RESERVED", - "COMMITTED", - "ABORTED" - ], - "description": "Below are the allowed values for the enumeration.\n- RECEIVED - Next ledger has received the transfer.\n- RESERVED - Next ledger has reserved the transfer.\n- COMMITTED - Next ledger has successfully performed the transfer.\n- ABORTED - Next ledger has aborted the transfer due to a rejection or failure to perform the transfer.", - "example": "RESERVED" - }, - "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": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "transferState" - ] - }, - "quoteExtensions": { - "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": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "transferExtensions": { - "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": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - }, - "lastError": { - "type": "object", - "description": "This object represents a Mojaloop API error received at any time during the transfer process", - "properties": { - "httpStatusCode": { - "type": "integer", - "description": "The HTTP status code returned to the caller. This is the same as the actual HTTP status code returned with the response." - }, - "mojaloopError": { - "description": "If a transfer process results in an error callback during the asynchronous Mojaloop API exchange, this property will contain the underlying Mojaloop API error object.", - "type": "object", - "properties": { - "errorInformation": { - "title": "ErrorInformation", + "oneOf": [ + { "type": "object", - "description": "Data model for the complex type ErrorInformation.", + "required": [ + "enabled" + ], "properties": { - "errorCode": { - "title": "ErrorCode", - "type": "string", - "pattern": "^[1-9]\\d{3}$", - "description": "The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.", - "example": "5100" - }, - "errorDescription": { - "title": "ErrorDescription", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Error description string." - }, - "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": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "errorCode", - "errorDescription" - ] - } - } - } - } - } - } - }, - "bulkTransactionResponse": { - "title": "BulkTransactionResponse", - "type": "object", - "required": [ - "bulkHomeTransactionID", - "bulkTransactionId", - "currentState", - "individualTransferResults" - ], - "properties": { - "bulkHomeTransactionID": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "bulkTransactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "currentState": { - "type": "string", - "enum": [ - "ERROR_OCCURRED", - "WAITING_FOR_PARTY_ACCEPTANCE", - "WAITING_FOR_QUOTE_ACCEPTANCE", - "COMPLETED" - ] - }, - "options": { - "type": "object", - "required": [ - "autoAcceptParty", - "autoAcceptQuote", - "bulkExpiration" - ], - "properties": { - "onlyValidateParty": { - "description": "Set to true if only party validation is required. This means the quotes and transfers will not run. This is useful for only party resolution.", - "type": "boolean" - }, - "autoAcceptParty": { - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - false, - true - ] - } - } - }, - "autoAcceptQuote": { - "description": "Set to true if the quote response is accepted without confirmation from the payer. The fees applied by the payee will be acceptable to the payer abiding by the limits set by optional 'perTransferFeeLimits' array.", - "type": "object", - "oneOf": [ - { - "type": "object", - "required": [ - "enabled" - ], - "properties": { - "enabled": { - "type": "boolean", - "enum": [ - true, - false - ] + "enabled": { + "type": "boolean", + "enum": [ + true, + false + ] }, "perTransferFeeLimits": { "type": "array", @@ -14962,1360 +12982,492 @@ "PEN", "PGK", "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - } - } - } - } - } - ] - }, - "skipPartyLookup": { - "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.", - "type": "boolean" - }, - "synchronous": { - "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done", - "type": "boolean" - }, - "bulkExpiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - } - } - }, - "individualTransferResults": { - "description": "List of individual transfer result in a bulk transfer response.", - "type": "array", - "minItems": 1, - "items": { - "type": "object", - "required": [ - "homeTransactionId", - "transferId", - "to", - "amountType", - "currency", - "amount" - ], - "properties": { - "transferId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "homeTransactionId": { - "type": "string", - "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." - }, - "transactionId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "to": { - "title": "Party", - "type": "object", - "description": "Data model for the complex type Party.", - "properties": { - "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": { - "title": "PartyIdType", - "type": "string", - "enum": [ - "MSISDN", - "EMAIL", - "PERSONAL_ID", - "BUSINESS", - "DEVICE", - "ACCOUNT_ID", - "IBAN", - "ALIAS" - ], - "description": "Below are the allowed values for the enumeration.\n- 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.\n- 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).\n- 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.\n- 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.\n- 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.\n- 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.\n- 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.\n- 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." - }, - "partyIdentifier": { - "title": "PartyIdentifier", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Identifier of the Party.", - "example": "16135551212" - }, - "partySubIdOrType": { - "title": "PartySubIdOrType", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." - }, - "fspId": { - "title": "FspId", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "FSP identifier." - }, - "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": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } - }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." - } - }, - "required": [ - "extension" - ] - } - }, - "required": [ - "partyIdType", - "partyIdentifier" - ] - }, - "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." - }, - "name": { - "title": "PartyName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Name of the Party. Could be a real name or a nickname." - }, - "personalInfo": { - "title": "PartyPersonalInfo", - "type": "object", - "description": "Data model for the complex type PartyPersonalInfo.", - "properties": { - "complexName": { - "title": "PartyComplexName", - "type": "object", - "description": "Data model for the complex type PartyComplexName.", - "properties": { - "firstName": { - "title": "FirstName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "First name of the Party (Name Type).", - "example": "Henrik" - }, - "middleName": { - "title": "MiddleName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Middle name of the Party (Name Type).", - "example": "Johannes" - }, - "lastName": { - "title": "LastName", - "type": "string", - "minLength": 1, - "maxLength": 128, - "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", - "description": "Last name of the Party (Name Type).", - "example": "Karlsson" - } - } - }, - "dateOfBirth": { - "title": "DateofBirth (type Date)", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", - "description": "Date of Birth of the Party.", - "example": "1966-06-16" - } - } - } - }, - "required": [ - "partyIdInfo" - ] - }, - "reference": { - "description": "Payer Loan reference", - "type": "string" - }, - "amountType": { - "title": "AmountType", - "type": "string", - "enum": [ - "SEND", - "RECEIVE" - ], - "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", - "example": "RECEIVE" - }, - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - }, - "note": { - "title": "Note", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Memo assigned to transaction.", - "example": "Note sent to Payee." - }, - "quoteId": { - "title": "CorrelationId", - "type": "string", - "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", - "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", - "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" - }, - "quoteResponse": { - "title": "QuotesIDPutResponse", - "type": "object", - "description": "The object sent in the PUT /quotes/{ID} callback.", - "properties": { - "transferAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeReceiveAmount": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspFee": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" - } - }, - "required": [ - "currency", - "amount" - ] - }, - "payeeFspCommission": { - "title": "Money", - "type": "object", - "description": "Data model for the complex type Money.", - "properties": { - "currency": { - "title": "Currency", - "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", - "type": "string", - "minLength": 3, - "maxLength": 3, - "enum": [ - "AED", - "AFN", - "ALL", - "AMD", - "ANG", - "AOA", - "ARS", - "AUD", - "AWG", - "AZN", - "BAM", - "BBD", - "BDT", - "BGN", - "BHD", - "BIF", - "BMD", - "BND", - "BOB", - "BRL", - "BSD", - "BTN", - "BWP", - "BYN", - "BZD", - "CAD", - "CDF", - "CHF", - "CLP", - "CNY", - "COP", - "CRC", - "CUC", - "CUP", - "CVE", - "CZK", - "DJF", - "DKK", - "DOP", - "DZD", - "EGP", - "ERN", - "ETB", - "EUR", - "FJD", - "FKP", - "GBP", - "GEL", - "GGP", - "GHS", - "GIP", - "GMD", - "GNF", - "GTQ", - "GYD", - "HKD", - "HNL", - "HRK", - "HTG", - "HUF", - "IDR", - "ILS", - "IMP", - "INR", - "IQD", - "IRR", - "ISK", - "JEP", - "JMD", - "JOD", - "JPY", - "KES", - "KGS", - "KHR", - "KMF", - "KPW", - "KRW", - "KWD", - "KYD", - "KZT", - "LAK", - "LBP", - "LKR", - "LRD", - "LSL", - "LYD", - "MAD", - "MDL", - "MGA", - "MKD", - "MMK", - "MNT", - "MOP", - "MRO", - "MUR", - "MVR", - "MWK", - "MXN", - "MYR", - "MZN", - "NAD", - "NGN", - "NIO", - "NOK", - "NPR", - "NZD", - "OMR", - "PAB", - "PEN", - "PGK", - "PHP", - "PKR", - "PLN", - "PYG", - "QAR", - "RON", - "RSD", - "RUB", - "RWF", - "SAR", - "SBD", - "SCR", - "SDG", - "SEK", - "SGD", - "SHP", - "SLL", - "SOS", - "SPL", - "SRD", - "STD", - "SVC", - "SYP", - "SZL", - "THB", - "TJS", - "TMT", - "TND", - "TOP", - "TRY", - "TTD", - "TVD", - "TWD", - "TZS", - "UAH", - "UGX", - "USD", - "UYU", - "UZS", - "VEF", - "VND", - "VUV", - "WST", - "XAF", - "XCD", - "XDR", - "XOF", - "XPF", - "XTS", - "XXX", - "YER", - "ZAR", - "ZMW", - "ZWD" - ] - }, - "amount": { - "title": "Amount", - "type": "string", - "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", - "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", - "example": "123.45" + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" + ] + }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + } + } } - }, - "required": [ - "currency", - "amount" - ] - }, - "expiration": { - "title": "DateTime", - "type": "string", - "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", - "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", - "example": "2016-05-24T08:38:08.699-04:00" - }, - "geoCode": { - "title": "GeoCode", + } + } + } + ] + }, + "skipPartyLookup": { + "description": "Set to true if supplying an FSPID for the payee party and no party resolution is needed. This may be useful if a previous party resolution has been performed.", + "type": "boolean" + }, + "synchronous": { + "description": "Set to true if the bulkTransfer requests need be handled synchronous. Otherwise the requests will be handled asynchronously, meaning there will be callbacks whenever the processing is done", + "type": "boolean" + }, + "bulkExpiration": { + "title": "DateTime", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:(\\.\\d{3}))(?:Z|[+-][01]\\d:[0-5]\\d)$", + "description": "The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are \"2016-05-24T08:38:08.699-04:00\", \"2016-05-24T08:38:08.699Z\" (where Z indicates Zulu time zone, same as UTC).", + "example": "2016-05-24T08:38:08.699-04:00" + } + } + }, + "individualTransferResults": { + "description": "List of individual transfer result in a bulk transfer response.", + "type": "array", + "minItems": 1, + "items": { + "type": "object", + "required": [ + "homeTransactionId" + ], + "properties": { + "transferId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "homeTransactionId": { + "type": "string", + "description": "Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems." + }, + "transactionId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "to": { + "title": "Party", + "type": "object", + "description": "Data model for the complex type Party.", + "properties": { + "partyIdInfo": { + "title": "PartyIdInfo", "type": "object", - "description": "Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.", + "description": "Data model for the complex type PartyIdInfo. An ExtensionList element has been added to this reqeust in version v1.1", "properties": { - "latitude": { - "title": "Latitude", + "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.\n- 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.\n- 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).\n- 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.\n- 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.\n- 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.\n- 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.\n- 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.\n- 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." + }, + "partyIdentifier": { + "title": "PartyIdentifier", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Identifier of the Party.", + "example": "16135551212" + }, + "partySubIdOrType": { + "title": "PartySubIdOrType", "type": "string", - "pattern": "^(\\+|-)?(?:90(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+45.4215" + "minLength": 1, + "maxLength": 128, + "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType." }, - "longitude": { - "title": "Longitude", + "fspId": { + "title": "FspId", "type": "string", - "pattern": "^(\\+|-)?(?:180(?:(?:\\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\\.[0-9]{1,6})?))$", - "description": "The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.", - "example": "+75.6972" + "minLength": 1, + "maxLength": 32, + "description": "FSP identifier." + }, + "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": { + "title": "Extension", + "type": "object", + "description": "Data model for the complex type Extension.", + "properties": { + "key": { + "title": "ExtensionKey", + "type": "string", + "minLength": 1, + "maxLength": 32, + "description": "Extension key." + }, + "value": { + "title": "ExtensionValue", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Extension value." + } + }, + "required": [ + "key", + "value" + ] + }, + "minItems": 1, + "maxItems": 16, + "description": "Number of Extension elements." + } + }, + "required": [ + "extension" + ] } }, "required": [ - "latitude", - "longitude" + "partyIdType", + "partyIdentifier" ] }, - "ilpPacket": { - "title": "IlpPacket", + "merchantClassificationCode": { + "title": "MerchantClassificationCode", "type": "string", - "pattern": "^[A-Za-z0-9-_]+[=]{0,2}$", - "minLength": 1, - "maxLength": 32768, - "description": "Information for recipient (transport layer information).", - "example": "AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA" + "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." }, - "condition": { - "title": "IlpCondition", + "name": { + "title": "PartyName", "type": "string", - "pattern": "^[A-Za-z0-9-_]{43}$", - "maxLength": 48, - "description": "Condition that must be attached to the transfer by the Payer." + "minLength": 1, + "maxLength": 128, + "description": "Name of the Party. Could be a real name or a nickname." }, - "extensionList": { - "title": "ExtensionList", + "personalInfo": { + "title": "PartyPersonalInfo", "type": "object", - "description": "Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.", + "description": "Data model for the complex type PartyPersonalInfo.", "properties": { - "extension": { - "type": "array", - "items": { - "title": "Extension", - "type": "object", - "description": "Data model for the complex type Extension.", - "properties": { - "key": { - "title": "ExtensionKey", - "type": "string", - "minLength": 1, - "maxLength": 32, - "description": "Extension key." - }, - "value": { - "title": "ExtensionValue", - "type": "string", - "minLength": 1, - "maxLength": 128, - "description": "Extension value." - } + "complexName": { + "title": "PartyComplexName", + "type": "object", + "description": "Data model for the complex type PartyComplexName.", + "properties": { + "firstName": { + "title": "FirstName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "First name of the Party (Name Type).", + "example": "Henrik" }, - "required": [ - "key", - "value" - ] - }, - "minItems": 1, - "maxItems": 16, - "description": "Number of Extension elements." + "middleName": { + "title": "MiddleName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Middle name of the Party (Name Type).", + "example": "Johannes" + }, + "lastName": { + "title": "LastName", + "type": "string", + "minLength": 1, + "maxLength": 128, + "pattern": "^(?!\\s*$)[\\p{L}\\p{gc=Mark}\\p{digit}\\p{gc=Connector_Punctuation}\\p{Join_Control} .,''-]{1,128}$", + "description": "Last name of the Party (Name Type).", + "example": "Karlsson" + } + } + }, + "dateOfBirth": { + "title": "DateofBirth (type Date)", + "type": "string", + "pattern": "^(?:[1-9]\\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)$", + "description": "Date of Birth of the Party.", + "example": "1966-06-16" } - }, - "required": [ - "extension" - ] + } } }, "required": [ - "transferAmount", - "expiration", - "ilpPacket", - "condition" + "partyIdInfo" + ] + }, + "reference": { + "description": "Payer Loan reference", + "type": "string" + }, + "amountType": { + "title": "AmountType", + "type": "string", + "enum": [ + "SEND", + "RECEIVE" + ], + "description": "Below are the allowed values for the enumeration AmountType.\n- SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.\n- RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees.", + "example": "RECEIVE" + }, + "currency": { + "title": "Currency", + "description": "The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies.", + "type": "string", + "minLength": 3, + "maxLength": 3, + "enum": [ + "AED", + "AFN", + "ALL", + "AMD", + "ANG", + "AOA", + "ARS", + "AUD", + "AWG", + "AZN", + "BAM", + "BBD", + "BDT", + "BGN", + "BHD", + "BIF", + "BMD", + "BND", + "BOB", + "BRL", + "BSD", + "BTN", + "BWP", + "BYN", + "BZD", + "CAD", + "CDF", + "CHF", + "CLP", + "CNY", + "COP", + "CRC", + "CUC", + "CUP", + "CVE", + "CZK", + "DJF", + "DKK", + "DOP", + "DZD", + "EGP", + "ERN", + "ETB", + "EUR", + "FJD", + "FKP", + "GBP", + "GEL", + "GGP", + "GHS", + "GIP", + "GMD", + "GNF", + "GTQ", + "GYD", + "HKD", + "HNL", + "HRK", + "HTG", + "HUF", + "IDR", + "ILS", + "IMP", + "INR", + "IQD", + "IRR", + "ISK", + "JEP", + "JMD", + "JOD", + "JPY", + "KES", + "KGS", + "KHR", + "KMF", + "KPW", + "KRW", + "KWD", + "KYD", + "KZT", + "LAK", + "LBP", + "LKR", + "LRD", + "LSL", + "LYD", + "MAD", + "MDL", + "MGA", + "MKD", + "MMK", + "MNT", + "MOP", + "MRO", + "MUR", + "MVR", + "MWK", + "MXN", + "MYR", + "MZN", + "NAD", + "NGN", + "NIO", + "NOK", + "NPR", + "NZD", + "OMR", + "PAB", + "PEN", + "PGK", + "PHP", + "PKR", + "PLN", + "PYG", + "QAR", + "RON", + "RSD", + "RUB", + "RWF", + "SAR", + "SBD", + "SCR", + "SDG", + "SEK", + "SGD", + "SHP", + "SLL", + "SOS", + "SPL", + "SRD", + "STD", + "SVC", + "SYP", + "SZL", + "THB", + "TJS", + "TMT", + "TND", + "TOP", + "TRY", + "TTD", + "TVD", + "TWD", + "TZS", + "UAH", + "UGX", + "USD", + "UYU", + "UZS", + "VEF", + "VND", + "VUV", + "WST", + "XAF", + "XCD", + "XDR", + "XOF", + "XPF", + "XTS", + "XXX", + "YER", + "ZAR", + "ZMW", + "ZWD" ] }, + "amount": { + "title": "Amount", + "type": "string", + "pattern": "^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$", + "description": "The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed.", + "example": "123.45" + }, + "note": { + "title": "Note", + "type": "string", + "minLength": 1, + "maxLength": 128, + "description": "Memo assigned to transaction.", + "example": "Note sent to Payee." + }, + "quoteId": { + "title": "CorrelationId", + "type": "string", + "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$", + "description": "Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).", + "example": "b51ec534-ee48-4575-b6a9-ead2955b8069" + }, + "quoteResponse": { + "type": "object" + }, "fulfil": { "title": "TransfersIDPutResponse", "type": "object", diff --git a/src/sdk-scheme-adapter/v2_0_0/backend/openapi.ts b/src/sdk-scheme-adapter/v2_0_0/backend/openapi.ts index ff4dd93f..b79572e2 100644 --- a/src/sdk-scheme-adapter/v2_0_0/backend/openapi.ts +++ b/src/sdk-scheme-adapter/v2_0_0/backend/openapi.ts @@ -992,60 +992,6 @@ export interface components { * @example Note sent to Payee. */ Note: string; - /** - * Money - * @description Data model for the complex type Money. - */ - Money: { - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; - }; - /** - * Latitude - * @description The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +45.4215 - */ - Latitude: string; - /** - * Longitude - * @description The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - * @example +75.6972 - */ - Longitude: string; - /** - * GeoCode - * @description Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - GeoCode: { - latitude: components["schemas"]["Latitude"]; - longitude: components["schemas"]["Longitude"]; - }; - /** - * IlpPacket - * @description Information for recipient (transport layer information). - * @example AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA - */ - IlpPacket: string; - /** - * IlpCondition - * @description Condition that must be attached to the transfer by the Payer. - */ - IlpCondition: string; - /** - * QuotesIDPutResponse - * @description The object sent in the PUT /quotes/{ID} callback. - */ - QuotesIDPutResponse: { - transferAmount: components["schemas"]["Money"]; - payeeReceiveAmount?: components["schemas"]["Money"]; - payeeFspFee?: components["schemas"]["Money"]; - payeeFspCommission?: components["schemas"]["Money"]; - expiration: components["schemas"]["DateTime"]; - geoCode?: components["schemas"]["GeoCode"]; - ilpPacket: components["schemas"]["IlpPacket"]; - condition: components["schemas"]["IlpCondition"]; - extensionList?: components["schemas"]["ExtensionList"]; - }; /** * IlpFulfilment * @description Fulfilment that must be attached to the transfer by the Payee. @@ -1104,19 +1050,19 @@ export interface components { mojaloopError?: components["schemas"]["mojaloopError"]; }; bulkTransactionIndividualTransferResult: { - transferId: components["schemas"]["CorrelationId"]; + transferId?: components["schemas"]["CorrelationId"]; /** @description Transaction ID from the DFSP backend, used to reconcile transactions between the Switch and DFSP backend systems. */ homeTransactionId: string; transactionId?: components["schemas"]["CorrelationId"]; - to: components["schemas"]["Party"]; + to?: components["schemas"]["Party"]; /** @description Payer Loan reference */ reference?: string; - amountType: components["schemas"]["AmountType"]; - currency: components["schemas"]["Currency"]; - amount: components["schemas"]["Amount"]; + amountType?: components["schemas"]["AmountType"]; + currency?: components["schemas"]["Currency"]; + amount?: components["schemas"]["Amount"]; note?: components["schemas"]["Note"]; quoteId?: components["schemas"]["CorrelationId"]; - quoteResponse?: components["schemas"]["QuotesIDPutResponse"]; + quoteResponse?: { [key: string]: unknown }; fulfil?: components["schemas"]["TransfersIDPutResponse"]; quoteExtensions?: components["schemas"]["ExtensionList"]; transferExtensions?: components["schemas"]["ExtensionList"]; diff --git a/src/sdk-scheme-adapter/v2_0_0/backend/schemas.ts b/src/sdk-scheme-adapter/v2_0_0/backend/schemas.ts index 18d27a2c..d622cbe1 100644 --- a/src/sdk-scheme-adapter/v2_0_0/backend/schemas.ts +++ b/src/sdk-scheme-adapter/v2_0_0/backend/schemas.ts @@ -93,13 +93,6 @@ export namespace Schemas { export const Party = JsonSchemas.Party export const AmountType = JsonSchemas.AmountType export const Note = JsonSchemas.Note - export const Money = JsonSchemas.Money - export const Latitude = JsonSchemas.Latitude - export const Longitude = JsonSchemas.Longitude - export const GeoCode = JsonSchemas.GeoCode - export const IlpPacket = JsonSchemas.IlpPacket - export const IlpCondition = JsonSchemas.IlpCondition - export const QuotesIDPutResponse = JsonSchemas.QuotesIDPutResponse export const IlpFulfilment = JsonSchemas.IlpFulfilment export const TransferState = JsonSchemas.TransferState export const TransfersIDPutResponse = JsonSchemas.TransfersIDPutResponse diff --git a/src/sdk-scheme-adapter/v2_0_0/backend/types.ts b/src/sdk-scheme-adapter/v2_0_0/backend/types.ts index 082c568d..4114e0b5 100644 --- a/src/sdk-scheme-adapter/v2_0_0/backend/types.ts +++ b/src/sdk-scheme-adapter/v2_0_0/backend/types.ts @@ -93,13 +93,6 @@ export namespace Types { export type Party = components['schemas']['Party'] export type AmountType = components['schemas']['AmountType'] export type Note = components['schemas']['Note'] - export type Money = components['schemas']['Money'] - export type Latitude = components['schemas']['Latitude'] - export type Longitude = components['schemas']['Longitude'] - export type GeoCode = components['schemas']['GeoCode'] - export type IlpPacket = components['schemas']['IlpPacket'] - export type IlpCondition = components['schemas']['IlpCondition'] - export type QuotesIDPutResponse = components['schemas']['QuotesIDPutResponse'] export type IlpFulfilment = components['schemas']['IlpFulfilment'] export type TransferState = components['schemas']['TransferState'] export type TransfersIDPutResponse = components['schemas']['TransfersIDPutResponse']