@mojaloop/api-snippets 18.3.2 → 18.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/audit-ci.jsonc +5 -1
  3. package/docs/fspiop-rest-v2.0-ISO20022-openapi3-snippets.yaml +0 -2
  4. package/docs/sdk-scheme-adapter-outbound-v2_1_0-openapi3-snippets.yaml +1 -1
  5. package/docs/thirdparty-admin-v2.0-openapi3-snippets.yaml +3705 -0
  6. package/docs/thirdparty-v1.0-openapi3-snippets.yaml +3802 -0
  7. package/docs/thirdparty-v2.0-openapi3-snippets.yaml +1825 -0
  8. package/eslint.config.mjs +70 -0
  9. package/fspiop/v2_0_ISO20022/openapi3/components/schemas/FinancialInstitutionIdentification18.yaml +0 -1
  10. package/fspiop/v2_0_ISO20022/openapi3/components/schemas/FinancialInstitutionIdentification23.yaml +0 -1
  11. package/lib/fspiop/v2_0/index.js +0 -1
  12. package/lib/fspiop/v2_0/index.js.map +1 -1
  13. package/lib/fspiop/v2_0_ISO20022/index.js +0 -1
  14. package/lib/fspiop/v2_0_ISO20022/index.js.map +1 -1
  15. package/lib/fspiop/v2_0_ISO20022/json-schemas.json +0 -71
  16. package/lib/fspiop/v2_0_ISO20022/schemas.d.ts +0 -140
  17. package/lib/index.js +0 -1
  18. package/lib/index.js.map +1 -1
  19. package/lib/sdk-scheme-adapter/v2_0_0/backend/index.js +0 -1
  20. package/lib/sdk-scheme-adapter/v2_0_0/backend/index.js.map +1 -1
  21. package/lib/sdk-scheme-adapter/v2_0_0/outbound/index.js +0 -1
  22. package/lib/sdk-scheme-adapter/v2_0_0/outbound/index.js.map +1 -1
  23. package/lib/sdk-scheme-adapter/v2_1_0/backend/index.js +0 -1
  24. package/lib/sdk-scheme-adapter/v2_1_0/backend/index.js.map +1 -1
  25. package/lib/sdk-scheme-adapter/v2_1_0/outbound/index.js +0 -1
  26. package/lib/sdk-scheme-adapter/v2_1_0/outbound/index.js.map +1 -1
  27. package/lib/sdk-scheme-adapter/v2_1_0/outbound/json-schemas.json +1 -1
  28. package/lib/sdk-scheme-adapter/v2_1_0/outbound/schemas.d.ts +1 -1
  29. package/lib/thirdparty/v2_0/openapi.d.ts +1726 -0
  30. package/lib/thirdparty/v2_0/openapi.js +7 -0
  31. package/lib/thirdparty/v2_0/openapi.js.map +1 -0
  32. package/package.json +48 -45
  33. package/sdk-scheme-adapter/v2_1_0/components/schemas/transferRequest.yaml +1 -1
  34. package/test/dto/{thirdparty.test.ts → thirdparty_v1_0.test.ts} +1 -1
  35. package/thirdparty/v1_0/openapi3/thirdparty-dfsp-api.yaml +68 -61
  36. package/thirdparty/v1_0/openapi3/thirdparty-pisp-api.yaml +82 -75
  37. package/thirdparty/v2_0/openapi3/components/headers/Content-Length.yaml +1 -0
  38. package/thirdparty/v2_0/openapi3/components/headers/Content-Type.yaml +1 -0
  39. package/thirdparty/v2_0/openapi3/components/parameters/Accept.yaml +1 -0
  40. package/thirdparty/v2_0/openapi3/components/parameters/Content-Length.yaml +1 -0
  41. package/thirdparty/v2_0/openapi3/components/parameters/Content-Type.yaml +1 -0
  42. package/thirdparty/v2_0/openapi3/components/parameters/Date.yaml +1 -0
  43. package/thirdparty/v2_0/openapi3/components/parameters/FSPIOP-Destination.yaml +1 -0
  44. package/thirdparty/v2_0/openapi3/components/parameters/FSPIOP-Encryption.yaml +1 -0
  45. package/thirdparty/v2_0/openapi3/components/parameters/FSPIOP-HTTP-Method.yaml +1 -0
  46. package/thirdparty/v2_0/openapi3/components/parameters/FSPIOP-Signature.yaml +1 -0
  47. package/thirdparty/v2_0/openapi3/components/parameters/FSPIOP-Source.yaml +1 -0
  48. package/thirdparty/v2_0/openapi3/components/parameters/FSPIOP-URI.yaml +1 -0
  49. package/thirdparty/v2_0/openapi3/components/parameters/ID.yaml +1 -0
  50. package/thirdparty/v2_0/openapi3/components/parameters/ServiceType.yaml +6 -0
  51. package/thirdparty/v2_0/openapi3/components/parameters/SubId.yaml +1 -0
  52. package/thirdparty/v2_0/openapi3/components/parameters/Type.yaml +1 -0
  53. package/thirdparty/v2_0/openapi3/components/parameters/X-Forwarded-For.yaml +1 -0
  54. package/thirdparty/v2_0/openapi3/components/responses/200.yaml +1 -0
  55. package/thirdparty/v2_0/openapi3/components/responses/202.yaml +1 -0
  56. package/thirdparty/v2_0/openapi3/components/responses/400.yaml +1 -0
  57. package/thirdparty/v2_0/openapi3/components/responses/401.yaml +1 -0
  58. package/thirdparty/v2_0/openapi3/components/responses/403.yaml +1 -0
  59. package/thirdparty/v2_0/openapi3/components/responses/404.yaml +1 -0
  60. package/thirdparty/v2_0/openapi3/components/responses/405.yaml +1 -0
  61. package/thirdparty/v2_0/openapi3/components/responses/406.yaml +1 -0
  62. package/thirdparty/v2_0/openapi3/components/responses/501.yaml +1 -0
  63. package/thirdparty/v2_0/openapi3/components/responses/503.yaml +1 -0
  64. package/thirdparty/v2_0/openapi3/components/schemas/Account.yaml +17 -0
  65. package/thirdparty/v2_0/openapi3/components/schemas/AccountAddress.yaml +25 -0
  66. package/thirdparty/v2_0/openapi3/components/schemas/AccountList.yaml +11 -0
  67. package/thirdparty/v2_0/openapi3/components/schemas/Amount.yaml +1 -0
  68. package/thirdparty/v2_0/openapi3/components/schemas/AmountType.yaml +1 -0
  69. package/thirdparty/v2_0/openapi3/components/schemas/AuthenticationResponse.yaml +10 -0
  70. package/thirdparty/v2_0/openapi3/components/schemas/AuthenticatorAssertionResponse.yaml +32 -0
  71. package/thirdparty/v2_0/openapi3/components/schemas/AuthenticatorAttestationResponse.yaml +23 -0
  72. package/thirdparty/v2_0/openapi3/components/schemas/AuthorizationResponseType.yaml +8 -0
  73. package/thirdparty/v2_0/openapi3/components/schemas/AuthorizationResponseTypeAccepted.yaml +6 -0
  74. package/thirdparty/v2_0/openapi3/components/schemas/AuthorizationResponseTypeRejected.yaml +6 -0
  75. package/thirdparty/v2_0/openapi3/components/schemas/BinaryString.yaml +1 -0
  76. package/thirdparty/v2_0/openapi3/components/schemas/ConsentRequestChannelType.yaml +9 -0
  77. package/thirdparty/v2_0/openapi3/components/schemas/ConsentRequestChannelTypeOTP.yaml +6 -0
  78. package/thirdparty/v2_0/openapi3/components/schemas/ConsentRequestChannelTypeWeb.yaml +6 -0
  79. package/thirdparty/v2_0/openapi3/components/schemas/ConsentRequestsIDPatchRequest.yaml +16 -0
  80. package/thirdparty/v2_0/openapi3/components/schemas/ConsentRequestsIDPutResponseOTP.yaml +30 -0
  81. package/thirdparty/v2_0/openapi3/components/schemas/ConsentRequestsIDPutResponseWeb.yaml +39 -0
  82. package/thirdparty/v2_0/openapi3/components/schemas/ConsentRequestsPostRequest.yaml +44 -0
  83. package/thirdparty/v2_0/openapi3/components/schemas/ConsentStatus.yaml +9 -0
  84. package/thirdparty/v2_0/openapi3/components/schemas/ConsentStatusIssued.yaml +7 -0
  85. package/thirdparty/v2_0/openapi3/components/schemas/ConsentStatusRevoked.yaml +7 -0
  86. package/thirdparty/v2_0/openapi3/components/schemas/ConsentsIDPatchResponseRevoked.yaml +17 -0
  87. package/thirdparty/v2_0/openapi3/components/schemas/ConsentsIDPatchResponseVerified.yaml +19 -0
  88. package/thirdparty/v2_0/openapi3/components/schemas/ConsentsIDPutResponseSigned.yaml +23 -0
  89. package/thirdparty/v2_0/openapi3/components/schemas/ConsentsIDPutResponseVerified.yaml +23 -0
  90. package/thirdparty/v2_0/openapi3/components/schemas/ConsentsPostRequestAUTH.yaml +33 -0
  91. package/thirdparty/v2_0/openapi3/components/schemas/ConsentsPostRequestPISP.yaml +32 -0
  92. package/thirdparty/v2_0/openapi3/components/schemas/CorrelationId.yaml +1 -0
  93. package/thirdparty/v2_0/openapi3/components/schemas/CredentialStatusPending.yaml +7 -0
  94. package/thirdparty/v2_0/openapi3/components/schemas/CredentialStatusVerified.yaml +7 -0
  95. package/thirdparty/v2_0/openapi3/components/schemas/CredentialType.yaml +11 -0
  96. package/thirdparty/v2_0/openapi3/components/schemas/Currency.yaml +1 -0
  97. package/thirdparty/v2_0/openapi3/components/schemas/DateOfBirth.yaml +1 -0
  98. package/thirdparty/v2_0/openapi3/components/schemas/DateTime.yaml +1 -0
  99. package/thirdparty/v2_0/openapi3/components/schemas/ErrorCode.yaml +1 -0
  100. package/thirdparty/v2_0/openapi3/components/schemas/ErrorDescription.yaml +1 -0
  101. package/thirdparty/v2_0/openapi3/components/schemas/ErrorInformation.yaml +1 -0
  102. package/thirdparty/v2_0/openapi3/components/schemas/Extension.yaml +1 -0
  103. package/thirdparty/v2_0/openapi3/components/schemas/ExtensionKey.yaml +1 -0
  104. package/thirdparty/v2_0/openapi3/components/schemas/ExtensionList.yaml +1 -0
  105. package/thirdparty/v2_0/openapi3/components/schemas/ExtensionValue.yaml +1 -0
  106. package/thirdparty/v2_0/openapi3/components/schemas/FIDOPublicKeyCredentialAssertion.yaml +71 -0
  107. package/thirdparty/v2_0/openapi3/components/schemas/FIDOPublicKeyCredentialAttestation.yaml +54 -0
  108. package/thirdparty/v2_0/openapi3/components/schemas/FirstName.yaml +1 -0
  109. package/thirdparty/v2_0/openapi3/components/schemas/FspId.yaml +1 -0
  110. package/thirdparty/v2_0/openapi3/components/schemas/GenericCredential.yaml +13 -0
  111. package/thirdparty/v2_0/openapi3/components/schemas/GeoCode.yaml +1 -0
  112. package/thirdparty/v2_0/openapi3/components/schemas/IlpCondition.yaml +1 -0
  113. package/thirdparty/v2_0/openapi3/components/schemas/IlpFulfilment.yaml +1 -0
  114. package/thirdparty/v2_0/openapi3/components/schemas/IlpPacket.yaml +1 -0
  115. package/thirdparty/v2_0/openapi3/components/schemas/Integer.yaml +1 -0
  116. package/thirdparty/v2_0/openapi3/components/schemas/LastName.yaml +1 -0
  117. package/thirdparty/v2_0/openapi3/components/schemas/Latitude.yaml +1 -0
  118. package/thirdparty/v2_0/openapi3/components/schemas/Longitude.yaml +1 -0
  119. package/thirdparty/v2_0/openapi3/components/schemas/MerchantClassificationCode.yaml +1 -0
  120. package/thirdparty/v2_0/openapi3/components/schemas/MiddleName.yaml +1 -0
  121. package/thirdparty/v2_0/openapi3/components/schemas/Money.yaml +1 -0
  122. package/thirdparty/v2_0/openapi3/components/schemas/Name.yaml +2 -0
  123. package/thirdparty/v2_0/openapi3/components/schemas/Note.yaml +1 -0
  124. package/thirdparty/v2_0/openapi3/components/schemas/ParticipantsIDPutResponse.yaml +17 -0
  125. package/thirdparty/v2_0/openapi3/components/schemas/ParticipantsPostRequest.yaml +20 -0
  126. package/thirdparty/v2_0/openapi3/components/schemas/ParticipantsTypeIDPutResponse.yaml +8 -0
  127. package/thirdparty/v2_0/openapi3/components/schemas/ParticipantsTypeIDSubIDPostRequest.yaml +15 -0
  128. package/thirdparty/v2_0/openapi3/components/schemas/PartiesTypeIDPutResponse.yaml +13 -0
  129. package/thirdparty/v2_0/openapi3/components/schemas/Party.yaml +15 -0
  130. package/thirdparty/v2_0/openapi3/components/schemas/PartyComplexName.yaml +1 -0
  131. package/thirdparty/v2_0/openapi3/components/schemas/PartyIdInfo.yaml +17 -0
  132. package/thirdparty/v2_0/openapi3/components/schemas/PartyIdInfoTPLink.yaml +17 -0
  133. package/thirdparty/v2_0/openapi3/components/schemas/PartyIdType.yaml +58 -0
  134. package/thirdparty/v2_0/openapi3/components/schemas/PartyIdTypeTPLink.yaml +7 -0
  135. package/thirdparty/v2_0/openapi3/components/schemas/PartyIdentifier.yaml +1 -0
  136. package/thirdparty/v2_0/openapi3/components/schemas/PartyName.yaml +1 -0
  137. package/thirdparty/v2_0/openapi3/components/schemas/PartyPersonalInfo.yaml +1 -0
  138. package/thirdparty/v2_0/openapi3/components/schemas/PartyResult.yaml +10 -0
  139. package/thirdparty/v2_0/openapi3/components/schemas/PartySubIdOrType.yaml +1 -0
  140. package/thirdparty/v2_0/openapi3/components/schemas/PartyTPLink.yaml +14 -0
  141. package/thirdparty/v2_0/openapi3/components/schemas/QuotesIDPutResponse.yaml +1 -0
  142. package/thirdparty/v2_0/openapi3/components/schemas/QuotesPostRequest.yaml +79 -0
  143. package/thirdparty/v2_0/openapi3/components/schemas/Scope.yaml +20 -0
  144. package/thirdparty/v2_0/openapi3/components/schemas/ScopeAction.yaml +14 -0
  145. package/thirdparty/v2_0/openapi3/components/schemas/ServiceType.yaml +15 -0
  146. package/thirdparty/v2_0/openapi3/components/schemas/ServicesServiceTypePutResponse.yaml +26 -0
  147. package/thirdparty/v2_0/openapi3/components/schemas/SignedCredential.yaml +23 -0
  148. package/thirdparty/v2_0/openapi3/components/schemas/SignedPayloadFIDO.yaml +11 -0
  149. package/thirdparty/v2_0/openapi3/components/schemas/SignedPayloadGeneric.yaml +11 -0
  150. package/thirdparty/v2_0/openapi3/components/schemas/SignedPayloadType.yaml +9 -0
  151. package/thirdparty/v2_0/openapi3/components/schemas/SignedPayloadTypeFIDO.yaml +5 -0
  152. package/thirdparty/v2_0/openapi3/components/schemas/SignedPayloadTypeGeneric.yaml +5 -0
  153. package/thirdparty/v2_0/openapi3/components/schemas/Transaction.yaml +43 -0
  154. package/thirdparty/v2_0/openapi3/components/schemas/TransactionRequestState.yaml +1 -0
  155. package/thirdparty/v2_0/openapi3/components/schemas/TransactionState.yaml +1 -0
  156. package/thirdparty/v2_0/openapi3/components/schemas/TransactionType.yaml +1 -0
  157. package/thirdparty/v2_0/openapi3/components/schemas/TransfersPostRequestFIDO.yaml +15 -0
  158. package/thirdparty/v2_0/openapi3/components/schemas/TransfersPostRequestGeneric.yaml +15 -0
  159. package/thirdparty/v2_0/openapi3/components/schemas/Uri.yaml +8 -0
  160. package/thirdparty/v2_0/openapi3/components/schemas/VerifiedCredential.yaml +23 -0
  161. package/thirdparty/v2_0/openapi3/components/schemas/tppAccountRequestPostRequest.yaml +35 -0
  162. package/thirdparty/v2_0/openapi3/components/schemas/tppAccountRequestPutResponse.yaml +30 -0
  163. package/thirdparty/v2_0/openapi3/components/schemas/tppAccountsIDPutResponse.yaml +21 -0
  164. package/thirdparty/v2_0/openapi3/components/schemas/tppAuthorizationsIDPutResponseFIDO.yaml +15 -0
  165. package/thirdparty/v2_0/openapi3/components/schemas/tppAuthorizationsIDPutResponseGeneric.yaml +15 -0
  166. package/thirdparty/v2_0/openapi3/components/schemas/tppAuthorizationsIDPutResponseRejected.yaml +10 -0
  167. package/thirdparty/v2_0/openapi3/components/schemas/tppAuthorizationsPostRequest.yaml +67 -0
  168. package/thirdparty/v2_0/openapi3/components/schemas/tppTransactionRequestPostRequest.yaml +60 -0
  169. package/thirdparty/v2_0/openapi3/components/schemas/tppTransactionRequestPutResponse.yaml +67 -0
  170. package/thirdparty/v2_0/openapi3/components/schemas/tppTransfersPostRequest.yaml +19 -0
  171. package/thirdparty/v2_0/openapi3/components/schemas/tppTransfersPutResponse.yaml +25 -0
  172. package/thirdparty/v2_0/openapi3/components/schemas/tppVerificationsIDPutResponse.yaml +19 -0
  173. package/thirdparty/v2_0/openapi3/components/schemas/tppVerificationsPostRequestFIDO.yaml +28 -0
  174. package/thirdparty/v2_0/openapi3/components/schemas/tppVerificationsPostRequestGeneric.yaml +28 -0
  175. package/thirdparty/v2_0/openapi3/openapi-admin.yaml +99 -0
  176. package/thirdparty/v2_0/openapi3/openapi.yaml +64 -0
  177. package/thirdparty/v2_0/openapi3/paths/health.yaml +25 -0
  178. package/thirdparty/v2_0/openapi3/paths/metrics.yaml +25 -0
  179. package/thirdparty/v2_0/openapi3/paths/participants.yaml +50 -0
  180. package/thirdparty/v2_0/openapi3/paths/participants_ID.yaml +49 -0
  181. package/thirdparty/v2_0/openapi3/paths/participants_ID_error.yaml +51 -0
  182. package/thirdparty/v2_0/openapi3/paths/participants_Type_ID.yaml +169 -0
  183. package/thirdparty/v2_0/openapi3/paths/participants_Type_ID_error.yaml +52 -0
  184. package/thirdparty/v2_0/openapi3/paths/services_ServiceType.yaml +77 -0
  185. package/thirdparty/v2_0/openapi3/paths/services_ServiceType_error.yaml +49 -0
  186. package/thirdparty/v2_0/openapi3/paths/tppAccountRequest.yaml +49 -0
  187. package/thirdparty/v2_0/openapi3/paths/tppAccountRequest_ID.yaml +86 -0
  188. package/thirdparty/v2_0/openapi3/paths/tppAccountRequest_ID_error.yaml +48 -0
  189. package/thirdparty/v2_0/openapi3/paths/tppAccounts_ID.yaml +88 -0
  190. package/thirdparty/v2_0/openapi3/paths/tppAccounts_ID_error.yaml +48 -0
  191. package/thirdparty/v2_0/openapi3/paths/tppAuthorizations.yaml +51 -0
  192. package/thirdparty/v2_0/openapi3/paths/tppAuthorizations_ID.yaml +86 -0
  193. package/thirdparty/v2_0/openapi3/paths/tppAuthorizations_ID_error.yaml +55 -0
  194. package/thirdparty/v2_0/openapi3/paths/tppConsentRequests.yaml +48 -0
  195. package/thirdparty/v2_0/openapi3/paths/tppConsentRequests_ID.yaml +123 -0
  196. package/thirdparty/v2_0/openapi3/paths/tppConsentRequests_ID_error.yaml +48 -0
  197. package/thirdparty/v2_0/openapi3/paths/tppConsents.yaml +49 -0
  198. package/thirdparty/v2_0/openapi3/paths/tppConsents_ID.yaml +165 -0
  199. package/thirdparty/v2_0/openapi3/paths/tppConsents_ID_error.yaml +48 -0
  200. package/thirdparty/v2_0/openapi3/paths/tppTransactionRequests.yaml +48 -0
  201. package/thirdparty/v2_0/openapi3/paths/tppTransactionRequests_ID.yaml +83 -0
  202. package/thirdparty/v2_0/openapi3/paths/tppTransactionRequests_ID_error.yaml +52 -0
  203. package/thirdparty/v2_0/openapi3/paths/tppTransfers.yaml +47 -0
  204. package/thirdparty/v2_0/openapi3/paths/tppTransfers_ID.yaml +86 -0
  205. package/thirdparty/v2_0/openapi3/paths/tppTransfers_ID_error.yaml +52 -0
  206. package/thirdparty/v2_0/openapi3/paths/tppVerifications.yaml +49 -0
  207. package/thirdparty/v2_0/openapi3/paths/tppVerifications_ID.yaml +87 -0
  208. package/thirdparty/v2_0/openapi3/paths/tppVerifications_ID_error.yaml +49 -0
  209. package/thirdparty/v2_0/openapi3/thirdparty-dfsp-admin-api.template.yaml +53 -0
  210. package/thirdparty/v2_0/openapi3/thirdparty-dfsp-admin-api.yaml +2633 -0
  211. package/thirdparty/v2_0/openapi3/thirdparty-pisp-admin-api.template.yaml +57 -0
  212. package/thirdparty/v2_0/openapi3/thirdparty-pisp-admin-api.yaml +3103 -0
  213. package/tsconfig.build.json +4 -3
@@ -0,0 +1,3802 @@
1
+ openapi: 3.0.2
2
+ info:
3
+ version: '0.1'
4
+ title: Thirdparty Snippets
5
+ description: |
6
+ Based on sequence diagrams
7
+ (https://github.com/mojaloop/pisp/tree/main/docs/out).
8
+ This is a work in progress.
9
+ license:
10
+ name: TBD
11
+ servers:
12
+ - url: '{protocol}://hostname:<port>/switch/'
13
+ variables:
14
+ protocol:
15
+ enum:
16
+ - http
17
+ - https
18
+ default: https
19
+ paths:
20
+ /interface:
21
+ post:
22
+ description: Essential path to include schema definitions that are not used so that these definitions get included into the openapi-cli bundle api definition so that they get converted into typescript definitions.
23
+ operationId: test
24
+ requestBody:
25
+ content:
26
+ application/json:
27
+ schema:
28
+ oneOf:
29
+ - $ref: '#/components/schemas/ParticipantsIDPutResponse'
30
+ - $ref: '#/components/schemas/PartiesTypeIDPutResponse'
31
+ - $ref: '#/components/schemas/QuotesIDPutResponse'
32
+ - $ref: '#/components/schemas/ThirdpartyRequestsTransactionsIDPatchResponse'
33
+ - $ref: '#/components/schemas/AuthorizationResponseType'
34
+ - $ref: '#/components/schemas/ConsentStatusIssued'
35
+ - $ref: '#/components/schemas/IlpFulfilment'
36
+ - $ref: '#/components/schemas/Integer'
37
+ - $ref: '#/components/schemas/Note'
38
+ - $ref: '#/components/schemas/PartyIdInfoTPLink'
39
+ - $ref: '#/components/schemas/PartyResult'
40
+ - $ref: '#/components/schemas/ServiceType'
41
+ - $ref: '#/components/schemas/ParticipantsPostRequest'
42
+ - $ref: '#/components/schemas/QuotesPostRequest'
43
+ responses:
44
+ '200':
45
+ description: Ok
46
+ /accounts/{ID}:
47
+ parameters:
48
+ - $ref: '#/components/parameters/ID'
49
+ - $ref: '#/components/parameters/Content-Type'
50
+ - $ref: '#/components/parameters/Date'
51
+ - $ref: '#/components/parameters/X-Forwarded-For'
52
+ - $ref: '#/components/parameters/FSPIOP-Source'
53
+ - $ref: '#/components/parameters/FSPIOP-Destination'
54
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
55
+ - $ref: '#/components/parameters/FSPIOP-Signature'
56
+ - $ref: '#/components/parameters/FSPIOP-URI'
57
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
58
+ get:
59
+ operationId: GetAccountsByUserId
60
+ summary: GetAccountsByUserId
61
+ description: |
62
+ The HTTP request `GET /accounts/{ID}` is used to retrieve the list of potential accounts available for linking.
63
+ tags:
64
+ - accounts
65
+ - sampled
66
+ parameters:
67
+ - $ref: '#/components/parameters/Accept'
68
+ responses:
69
+ '202':
70
+ $ref: '#/components/responses/202'
71
+ '400':
72
+ $ref: '#/components/responses/400'
73
+ '401':
74
+ $ref: '#/components/responses/401'
75
+ '403':
76
+ $ref: '#/components/responses/403'
77
+ '404':
78
+ $ref: '#/components/responses/404'
79
+ '405':
80
+ $ref: '#/components/responses/405'
81
+ '406':
82
+ $ref: '#/components/responses/406'
83
+ '501':
84
+ $ref: '#/components/responses/501'
85
+ '503':
86
+ $ref: '#/components/responses/503'
87
+ put:
88
+ description: |
89
+ The HTTP request `PUT /accounts/{ID}` is used to return the list of potential accounts available for linking
90
+ operationId: UpdateAccountsByUserId
91
+ summary: UpdateAccountsByUserId
92
+ tags:
93
+ - accounts
94
+ - sampled
95
+ parameters:
96
+ - $ref: '#/components/parameters/Content-Length'
97
+ requestBody:
98
+ required: true
99
+ content:
100
+ application/json:
101
+ schema:
102
+ $ref: '#/components/schemas/AccountsIDPutResponse'
103
+ example:
104
+ - accountNickname: dfspa.user.nickname1
105
+ id: dfspa.username.1234
106
+ currency: ZAR
107
+ - accountNickname: dfspa.user.nickname2
108
+ id: dfspa.username.5678
109
+ currency: USD
110
+ responses:
111
+ '200':
112
+ $ref: '#/components/responses/200'
113
+ '400':
114
+ $ref: '#/components/responses/400'
115
+ '401':
116
+ $ref: '#/components/responses/401'
117
+ '403':
118
+ $ref: '#/components/responses/403'
119
+ '404':
120
+ $ref: '#/components/responses/404'
121
+ '405':
122
+ $ref: '#/components/responses/405'
123
+ '406':
124
+ $ref: '#/components/responses/406'
125
+ '501':
126
+ $ref: '#/components/responses/501'
127
+ '503':
128
+ $ref: '#/components/responses/503'
129
+ /accounts/{ID}/error:
130
+ parameters:
131
+ - $ref: '#/components/parameters/ID'
132
+ - $ref: '#/components/parameters/Content-Type'
133
+ - $ref: '#/components/parameters/Date'
134
+ - $ref: '#/components/parameters/X-Forwarded-For'
135
+ - $ref: '#/components/parameters/FSPIOP-Source'
136
+ - $ref: '#/components/parameters/FSPIOP-Destination'
137
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
138
+ - $ref: '#/components/parameters/FSPIOP-Signature'
139
+ - $ref: '#/components/parameters/FSPIOP-URI'
140
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
141
+ put:
142
+ description: |
143
+ The HTTP request `PUT /accounts/{ID}/error` is used to return error information
144
+ operationId: UpdateAccountsByUserIdError
145
+ summary: UpdateAccountsByUserIdError
146
+ tags:
147
+ - accounts
148
+ - sampled
149
+ parameters:
150
+ - $ref: '#/components/parameters/Content-Length'
151
+ requestBody:
152
+ description: Details of the error returned.
153
+ required: true
154
+ content:
155
+ application/json:
156
+ schema:
157
+ $ref: '#/components/schemas/ErrorInformationObject'
158
+ responses:
159
+ '200':
160
+ $ref: '#/components/responses/200'
161
+ '400':
162
+ $ref: '#/components/responses/400'
163
+ '401':
164
+ $ref: '#/components/responses/401'
165
+ '403':
166
+ $ref: '#/components/responses/403'
167
+ '404':
168
+ $ref: '#/components/responses/404'
169
+ '405':
170
+ $ref: '#/components/responses/405'
171
+ '406':
172
+ $ref: '#/components/responses/406'
173
+ '501':
174
+ $ref: '#/components/responses/501'
175
+ '503':
176
+ $ref: '#/components/responses/503'
177
+ /health:
178
+ get:
179
+ tags:
180
+ - health
181
+ responses:
182
+ '200':
183
+ $ref: '#/components/responses/200'
184
+ '400':
185
+ $ref: '#/components/responses/400'
186
+ '401':
187
+ $ref: '#/components/responses/401'
188
+ '403':
189
+ $ref: '#/components/responses/403'
190
+ '404':
191
+ $ref: '#/components/responses/404'
192
+ '405':
193
+ $ref: '#/components/responses/405'
194
+ '406':
195
+ $ref: '#/components/responses/406'
196
+ '501':
197
+ $ref: '#/components/responses/501'
198
+ '503':
199
+ $ref: '#/components/responses/503'
200
+ operationId: HealthGet
201
+ summary: Health check endpoint
202
+ description: The HTTP request GET /health is used to return the current status of the API.
203
+ /metrics:
204
+ get:
205
+ tags:
206
+ - health
207
+ responses:
208
+ '200':
209
+ $ref: '#/components/responses/200'
210
+ '400':
211
+ $ref: '#/components/responses/400'
212
+ '401':
213
+ $ref: '#/components/responses/401'
214
+ '403':
215
+ $ref: '#/components/responses/403'
216
+ '404':
217
+ $ref: '#/components/responses/404'
218
+ '405':
219
+ $ref: '#/components/responses/405'
220
+ '406':
221
+ $ref: '#/components/responses/406'
222
+ '501':
223
+ $ref: '#/components/responses/501'
224
+ '503':
225
+ $ref: '#/components/responses/503'
226
+ operationId: MetricsGet
227
+ summary: Prometheus metrics endpoint
228
+ description: The HTTP request GET /metrics is used to return metrics for the API.
229
+ /consentRequests:
230
+ parameters:
231
+ - $ref: '#/components/parameters/Content-Type'
232
+ - $ref: '#/components/parameters/Date'
233
+ - $ref: '#/components/parameters/X-Forwarded-For'
234
+ - $ref: '#/components/parameters/FSPIOP-Source'
235
+ - $ref: '#/components/parameters/FSPIOP-Destination'
236
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
237
+ - $ref: '#/components/parameters/FSPIOP-Signature'
238
+ - $ref: '#/components/parameters/FSPIOP-URI'
239
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
240
+ post:
241
+ tags:
242
+ - consentRequests
243
+ - sampled
244
+ operationId: CreateConsentRequest
245
+ summary: CreateConsentRequest
246
+ description: |
247
+ The HTTP request **POST /consentRequests** is used to request a DFSP to grant access to one or more
248
+ accounts owned by a customer of the DFSP for the PISP who sends the request.
249
+ parameters:
250
+ - $ref: '#/components/parameters/Accept'
251
+ - $ref: '#/components/parameters/Content-Length'
252
+ requestBody:
253
+ description: The consentRequest to create
254
+ required: true
255
+ content:
256
+ application/json:
257
+ schema:
258
+ $ref: '#/components/schemas/ConsentRequestsPostRequest'
259
+ responses:
260
+ '202':
261
+ $ref: '#/components/responses/202'
262
+ '400':
263
+ $ref: '#/components/responses/400'
264
+ '401':
265
+ $ref: '#/components/responses/401'
266
+ '403':
267
+ $ref: '#/components/responses/403'
268
+ '404':
269
+ $ref: '#/components/responses/404'
270
+ '405':
271
+ $ref: '#/components/responses/405'
272
+ '406':
273
+ $ref: '#/components/responses/406'
274
+ '501':
275
+ $ref: '#/components/responses/501'
276
+ '503':
277
+ $ref: '#/components/responses/503'
278
+ /consentRequests/{ID}:
279
+ parameters:
280
+ - $ref: '#/components/parameters/ID'
281
+ - $ref: '#/components/parameters/Content-Type'
282
+ - $ref: '#/components/parameters/Date'
283
+ - $ref: '#/components/parameters/X-Forwarded-For'
284
+ - $ref: '#/components/parameters/FSPIOP-Source'
285
+ - $ref: '#/components/parameters/FSPIOP-Destination'
286
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
287
+ - $ref: '#/components/parameters/FSPIOP-Signature'
288
+ - $ref: '#/components/parameters/FSPIOP-URI'
289
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
290
+ get:
291
+ operationId: GetConsentRequestsById
292
+ summary: GetConsentRequestsById
293
+ description: |
294
+ The HTTP request `GET /consentRequests/{ID}` is used to get information about a previously
295
+ requested consent. The *{ID}* in the URI should contain the consentRequestId that was assigned to the
296
+ request by the PISP when the PISP originated the request.
297
+ tags:
298
+ - consentRequests
299
+ - sampled
300
+ parameters:
301
+ - $ref: '#/components/parameters/Accept'
302
+ responses:
303
+ '202':
304
+ $ref: '#/components/responses/202'
305
+ '400':
306
+ $ref: '#/components/responses/400'
307
+ '401':
308
+ $ref: '#/components/responses/401'
309
+ '403':
310
+ $ref: '#/components/responses/403'
311
+ '404':
312
+ $ref: '#/components/responses/404'
313
+ '405':
314
+ $ref: '#/components/responses/405'
315
+ '406':
316
+ $ref: '#/components/responses/406'
317
+ '501':
318
+ $ref: '#/components/responses/501'
319
+ '503':
320
+ $ref: '#/components/responses/503'
321
+ put:
322
+ tags:
323
+ - consentRequests
324
+ - sampled
325
+ operationId: UpdateConsentRequest
326
+ summary: UpdateConsentRequest
327
+ description: |
328
+ A DFSP uses this callback to (1) inform the PISP that the consentRequest has been accepted,
329
+ and (2) communicate to the PISP which `authChannel` it should use to authenticate their user
330
+ with.
331
+
332
+ When a PISP requests a series of permissions from a DFSP on behalf of a DFSP’s customer, not all
333
+ the permissions requested may be granted by the DFSP. Conversely, the out-of-band authorization
334
+ process may result in additional privileges being granted by the account holder to the PISP. The
335
+ **PUT /consentRequests/**_{ID}_ resource returns the current state of the permissions relating to a
336
+ particular authorization request.
337
+ parameters:
338
+ - $ref: '#/components/parameters/Content-Length'
339
+ requestBody:
340
+ required: true
341
+ content:
342
+ application/json:
343
+ schema:
344
+ oneOf:
345
+ - $ref: '#/components/schemas/ConsentRequestsIDPutResponseWeb'
346
+ - $ref: '#/components/schemas/ConsentRequestsIDPutResponseOTP'
347
+ responses:
348
+ '202':
349
+ $ref: '#/components/responses/202'
350
+ '400':
351
+ $ref: '#/components/responses/400'
352
+ '401':
353
+ $ref: '#/components/responses/401'
354
+ '403':
355
+ $ref: '#/components/responses/403'
356
+ '404':
357
+ $ref: '#/components/responses/404'
358
+ '405':
359
+ $ref: '#/components/responses/405'
360
+ '406':
361
+ $ref: '#/components/responses/406'
362
+ '501':
363
+ $ref: '#/components/responses/501'
364
+ '503':
365
+ $ref: '#/components/responses/503'
366
+ patch:
367
+ tags:
368
+ - consentRequests
369
+ - sampled
370
+ operationId: PatchConsentRequest
371
+ summary: PatchConsentRequest
372
+ description: |
373
+ After the user completes an out-of-band authorization with the DFSP, the PISP will receive a token which they can use to prove to the DFSP that the user trusts this PISP.
374
+ parameters:
375
+ - $ref: '#/components/parameters/Accept'
376
+ - $ref: '#/components/parameters/Content-Length'
377
+ requestBody:
378
+ required: true
379
+ content:
380
+ application/json:
381
+ schema:
382
+ $ref: '#/components/schemas/ConsentRequestsIDPatchRequest'
383
+ responses:
384
+ '202':
385
+ $ref: '#/components/responses/202'
386
+ '400':
387
+ $ref: '#/components/responses/400'
388
+ '401':
389
+ $ref: '#/components/responses/401'
390
+ '403':
391
+ $ref: '#/components/responses/403'
392
+ '404':
393
+ $ref: '#/components/responses/404'
394
+ '405':
395
+ $ref: '#/components/responses/405'
396
+ '406':
397
+ $ref: '#/components/responses/406'
398
+ '501':
399
+ $ref: '#/components/responses/501'
400
+ '503':
401
+ $ref: '#/components/responses/503'
402
+ /consentRequests/{ID}/error:
403
+ parameters:
404
+ - $ref: '#/components/parameters/ID'
405
+ - $ref: '#/components/parameters/Content-Type'
406
+ - $ref: '#/components/parameters/Date'
407
+ - $ref: '#/components/parameters/X-Forwarded-For'
408
+ - $ref: '#/components/parameters/FSPIOP-Source'
409
+ - $ref: '#/components/parameters/FSPIOP-Destination'
410
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
411
+ - $ref: '#/components/parameters/FSPIOP-Signature'
412
+ - $ref: '#/components/parameters/FSPIOP-URI'
413
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
414
+ put:
415
+ tags:
416
+ - consentRequests
417
+ - sampled
418
+ operationId: NotifyErrorConsentRequests
419
+ summary: NotifyErrorConsentRequests
420
+ description: |
421
+ DFSP responds to the PISP if something went wrong with validating an OTP or secret.
422
+ parameters:
423
+ - $ref: '#/components/parameters/Content-Length'
424
+ requestBody:
425
+ description: Error information returned.
426
+ required: true
427
+ content:
428
+ application/json:
429
+ schema:
430
+ $ref: '#/components/schemas/ErrorInformationObject'
431
+ responses:
432
+ '200':
433
+ $ref: '#/components/responses/200'
434
+ '400':
435
+ $ref: '#/components/responses/400'
436
+ '401':
437
+ $ref: '#/components/responses/401'
438
+ '403':
439
+ $ref: '#/components/responses/403'
440
+ '404':
441
+ $ref: '#/components/responses/404'
442
+ '405':
443
+ $ref: '#/components/responses/405'
444
+ '406':
445
+ $ref: '#/components/responses/406'
446
+ '501':
447
+ $ref: '#/components/responses/501'
448
+ '503':
449
+ $ref: '#/components/responses/503'
450
+ /consents:
451
+ parameters:
452
+ - $ref: '#/components/parameters/Content-Type'
453
+ - $ref: '#/components/parameters/Date'
454
+ - $ref: '#/components/parameters/X-Forwarded-For'
455
+ - $ref: '#/components/parameters/FSPIOP-Source'
456
+ - $ref: '#/components/parameters/FSPIOP-Destination'
457
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
458
+ - $ref: '#/components/parameters/FSPIOP-Signature'
459
+ - $ref: '#/components/parameters/FSPIOP-URI'
460
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
461
+ post:
462
+ tags:
463
+ - consents
464
+ - sampled
465
+ operationId: PostConsents
466
+ summary: PostConsents
467
+ description: |
468
+ The **POST /consents** request is used to request the creation of a consent for interactions between a PISP and the DFSP who owns the account which a PISP’s customer wants to allow the PISP access to.
469
+ parameters:
470
+ - $ref: '#/components/parameters/Accept'
471
+ - $ref: '#/components/parameters/Content-Length'
472
+ requestBody:
473
+ required: true
474
+ content:
475
+ application/json:
476
+ schema:
477
+ oneOf:
478
+ - $ref: '#/components/schemas/ConsentsPostRequestAUTH'
479
+ - $ref: '#/components/schemas/ConsentsPostRequestPISP'
480
+ responses:
481
+ '202':
482
+ $ref: '#/components/responses/202'
483
+ '400':
484
+ $ref: '#/components/responses/400'
485
+ '401':
486
+ $ref: '#/components/responses/401'
487
+ '403':
488
+ $ref: '#/components/responses/403'
489
+ '404':
490
+ $ref: '#/components/responses/404'
491
+ '405':
492
+ $ref: '#/components/responses/405'
493
+ '406':
494
+ $ref: '#/components/responses/406'
495
+ '501':
496
+ $ref: '#/components/responses/501'
497
+ '503':
498
+ $ref: '#/components/responses/503'
499
+ /consents/{ID}:
500
+ parameters:
501
+ - $ref: '#/components/parameters/ID'
502
+ - $ref: '#/components/parameters/Content-Type'
503
+ - $ref: '#/components/parameters/Date'
504
+ - $ref: '#/components/parameters/X-Forwarded-For'
505
+ - $ref: '#/components/parameters/FSPIOP-Source'
506
+ - $ref: '#/components/parameters/FSPIOP-Destination'
507
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
508
+ - $ref: '#/components/parameters/FSPIOP-Signature'
509
+ - $ref: '#/components/parameters/FSPIOP-URI'
510
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
511
+ get:
512
+ description: |
513
+ The **GET /consents/**_{ID}_ resource allows a party to enquire after the status of a consent. The *{ID}* used in the URI of the request should be the consent request ID which was used to identify the consent when it was created.
514
+ tags:
515
+ - consents
516
+ operationId: GetConsent
517
+ summary: GetConsent
518
+ parameters:
519
+ - $ref: '#/components/parameters/Accept'
520
+ responses:
521
+ '202':
522
+ $ref: '#/components/responses/202'
523
+ '400':
524
+ $ref: '#/components/responses/400'
525
+ '401':
526
+ $ref: '#/components/responses/401'
527
+ '403':
528
+ $ref: '#/components/responses/403'
529
+ '404':
530
+ $ref: '#/components/responses/404'
531
+ '405':
532
+ $ref: '#/components/responses/405'
533
+ '406':
534
+ $ref: '#/components/responses/406'
535
+ '501':
536
+ $ref: '#/components/responses/501'
537
+ '503':
538
+ $ref: '#/components/responses/503'
539
+ patch:
540
+ description: |
541
+ The HTTP request `PATCH /consents/{ID}` is used
542
+
543
+ - In account linking in the Credential Registration phase. Used by a DFSP
544
+ to notify a PISP a credential has been verified and registered with an
545
+ Auth service.
546
+
547
+ - In account unlinking by a hub hosted auth service and by DFSPs
548
+ in non-hub hosted scenarios to notify participants of a consent being revoked.
549
+
550
+ Called by a `auth-service` to notify a PISP and DFSP of consent status in hub hosted scenario.
551
+ Called by a `DFSP` to notify a PISP of consent status in non-hub hosted scenario.
552
+ tags:
553
+ - consents
554
+ - sampled
555
+ operationId: PatchConsentByID
556
+ summary: PatchConsentByID
557
+ requestBody:
558
+ required: true
559
+ content:
560
+ application/json:
561
+ schema:
562
+ oneOf:
563
+ - $ref: '#/components/schemas/ConsentsIDPatchResponseVerified'
564
+ - $ref: '#/components/schemas/ConsentsIDPatchResponseRevoked'
565
+ parameters:
566
+ - $ref: '#/components/parameters/Accept'
567
+ - $ref: '#/components/parameters/Content-Length'
568
+ responses:
569
+ '200':
570
+ $ref: '#/components/responses/200'
571
+ '400':
572
+ $ref: '#/components/responses/400'
573
+ '401':
574
+ $ref: '#/components/responses/401'
575
+ '403':
576
+ $ref: '#/components/responses/403'
577
+ '404':
578
+ $ref: '#/components/responses/404'
579
+ '405':
580
+ $ref: '#/components/responses/405'
581
+ '406':
582
+ $ref: '#/components/responses/406'
583
+ '501':
584
+ $ref: '#/components/responses/501'
585
+ '503':
586
+ $ref: '#/components/responses/503'
587
+ put:
588
+ description: |
589
+ The HTTP request `PUT /consents/{ID}` is used by the PISP and Auth Service.
590
+
591
+ - Called by a `PISP` to after signing a challenge. Sent to an DFSP for verification.
592
+ - Called by a `auth-service` to notify a DFSP that a credential has been verified and registered.
593
+ tags:
594
+ - consents
595
+ - sampled
596
+ operationId: PutConsentByID
597
+ summary: PutConsentByID
598
+ requestBody:
599
+ required: true
600
+ content:
601
+ application/json:
602
+ schema:
603
+ oneOf:
604
+ - $ref: '#/components/schemas/ConsentsIDPutResponseSigned'
605
+ - $ref: '#/components/schemas/ConsentsIDPutResponseVerified'
606
+ parameters:
607
+ - $ref: '#/components/parameters/Content-Length'
608
+ responses:
609
+ '200':
610
+ $ref: '#/components/responses/200'
611
+ '202':
612
+ $ref: '#/components/responses/202'
613
+ '400':
614
+ $ref: '#/components/responses/400'
615
+ '401':
616
+ $ref: '#/components/responses/401'
617
+ '403':
618
+ $ref: '#/components/responses/403'
619
+ '404':
620
+ $ref: '#/components/responses/404'
621
+ '405':
622
+ $ref: '#/components/responses/405'
623
+ '406':
624
+ $ref: '#/components/responses/406'
625
+ '501':
626
+ $ref: '#/components/responses/501'
627
+ '503':
628
+ $ref: '#/components/responses/503'
629
+ delete:
630
+ description: |
631
+ Used by PISP, DFSP
632
+
633
+ The **DELETE /consents/**_{ID}_ request is used to request the revocation of a previously agreed consent.
634
+ For tracing and auditing purposes, the switch should be sure not to delete the consent physically;
635
+ instead, information relating to the consent should be marked as deleted and requests relating to the
636
+ consent should not be honoured.
637
+ operationId: DeleteConsentByID
638
+ parameters:
639
+ - $ref: '#/components/parameters/Accept'
640
+ tags:
641
+ - consents
642
+ responses:
643
+ '202':
644
+ $ref: '#/components/responses/202'
645
+ '400':
646
+ $ref: '#/components/responses/400'
647
+ '401':
648
+ $ref: '#/components/responses/401'
649
+ '403':
650
+ $ref: '#/components/responses/403'
651
+ '404':
652
+ $ref: '#/components/responses/404'
653
+ '405':
654
+ $ref: '#/components/responses/405'
655
+ '406':
656
+ $ref: '#/components/responses/406'
657
+ '501':
658
+ $ref: '#/components/responses/501'
659
+ '503':
660
+ $ref: '#/components/responses/503'
661
+ /consents/{ID}/error:
662
+ parameters:
663
+ - $ref: '#/components/parameters/ID'
664
+ - $ref: '#/components/parameters/Content-Type'
665
+ - $ref: '#/components/parameters/Date'
666
+ - $ref: '#/components/parameters/X-Forwarded-For'
667
+ - $ref: '#/components/parameters/FSPIOP-Source'
668
+ - $ref: '#/components/parameters/FSPIOP-Destination'
669
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
670
+ - $ref: '#/components/parameters/FSPIOP-Signature'
671
+ - $ref: '#/components/parameters/FSPIOP-URI'
672
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
673
+ put:
674
+ tags:
675
+ - consents
676
+ - sampled
677
+ operationId: NotifyErrorConsents
678
+ summary: NotifyErrorConsents
679
+ description: |
680
+ DFSP responds to the PISP if something went wrong with validating or storing consent.
681
+ parameters:
682
+ - $ref: '#/components/parameters/Content-Length'
683
+ requestBody:
684
+ description: Error information returned.
685
+ required: true
686
+ content:
687
+ application/json:
688
+ schema:
689
+ $ref: '#/components/schemas/ErrorInformationObject'
690
+ responses:
691
+ '200':
692
+ $ref: '#/components/responses/200'
693
+ '400':
694
+ $ref: '#/components/responses/400'
695
+ '401':
696
+ $ref: '#/components/responses/401'
697
+ '403':
698
+ $ref: '#/components/responses/403'
699
+ '404':
700
+ $ref: '#/components/responses/404'
701
+ '405':
702
+ $ref: '#/components/responses/405'
703
+ '406':
704
+ $ref: '#/components/responses/406'
705
+ '501':
706
+ $ref: '#/components/responses/501'
707
+ '503':
708
+ $ref: '#/components/responses/503'
709
+ /participants:
710
+ parameters:
711
+ - $ref: '#/components/parameters/Content-Type'
712
+ - $ref: '#/components/parameters/Date'
713
+ - $ref: '#/components/parameters/X-Forwarded-For'
714
+ - $ref: '#/components/parameters/FSPIOP-Source'
715
+ - $ref: '#/components/parameters/FSPIOP-Destination'
716
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
717
+ - $ref: '#/components/parameters/FSPIOP-Signature'
718
+ - $ref: '#/components/parameters/FSPIOP-URI'
719
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
720
+ post:
721
+ description: The HTTP request `POST /participants` is used to create information in the server regarding the provided list of identities. This request should be used for bulk creation of FSP information for more than one Party. The optional currency parameter should indicate that each provided Party supports the currency.
722
+ summary: Create bulk participant information
723
+ tags:
724
+ - participants
725
+ - sampled
726
+ operationId: Participants1
727
+ parameters:
728
+ - $ref: '#/components/parameters/Accept'
729
+ - $ref: '#/components/parameters/Content-Length'
730
+ requestBody:
731
+ description: Participant information to be created.
732
+ required: true
733
+ content:
734
+ application/json:
735
+ schema:
736
+ $ref: '#/components/schemas/ParticipantsPostRequest'
737
+ responses:
738
+ '202':
739
+ $ref: '#/components/responses/202'
740
+ '400':
741
+ $ref: '#/components/responses/400'
742
+ '401':
743
+ $ref: '#/components/responses/401'
744
+ '403':
745
+ $ref: '#/components/responses/403'
746
+ '404':
747
+ $ref: '#/components/responses/404'
748
+ '405':
749
+ $ref: '#/components/responses/405'
750
+ '406':
751
+ $ref: '#/components/responses/406'
752
+ '501':
753
+ $ref: '#/components/responses/501'
754
+ '503':
755
+ $ref: '#/components/responses/503'
756
+ /participants/{ID}:
757
+ parameters:
758
+ - $ref: '#/components/parameters/ID'
759
+ - $ref: '#/components/parameters/Content-Type'
760
+ - $ref: '#/components/parameters/Date'
761
+ - $ref: '#/components/parameters/X-Forwarded-For'
762
+ - $ref: '#/components/parameters/FSPIOP-Source'
763
+ - $ref: '#/components/parameters/FSPIOP-Destination'
764
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
765
+ - $ref: '#/components/parameters/FSPIOP-Signature'
766
+ - $ref: '#/components/parameters/FSPIOP-URI'
767
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
768
+ put:
769
+ description: The callback `PUT /participants/{ID}` is used to inform the client of the result of the creation of the provided list of identities.
770
+ summary: Return bulk participant information
771
+ tags:
772
+ - participants
773
+ - sampled
774
+ operationId: PutParticipantsByID
775
+ parameters:
776
+ - $ref: '#/components/parameters/Content-Length'
777
+ requestBody:
778
+ description: Participant information returned.
779
+ required: true
780
+ content:
781
+ application/json:
782
+ schema:
783
+ $ref: '#/components/schemas/ParticipantsIDPutResponse'
784
+ responses:
785
+ '200':
786
+ $ref: '#/components/responses/200'
787
+ '400':
788
+ $ref: '#/components/responses/400'
789
+ '401':
790
+ $ref: '#/components/responses/401'
791
+ '403':
792
+ $ref: '#/components/responses/403'
793
+ '404':
794
+ $ref: '#/components/responses/404'
795
+ '405':
796
+ $ref: '#/components/responses/405'
797
+ '406':
798
+ $ref: '#/components/responses/406'
799
+ '501':
800
+ $ref: '#/components/responses/501'
801
+ '503':
802
+ $ref: '#/components/responses/503'
803
+ /participants/{ID}/error:
804
+ parameters:
805
+ - $ref: '#/components/parameters/ID'
806
+ - $ref: '#/components/parameters/Content-Type'
807
+ - $ref: '#/components/parameters/Date'
808
+ - $ref: '#/components/parameters/X-Forwarded-For'
809
+ - $ref: '#/components/parameters/FSPIOP-Source'
810
+ - $ref: '#/components/parameters/FSPIOP-Destination'
811
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
812
+ - $ref: '#/components/parameters/FSPIOP-Signature'
813
+ - $ref: '#/components/parameters/FSPIOP-URI'
814
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
815
+ put:
816
+ description: If there is an error during FSP information creation in the server, the error callback `PUT /participants/{ID}/error` is used. The `{ID}` in the URI should contain the requestId that was used for the creation of the participant information.
817
+ summary: Return bulk participant information error
818
+ tags:
819
+ - participants
820
+ - sampled
821
+ operationId: PutParticipantsByIDAndError
822
+ parameters:
823
+ - $ref: '#/components/parameters/Content-Length'
824
+ requestBody:
825
+ description: Details of the error returned.
826
+ required: true
827
+ content:
828
+ application/json:
829
+ schema:
830
+ $ref: '#/components/schemas/ErrorInformationObject'
831
+ responses:
832
+ '200':
833
+ $ref: '#/components/responses/200'
834
+ '400':
835
+ $ref: '#/components/responses/400'
836
+ '401':
837
+ $ref: '#/components/responses/401'
838
+ '403':
839
+ $ref: '#/components/responses/403'
840
+ '404':
841
+ $ref: '#/components/responses/404'
842
+ '405':
843
+ $ref: '#/components/responses/405'
844
+ '406':
845
+ $ref: '#/components/responses/406'
846
+ '501':
847
+ $ref: '#/components/responses/501'
848
+ '503':
849
+ $ref: '#/components/responses/503'
850
+ /participants/{Type}/{ID}:
851
+ parameters:
852
+ - $ref: '#/components/parameters/Type'
853
+ - $ref: '#/components/parameters/ID'
854
+ - $ref: '#/components/parameters/Content-Type'
855
+ - $ref: '#/components/parameters/Date'
856
+ - $ref: '#/components/parameters/X-Forwarded-For'
857
+ - $ref: '#/components/parameters/FSPIOP-Source'
858
+ - $ref: '#/components/parameters/FSPIOP-Destination'
859
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
860
+ - $ref: '#/components/parameters/FSPIOP-Signature'
861
+ - $ref: '#/components/parameters/FSPIOP-URI'
862
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
863
+ post:
864
+ description: The HTTP request `POST /participants/{Type}/{ID}` (or `POST /participants/{Type}/{ID}/{SubId}`) is used to create information in the server regarding the provided identity, defined by `{Type}`, `{ID}`, and optionally `{SubId}` (for example, `POST /participants/MSISDN/123456789` or `POST /participants/BUSINESS/shoecompany/employee1`). An ExtensionList element has been added to this reqeust in version v1.1
865
+ summary: Create participant information
866
+ tags:
867
+ - participants
868
+ - sampled
869
+ operationId: ParticipantsByIDAndType
870
+ parameters:
871
+ - $ref: '#/components/parameters/Accept'
872
+ - $ref: '#/components/parameters/Content-Length'
873
+ requestBody:
874
+ description: Participant information to be created.
875
+ required: true
876
+ content:
877
+ application/json:
878
+ schema:
879
+ $ref: '#/components/schemas/ParticipantsTypeIDSubIDPostRequest'
880
+ responses:
881
+ '202':
882
+ $ref: '#/components/responses/202'
883
+ '400':
884
+ $ref: '#/components/responses/400'
885
+ '401':
886
+ $ref: '#/components/responses/401'
887
+ '403':
888
+ $ref: '#/components/responses/403'
889
+ '404':
890
+ $ref: '#/components/responses/404'
891
+ '405':
892
+ $ref: '#/components/responses/405'
893
+ '406':
894
+ $ref: '#/components/responses/406'
895
+ '501':
896
+ $ref: '#/components/responses/501'
897
+ '503':
898
+ $ref: '#/components/responses/503'
899
+ get:
900
+ description: The HTTP request `GET /participants/{Type}/{ID}` (or `GET /participants/{Type}/{ID}/{SubId}`) is used to find out in which FSP the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}`, is located (for example, `GET /participants/MSISDN/123456789`, or `GET /participants/BUSINESS/shoecompany/employee1`). This HTTP request should support a query string for filtering of currency. To use filtering of currency, the HTTP request `GET /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency.
901
+ summary: Look up participant information
902
+ tags:
903
+ - participants
904
+ operationId: ParticipantsByTypeAndID
905
+ parameters:
906
+ - $ref: '#/components/parameters/Accept'
907
+ responses:
908
+ '202':
909
+ $ref: '#/components/responses/202'
910
+ '400':
911
+ $ref: '#/components/responses/400'
912
+ '401':
913
+ $ref: '#/components/responses/401'
914
+ '403':
915
+ $ref: '#/components/responses/403'
916
+ '404':
917
+ $ref: '#/components/responses/404'
918
+ '405':
919
+ $ref: '#/components/responses/405'
920
+ '406':
921
+ $ref: '#/components/responses/406'
922
+ '501':
923
+ $ref: '#/components/responses/501'
924
+ '503':
925
+ $ref: '#/components/responses/503'
926
+ put:
927
+ description: The callback `PUT /participants/{Type}/{ID}` (or `PUT /participants/{Type}/{ID}/{SubId}`) is used to inform the client of a successful result of the lookup, creation, or deletion of the FSP information related to the Party. If the FSP information is deleted, the fspId element should be empty; otherwise the element should include the FSP information for the Party.
928
+ summary: Return participant information
929
+ tags:
930
+ - participants
931
+ operationId: ParticipantsByTypeAndID3
932
+ parameters:
933
+ - $ref: '#/components/parameters/Content-Length'
934
+ requestBody:
935
+ description: Participant information returned.
936
+ required: true
937
+ content:
938
+ application/json:
939
+ schema:
940
+ $ref: '#/components/schemas/ParticipantsTypeIDPutResponse'
941
+ responses:
942
+ '200':
943
+ $ref: '#/components/responses/200'
944
+ '400':
945
+ $ref: '#/components/responses/400'
946
+ '401':
947
+ $ref: '#/components/responses/401'
948
+ '403':
949
+ $ref: '#/components/responses/403'
950
+ '404':
951
+ $ref: '#/components/responses/404'
952
+ '405':
953
+ $ref: '#/components/responses/405'
954
+ '406':
955
+ $ref: '#/components/responses/406'
956
+ '501':
957
+ $ref: '#/components/responses/501'
958
+ '503':
959
+ $ref: '#/components/responses/503'
960
+ delete:
961
+ description: |-
962
+ The HTTP request `DELETE /participants/{Type}/{ID}` (or `DELETE /participants/{Type}/{ID}/{SubId}`) is used to delete information in the server regarding the provided identity, defined by `{Type}` and `{ID}`) (for example, `DELETE /participants/MSISDN/123456789`), and optionally `{SubId}`. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request `DELETE /participants/{Type}/{ID}?currency=XYZ` should be used, where `XYZ` is the requested currency.
963
+
964
+ **Note:** The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information.
965
+ summary: Delete participant information
966
+ tags:
967
+ - participants
968
+ operationId: ParticipantsByTypeAndID2
969
+ parameters:
970
+ - $ref: '#/components/parameters/Accept'
971
+ responses:
972
+ '202':
973
+ $ref: '#/components/responses/202'
974
+ '400':
975
+ $ref: '#/components/responses/400'
976
+ '401':
977
+ $ref: '#/components/responses/401'
978
+ '403':
979
+ $ref: '#/components/responses/403'
980
+ '404':
981
+ $ref: '#/components/responses/404'
982
+ '405':
983
+ $ref: '#/components/responses/405'
984
+ '406':
985
+ $ref: '#/components/responses/406'
986
+ '501':
987
+ $ref: '#/components/responses/501'
988
+ '503':
989
+ $ref: '#/components/responses/503'
990
+ /participants/{Type}/{ID}/error:
991
+ parameters:
992
+ - $ref: '#/components/parameters/Type'
993
+ - $ref: '#/components/parameters/ID'
994
+ - $ref: '#/components/parameters/Content-Type'
995
+ - $ref: '#/components/parameters/Date'
996
+ - $ref: '#/components/parameters/X-Forwarded-For'
997
+ - $ref: '#/components/parameters/FSPIOP-Source'
998
+ - $ref: '#/components/parameters/FSPIOP-Destination'
999
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1000
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1001
+ - $ref: '#/components/parameters/FSPIOP-URI'
1002
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1003
+ put:
1004
+ description: If the server is unable to find, create or delete the associated FSP of the provided identity, or another processing error occurred, the error callback `PUT /participants/{Type}/{ID}/error` (or `PUT /participants/{Type}/{ID}/{SubId}/error`) is used.
1005
+ summary: Return participant information error
1006
+ tags:
1007
+ - participants
1008
+ - sampled
1009
+ operationId: ParticipantsErrorByTypeAndID
1010
+ parameters:
1011
+ - $ref: '#/components/parameters/Content-Length'
1012
+ requestBody:
1013
+ description: Details of the error returned.
1014
+ required: true
1015
+ content:
1016
+ application/json:
1017
+ schema:
1018
+ $ref: '#/components/schemas/ErrorInformationObject'
1019
+ responses:
1020
+ '200':
1021
+ $ref: '#/components/responses/200'
1022
+ '400':
1023
+ $ref: '#/components/responses/400'
1024
+ '401':
1025
+ $ref: '#/components/responses/401'
1026
+ '403':
1027
+ $ref: '#/components/responses/403'
1028
+ '404':
1029
+ $ref: '#/components/responses/404'
1030
+ '405':
1031
+ $ref: '#/components/responses/405'
1032
+ '406':
1033
+ $ref: '#/components/responses/406'
1034
+ '501':
1035
+ $ref: '#/components/responses/501'
1036
+ '503':
1037
+ $ref: '#/components/responses/503'
1038
+ /services/{ServiceType}:
1039
+ parameters:
1040
+ - $ref: '#/components/parameters/ServiceType'
1041
+ - $ref: '#/components/parameters/Content-Type'
1042
+ - $ref: '#/components/parameters/Date'
1043
+ - $ref: '#/components/parameters/X-Forwarded-For'
1044
+ - $ref: '#/components/parameters/FSPIOP-Source'
1045
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1046
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1047
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1048
+ - $ref: '#/components/parameters/FSPIOP-URI'
1049
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1050
+ get:
1051
+ operationId: GetServicesByServiceType
1052
+ summary: GetServicesByServiceType
1053
+ description: |
1054
+ The HTTP request `GET /services/{ServiceType}` is used to retrieve the list of participants
1055
+ that support a specified service.
1056
+ parameters:
1057
+ - $ref: '#/components/parameters/Accept'
1058
+ tags:
1059
+ - services
1060
+ - sampled
1061
+ responses:
1062
+ '202':
1063
+ $ref: '#/components/responses/202'
1064
+ '400':
1065
+ $ref: '#/components/responses/400'
1066
+ '401':
1067
+ $ref: '#/components/responses/401'
1068
+ '403':
1069
+ $ref: '#/components/responses/403'
1070
+ '404':
1071
+ $ref: '#/components/responses/404'
1072
+ '405':
1073
+ $ref: '#/components/responses/405'
1074
+ '406':
1075
+ $ref: '#/components/responses/406'
1076
+ '501':
1077
+ $ref: '#/components/responses/501'
1078
+ '503':
1079
+ $ref: '#/components/responses/503'
1080
+ put:
1081
+ description: |
1082
+ The HTTP request `PUT /services/{ServiceType}` is used to return list of participants
1083
+ that support a specified service.
1084
+ operationId: PutServicesByServiceType
1085
+ summary: PutServicesByServiceType
1086
+ tags:
1087
+ - services
1088
+ - sampled
1089
+ parameters:
1090
+ - $ref: '#/components/parameters/Content-Length'
1091
+ requestBody:
1092
+ required: true
1093
+ content:
1094
+ application/json:
1095
+ schema:
1096
+ $ref: '#/components/schemas/ServicesServiceTypePutResponse'
1097
+ responses:
1098
+ '200':
1099
+ $ref: '#/components/responses/200'
1100
+ '400':
1101
+ $ref: '#/components/responses/400'
1102
+ '401':
1103
+ $ref: '#/components/responses/401'
1104
+ '403':
1105
+ $ref: '#/components/responses/403'
1106
+ '404':
1107
+ $ref: '#/components/responses/404'
1108
+ '405':
1109
+ $ref: '#/components/responses/405'
1110
+ '406':
1111
+ $ref: '#/components/responses/406'
1112
+ '501':
1113
+ $ref: '#/components/responses/501'
1114
+ '503':
1115
+ $ref: '#/components/responses/503'
1116
+ /services/{ServiceType}/error:
1117
+ parameters:
1118
+ - $ref: '#/components/parameters/ServiceType'
1119
+ - $ref: '#/components/parameters/Content-Type'
1120
+ - $ref: '#/components/parameters/Date'
1121
+ - $ref: '#/components/parameters/X-Forwarded-For'
1122
+ - $ref: '#/components/parameters/FSPIOP-Source'
1123
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1124
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1125
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1126
+ - $ref: '#/components/parameters/FSPIOP-URI'
1127
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1128
+ put:
1129
+ description: |
1130
+ The HTTP request `PUT /services/{ServiceType}/error` is used to return error information
1131
+ operationId: PutServicesByServiceTypeAndError
1132
+ summary: PutServicesByServiceTypeAndError
1133
+ tags:
1134
+ - services
1135
+ - sampled
1136
+ parameters:
1137
+ - $ref: '#/components/parameters/Content-Length'
1138
+ requestBody:
1139
+ description: Details of the error returned.
1140
+ required: true
1141
+ content:
1142
+ application/json:
1143
+ schema:
1144
+ $ref: '#/components/schemas/ErrorInformationObject'
1145
+ responses:
1146
+ '200':
1147
+ $ref: '#/components/responses/200'
1148
+ '400':
1149
+ $ref: '#/components/responses/400'
1150
+ '401':
1151
+ $ref: '#/components/responses/401'
1152
+ '403':
1153
+ $ref: '#/components/responses/403'
1154
+ '404':
1155
+ $ref: '#/components/responses/404'
1156
+ '405':
1157
+ $ref: '#/components/responses/405'
1158
+ '406':
1159
+ $ref: '#/components/responses/406'
1160
+ '501':
1161
+ $ref: '#/components/responses/501'
1162
+ '503':
1163
+ $ref: '#/components/responses/503'
1164
+ /thirdpartyRequests/transactions:
1165
+ parameters:
1166
+ - $ref: '#/components/parameters/Content-Type'
1167
+ - $ref: '#/components/parameters/Date'
1168
+ - $ref: '#/components/parameters/X-Forwarded-For'
1169
+ - $ref: '#/components/parameters/FSPIOP-Source'
1170
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1171
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1172
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1173
+ - $ref: '#/components/parameters/FSPIOP-URI'
1174
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1175
+ post:
1176
+ operationId: ThirdpartyRequestsTransactionsPost
1177
+ summary: ThirdpartyRequestsTransactionsPost
1178
+ description: The HTTP request POST `/thirdpartyRequests/transactions` is used by a PISP to initiate a 3rd party Transaction request with a DFSP
1179
+ tags:
1180
+ - thirdpartyRequests
1181
+ - sampled
1182
+ parameters:
1183
+ - $ref: '#/components/parameters/Accept'
1184
+ - $ref: '#/components/parameters/Content-Length'
1185
+ requestBody:
1186
+ description: Transaction request to be created.
1187
+ required: true
1188
+ content:
1189
+ application/json:
1190
+ schema:
1191
+ $ref: '#/components/schemas/ThirdpartyRequestsTransactionsPostRequest'
1192
+ responses:
1193
+ '202':
1194
+ $ref: '#/components/responses/202'
1195
+ '400':
1196
+ $ref: '#/components/responses/400'
1197
+ '401':
1198
+ $ref: '#/components/responses/401'
1199
+ '403':
1200
+ $ref: '#/components/responses/403'
1201
+ '404':
1202
+ $ref: '#/components/responses/404'
1203
+ '405':
1204
+ $ref: '#/components/responses/405'
1205
+ '406':
1206
+ $ref: '#/components/responses/406'
1207
+ '501':
1208
+ $ref: '#/components/responses/501'
1209
+ '503':
1210
+ $ref: '#/components/responses/503'
1211
+ /thirdpartyRequests/transactions/{ID}:
1212
+ parameters:
1213
+ - $ref: '#/components/parameters/ID'
1214
+ - $ref: '#/components/parameters/Content-Type'
1215
+ - $ref: '#/components/parameters/Date'
1216
+ - $ref: '#/components/parameters/X-Forwarded-For'
1217
+ - $ref: '#/components/parameters/FSPIOP-Source'
1218
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1219
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1220
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1221
+ - $ref: '#/components/parameters/FSPIOP-URI'
1222
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1223
+ get:
1224
+ tags:
1225
+ - thirdpartyRequests
1226
+ - sampled
1227
+ operationId: GetThirdpartyTransactionRequests
1228
+ summary: GetThirdpartyTransactionRequests
1229
+ description: |
1230
+ The HTTP request `GET /thirdpartyRequests/transactions/{ID}` is used to request the
1231
+ retrieval of a third party transaction request.
1232
+ parameters:
1233
+ - $ref: '#/components/parameters/Accept'
1234
+ responses:
1235
+ '202':
1236
+ $ref: '#/components/responses/202'
1237
+ '400':
1238
+ $ref: '#/components/responses/400'
1239
+ '401':
1240
+ $ref: '#/components/responses/401'
1241
+ '403':
1242
+ $ref: '#/components/responses/403'
1243
+ '404':
1244
+ $ref: '#/components/responses/404'
1245
+ '405':
1246
+ $ref: '#/components/responses/405'
1247
+ '406':
1248
+ $ref: '#/components/responses/406'
1249
+ '501':
1250
+ $ref: '#/components/responses/501'
1251
+ '503':
1252
+ $ref: '#/components/responses/503'
1253
+ put:
1254
+ tags:
1255
+ - thirdpartyRequests
1256
+ - sampled
1257
+ operationId: UpdateThirdPartyTransactionRequests
1258
+ summary: UpdateThirdPartyTransactionRequests
1259
+ description: |
1260
+ The HTTP request `PUT /thirdpartyRequests/transactions/{ID}` is used by the DFSP to inform the client about
1261
+ the status of a previously requested thirdparty transaction request.
1262
+
1263
+ Switch(Thirdparty API Adapter) -> PISP
1264
+ parameters:
1265
+ - $ref: '#/components/parameters/Content-Length'
1266
+ requestBody:
1267
+ required: true
1268
+ content:
1269
+ application/json:
1270
+ schema:
1271
+ $ref: '#/components/schemas/ThirdpartyRequestsTransactionsIDPutResponse'
1272
+ example:
1273
+ transactionRequestState: RECEIVED
1274
+ responses:
1275
+ '200':
1276
+ $ref: '#/components/responses/200'
1277
+ '400':
1278
+ $ref: '#/components/responses/400'
1279
+ '401':
1280
+ $ref: '#/components/responses/401'
1281
+ '403':
1282
+ $ref: '#/components/responses/403'
1283
+ '404':
1284
+ $ref: '#/components/responses/404'
1285
+ '405':
1286
+ $ref: '#/components/responses/405'
1287
+ '406':
1288
+ $ref: '#/components/responses/406'
1289
+ '501':
1290
+ $ref: '#/components/responses/501'
1291
+ '503':
1292
+ $ref: '#/components/responses/503'
1293
+ patch:
1294
+ operationId: NotifyThirdpartyTransactionRequests
1295
+ summary: NotifyThirdpartyTransactionRequests
1296
+ description: |
1297
+ The HTTP request `PATCH /thirdpartyRequests/transactions/{ID}` is used to
1298
+ notify a thirdparty of the outcome of a transaction request.
1299
+
1300
+ Switch(Thirdparty API Adapter) -> PISP
1301
+ tags:
1302
+ - thirdpartyRequests
1303
+ parameters:
1304
+ - $ref: '#/components/parameters/Accept'
1305
+ - $ref: '#/components/parameters/Content-Length'
1306
+ requestBody:
1307
+ required: true
1308
+ content:
1309
+ application/json:
1310
+ schema:
1311
+ $ref: '#/components/schemas/ThirdpartyRequestsTransactionsIDPatchResponse'
1312
+ example:
1313
+ transactionRequestState: ACCEPTED
1314
+ transactionState: COMMITTED
1315
+ responses:
1316
+ '200':
1317
+ $ref: '#/components/responses/200'
1318
+ '400':
1319
+ $ref: '#/components/responses/400'
1320
+ '401':
1321
+ $ref: '#/components/responses/401'
1322
+ '403':
1323
+ $ref: '#/components/responses/403'
1324
+ '404':
1325
+ $ref: '#/components/responses/404'
1326
+ '405':
1327
+ $ref: '#/components/responses/405'
1328
+ '406':
1329
+ $ref: '#/components/responses/406'
1330
+ '501':
1331
+ $ref: '#/components/responses/501'
1332
+ '503':
1333
+ $ref: '#/components/responses/503'
1334
+ /thirdpartyRequests/transactions/{ID}/error:
1335
+ parameters:
1336
+ - $ref: '#/components/parameters/ID'
1337
+ - $ref: '#/components/parameters/Content-Type'
1338
+ - $ref: '#/components/parameters/Date'
1339
+ - $ref: '#/components/parameters/X-Forwarded-For'
1340
+ - $ref: '#/components/parameters/FSPIOP-Source'
1341
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1342
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1343
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1344
+ - $ref: '#/components/parameters/FSPIOP-URI'
1345
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1346
+ put:
1347
+ tags:
1348
+ - thirdpartyRequests
1349
+ - sampled
1350
+ operationId: ThirdpartyTransactionRequestsError
1351
+ summary: ThirdpartyTransactionRequestsError
1352
+ description: |
1353
+ If the server is unable to find the transaction request, or another processing error occurs,
1354
+ the error callback `PUT /thirdpartyRequests/transactions/{ID}/error` is used.
1355
+ The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of
1356
+ the thirdparty transaction request.
1357
+ parameters:
1358
+ - $ref: '#/components/parameters/Content-Length'
1359
+ requestBody:
1360
+ description: Error information returned.
1361
+ required: true
1362
+ content:
1363
+ application/json:
1364
+ schema:
1365
+ $ref: '#/components/schemas/ErrorInformationObject'
1366
+ responses:
1367
+ '200':
1368
+ $ref: '#/components/responses/200'
1369
+ '400':
1370
+ $ref: '#/components/responses/400'
1371
+ '401':
1372
+ $ref: '#/components/responses/401'
1373
+ '403':
1374
+ $ref: '#/components/responses/403'
1375
+ '404':
1376
+ $ref: '#/components/responses/404'
1377
+ '405':
1378
+ $ref: '#/components/responses/405'
1379
+ '406':
1380
+ $ref: '#/components/responses/406'
1381
+ '501':
1382
+ $ref: '#/components/responses/501'
1383
+ '503':
1384
+ $ref: '#/components/responses/503'
1385
+ /thirdpartyRequests/authorizations:
1386
+ parameters:
1387
+ - $ref: '#/components/parameters/Content-Type'
1388
+ - $ref: '#/components/parameters/Date'
1389
+ - $ref: '#/components/parameters/X-Forwarded-For'
1390
+ - $ref: '#/components/parameters/FSPIOP-Source'
1391
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1392
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1393
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1394
+ - $ref: '#/components/parameters/FSPIOP-URI'
1395
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1396
+ post:
1397
+ description: |
1398
+ The HTTP request **POST /thirdpartyRequests/authorizations** is used to request the validation by a customer for the transfer described in the request.
1399
+ operationId: PostThirdpartyRequestsAuthorizations
1400
+ summary: PostThirdpartyRequestsAuthorizations
1401
+ tags:
1402
+ - authorizations
1403
+ - sampled
1404
+ parameters:
1405
+ - $ref: '#/components/parameters/Accept'
1406
+ - $ref: '#/components/parameters/Content-Length'
1407
+ requestBody:
1408
+ description: Authorization request details
1409
+ required: true
1410
+ content:
1411
+ application/json:
1412
+ schema:
1413
+ $ref: '#/components/schemas/ThirdpartyRequestsAuthorizationsPostRequest'
1414
+ responses:
1415
+ '202':
1416
+ $ref: '#/components/responses/202'
1417
+ '400':
1418
+ $ref: '#/components/responses/400'
1419
+ '401':
1420
+ $ref: '#/components/responses/401'
1421
+ '403':
1422
+ $ref: '#/components/responses/403'
1423
+ '404':
1424
+ $ref: '#/components/responses/404'
1425
+ '405':
1426
+ $ref: '#/components/responses/405'
1427
+ '406':
1428
+ $ref: '#/components/responses/406'
1429
+ '501':
1430
+ $ref: '#/components/responses/501'
1431
+ '503':
1432
+ $ref: '#/components/responses/503'
1433
+ /thirdpartyRequests/authorizations/{ID}:
1434
+ parameters:
1435
+ - $ref: '#/components/parameters/ID'
1436
+ - $ref: '#/components/parameters/Content-Type'
1437
+ - $ref: '#/components/parameters/Date'
1438
+ - $ref: '#/components/parameters/X-Forwarded-For'
1439
+ - $ref: '#/components/parameters/FSPIOP-Source'
1440
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1441
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1442
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1443
+ - $ref: '#/components/parameters/FSPIOP-URI'
1444
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1445
+ get:
1446
+ description: |
1447
+ The HTTP request **GET /thirdpartyRequests/authorizations/**_{ID}_ is used to get information relating
1448
+ to a previously issued authorization request. The *{ID}* in the request should match the
1449
+ `authorizationRequestId` which was given when the authorization request was created.
1450
+ operationId: GetThirdpartyRequestsAuthorizationsById
1451
+ summary: GetThirdpartyRequestsAuthorizationsById
1452
+ tags:
1453
+ - authorizations
1454
+ - sampled
1455
+ parameters:
1456
+ - $ref: '#/components/parameters/Accept'
1457
+ responses:
1458
+ '202':
1459
+ $ref: '#/components/responses/202'
1460
+ '400':
1461
+ $ref: '#/components/responses/400'
1462
+ '401':
1463
+ $ref: '#/components/responses/401'
1464
+ '403':
1465
+ $ref: '#/components/responses/403'
1466
+ '404':
1467
+ $ref: '#/components/responses/404'
1468
+ '405':
1469
+ $ref: '#/components/responses/405'
1470
+ '406':
1471
+ $ref: '#/components/responses/406'
1472
+ '501':
1473
+ $ref: '#/components/responses/501'
1474
+ '503':
1475
+ $ref: '#/components/responses/503'
1476
+ put:
1477
+ description: |
1478
+ After receiving the **POST /thirdpartyRequests/authorizations**, the PISP will present the details of the
1479
+ transaction to their user, and request that the client sign the `challenge` field using the credential
1480
+ they previously registered.
1481
+
1482
+ The signed challenge will be sent back by the PISP in **PUT /thirdpartyRequests/authorizations/**_{ID}_:
1483
+ operationId: PutThirdpartyRequestsAuthorizationsById
1484
+ summary: PutThirdpartyRequestsAuthorizationsById
1485
+ tags:
1486
+ - authorizations
1487
+ parameters:
1488
+ - $ref: '#/components/parameters/Content-Length'
1489
+ requestBody:
1490
+ description: Signed authorization object
1491
+ required: true
1492
+ content:
1493
+ application/json:
1494
+ schema:
1495
+ oneOf:
1496
+ - $ref: '#/components/schemas/ThirdpartyRequestsAuthorizationsIDPutResponseRejected'
1497
+ - $ref: '#/components/schemas/ThirdpartyRequestsAuthorizationsIDPutResponseFIDO'
1498
+ - $ref: '#/components/schemas/ThirdpartyRequestsAuthorizationsIDPutResponseGeneric'
1499
+ responses:
1500
+ '200':
1501
+ $ref: '#/components/responses/200'
1502
+ '400':
1503
+ $ref: '#/components/responses/400'
1504
+ '401':
1505
+ $ref: '#/components/responses/401'
1506
+ '403':
1507
+ $ref: '#/components/responses/403'
1508
+ '404':
1509
+ $ref: '#/components/responses/404'
1510
+ '405':
1511
+ $ref: '#/components/responses/405'
1512
+ '406':
1513
+ $ref: '#/components/responses/406'
1514
+ '501':
1515
+ $ref: '#/components/responses/501'
1516
+ '503':
1517
+ $ref: '#/components/responses/503'
1518
+ /thirdpartyRequests/authorizations/{ID}/error:
1519
+ parameters:
1520
+ - $ref: '#/components/parameters/ID'
1521
+ - $ref: '#/components/parameters/Content-Type'
1522
+ - $ref: '#/components/parameters/Date'
1523
+ - $ref: '#/components/parameters/X-Forwarded-For'
1524
+ - $ref: '#/components/parameters/FSPIOP-Source'
1525
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1526
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1527
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1528
+ - $ref: '#/components/parameters/FSPIOP-URI'
1529
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1530
+ put:
1531
+ tags:
1532
+ - thirdpartyRequests
1533
+ - sampled
1534
+ operationId: PutThirdpartyRequestsAuthorizationsByIdAndError
1535
+ summary: PutThirdpartyRequestsAuthorizationsByIdAndError
1536
+ description: |
1537
+ The HTTP request `PUT /thirdpartyRequests/authorizations/{ID}/error` is used by the DFSP or PISP to inform
1538
+ the other party that something went wrong with a Thirdparty Transaction Authorization Request.
1539
+
1540
+ The PISP may use this to tell the DFSP that the Thirdparty Transaction Authorization Request is invalid or doesn't
1541
+ match a `transactionRequestId`.
1542
+
1543
+ The DFSP may use this to tell the PISP that the signed challenge returned in `PUT /thirdpartyRequest/authorizations/{ID}`
1544
+ was invalid.
1545
+ parameters:
1546
+ - $ref: '#/components/parameters/Content-Length'
1547
+ requestBody:
1548
+ description: Error information returned.
1549
+ required: true
1550
+ content:
1551
+ application/json:
1552
+ schema:
1553
+ $ref: '#/components/schemas/ErrorInformationObject'
1554
+ responses:
1555
+ '200':
1556
+ $ref: '#/components/responses/200'
1557
+ '400':
1558
+ $ref: '#/components/responses/400'
1559
+ '401':
1560
+ $ref: '#/components/responses/401'
1561
+ '403':
1562
+ $ref: '#/components/responses/403'
1563
+ '404':
1564
+ $ref: '#/components/responses/404'
1565
+ '405':
1566
+ $ref: '#/components/responses/405'
1567
+ '406':
1568
+ $ref: '#/components/responses/406'
1569
+ '501':
1570
+ $ref: '#/components/responses/501'
1571
+ '503':
1572
+ $ref: '#/components/responses/503'
1573
+ /thirdpartyRequests/verifications:
1574
+ parameters:
1575
+ - $ref: '#/components/parameters/Content-Type'
1576
+ - $ref: '#/components/parameters/Date'
1577
+ - $ref: '#/components/parameters/X-Forwarded-For'
1578
+ - $ref: '#/components/parameters/FSPIOP-Source'
1579
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1580
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1581
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1582
+ - $ref: '#/components/parameters/FSPIOP-URI'
1583
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1584
+ post:
1585
+ tags:
1586
+ - thirdpartyRequests
1587
+ - sampled
1588
+ operationId: PostThirdpartyRequestsVerifications
1589
+ summary: PostThirdpartyRequestsVerifications
1590
+ description: |
1591
+ The HTTP request `POST /thirdpartyRequests/verifications` is used by the DFSP to verify a third party authorization.
1592
+ parameters:
1593
+ - $ref: '#/components/parameters/Accept'
1594
+ - $ref: '#/components/parameters/Content-Length'
1595
+ requestBody:
1596
+ description: The thirdparty authorization details to verify
1597
+ required: true
1598
+ content:
1599
+ application/json:
1600
+ schema:
1601
+ oneOf:
1602
+ - $ref: '#/components/schemas/ThirdpartyRequestsVerificationsPostRequestFIDO'
1603
+ - $ref: '#/components/schemas/ThirdpartyRequestsVerificationsPostRequestGeneric'
1604
+ responses:
1605
+ '202':
1606
+ $ref: '#/components/responses/202'
1607
+ '400':
1608
+ $ref: '#/components/responses/400'
1609
+ '401':
1610
+ $ref: '#/components/responses/401'
1611
+ '403':
1612
+ $ref: '#/components/responses/403'
1613
+ '404':
1614
+ $ref: '#/components/responses/404'
1615
+ '405':
1616
+ $ref: '#/components/responses/405'
1617
+ '406':
1618
+ $ref: '#/components/responses/406'
1619
+ '501':
1620
+ $ref: '#/components/responses/501'
1621
+ '503':
1622
+ $ref: '#/components/responses/503'
1623
+ /thirdpartyRequests/verifications/{ID}:
1624
+ parameters:
1625
+ - $ref: '#/components/parameters/ID'
1626
+ - $ref: '#/components/parameters/Content-Type'
1627
+ - $ref: '#/components/parameters/Date'
1628
+ - $ref: '#/components/parameters/X-Forwarded-For'
1629
+ - $ref: '#/components/parameters/FSPIOP-Source'
1630
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1631
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1632
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1633
+ - $ref: '#/components/parameters/FSPIOP-URI'
1634
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1635
+ get:
1636
+ tags:
1637
+ - thirdpartyRequests
1638
+ - sampled
1639
+ operationId: GetThirdpartyRequestsVerificationsById
1640
+ summary: GetThirdpartyRequestsVerificationsById
1641
+ description: |
1642
+ The HTTP request `/thirdpartyRequests/verifications/{ID}` is used to get
1643
+ information regarding a previously created or requested authorization. The *{ID}*
1644
+ in the URI should contain the verification request ID
1645
+ parameters:
1646
+ - $ref: '#/components/parameters/Accept'
1647
+ responses:
1648
+ '202':
1649
+ $ref: '#/components/responses/202'
1650
+ '400':
1651
+ $ref: '#/components/responses/400'
1652
+ '401':
1653
+ $ref: '#/components/responses/401'
1654
+ '403':
1655
+ $ref: '#/components/responses/403'
1656
+ '404':
1657
+ $ref: '#/components/responses/404'
1658
+ '405':
1659
+ $ref: '#/components/responses/405'
1660
+ '406':
1661
+ $ref: '#/components/responses/406'
1662
+ '501':
1663
+ $ref: '#/components/responses/501'
1664
+ '503':
1665
+ $ref: '#/components/responses/503'
1666
+ put:
1667
+ tags:
1668
+ - thirdpartyRequests
1669
+ - sampled
1670
+ operationId: PutThirdpartyRequestsVerificationsById
1671
+ summary: PutThirdpartyRequestsVerificationsById
1672
+ description: |-
1673
+ The HTTP request `PUT /thirdpartyRequests/verifications/{ID}` is used by the Auth-Service to inform the DFSP of a successful result in validating the verification of a Thirdparty Transaction Request.
1674
+ If the validation fails, the auth-service will send back `PUT /thirdpartyRequests/verifications/{ID}` with `authenticationResponse: 'REJECTED'`.
1675
+ In unplanned error cases the Auth-Service MUST use `PUT /thirdpartyRequests/verifications/{ID}/error`.
1676
+ parameters:
1677
+ - $ref: '#/components/parameters/Content-Length'
1678
+ requestBody:
1679
+ description: The result of validating the Thirdparty Transaction Request
1680
+ required: true
1681
+ content:
1682
+ application/json:
1683
+ schema:
1684
+ $ref: '#/components/schemas/ThirdpartyRequestsVerificationsIDPutResponse'
1685
+ example:
1686
+ authenticationResponse: VERIFIED
1687
+ responses:
1688
+ '200':
1689
+ $ref: '#/components/responses/200'
1690
+ '400':
1691
+ $ref: '#/components/responses/400'
1692
+ '401':
1693
+ $ref: '#/components/responses/401'
1694
+ '403':
1695
+ $ref: '#/components/responses/403'
1696
+ '404':
1697
+ $ref: '#/components/responses/404'
1698
+ '405':
1699
+ $ref: '#/components/responses/405'
1700
+ '406':
1701
+ $ref: '#/components/responses/406'
1702
+ '501':
1703
+ $ref: '#/components/responses/501'
1704
+ '503':
1705
+ $ref: '#/components/responses/503'
1706
+ /thirdpartyRequests/verifications/{ID}/error:
1707
+ parameters:
1708
+ - $ref: '#/components/parameters/ID'
1709
+ - $ref: '#/components/parameters/Content-Type'
1710
+ - $ref: '#/components/parameters/Date'
1711
+ - $ref: '#/components/parameters/X-Forwarded-For'
1712
+ - $ref: '#/components/parameters/FSPIOP-Source'
1713
+ - $ref: '#/components/parameters/FSPIOP-Destination'
1714
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
1715
+ - $ref: '#/components/parameters/FSPIOP-Signature'
1716
+ - $ref: '#/components/parameters/FSPIOP-URI'
1717
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
1718
+ put:
1719
+ tags:
1720
+ - thirdpartyRequests
1721
+ - sampled
1722
+ operationId: PutThirdpartyRequestsVerificationsByIdAndError
1723
+ summary: PutThirdpartyRequestsVerificationsByIdAndError
1724
+ description: |
1725
+ The HTTP request `PUT /thirdpartyRequests/verifications/{ID}/error` is used by the Auth-Service to inform
1726
+ the DFSP of a failure in validating or looking up the verification of a Thirdparty Transaction Request.
1727
+ parameters:
1728
+ - $ref: '#/components/parameters/Content-Length'
1729
+ requestBody:
1730
+ description: Error information returned.
1731
+ required: true
1732
+ content:
1733
+ application/json:
1734
+ schema:
1735
+ $ref: '#/components/schemas/ErrorInformationObject'
1736
+ responses:
1737
+ '200':
1738
+ $ref: '#/components/responses/200'
1739
+ '400':
1740
+ $ref: '#/components/responses/400'
1741
+ '401':
1742
+ $ref: '#/components/responses/401'
1743
+ '403':
1744
+ $ref: '#/components/responses/403'
1745
+ '404':
1746
+ $ref: '#/components/responses/404'
1747
+ '405':
1748
+ $ref: '#/components/responses/405'
1749
+ '406':
1750
+ $ref: '#/components/responses/406'
1751
+ '501':
1752
+ $ref: '#/components/responses/501'
1753
+ '503':
1754
+ $ref: '#/components/responses/503'
1755
+ components:
1756
+ schemas:
1757
+ PartyIdType:
1758
+ title: PartyIdType
1759
+ type: string
1760
+ enum:
1761
+ - MSISDN
1762
+ - EMAIL
1763
+ - PERSONAL_ID
1764
+ - BUSINESS
1765
+ - DEVICE
1766
+ - ACCOUNT_ID
1767
+ - IBAN
1768
+ - ALIAS
1769
+ - CONSENT
1770
+ - THIRD_PARTY_LINK
1771
+ description: |
1772
+ Below are the allowed values for the enumeration.
1773
+ - MSISDN - An MSISDN (Mobile Station International Subscriber Directory
1774
+ Number, that is, the phone number) is used as reference to a participant.
1775
+ The MSISDN identifier should be in international format according to the
1776
+ [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).
1777
+ Optionally, the MSISDN may be prefixed by a single plus sign, indicating the
1778
+ international prefix.
1779
+ - EMAIL - An email is used as reference to a
1780
+ participant. The format of the email should be according to the informational
1781
+ [RFC 3696](https://tools.ietf.org/html/rfc3696).
1782
+ - PERSONAL_ID - A personal identifier is used as reference to a participant.
1783
+ Examples of personal identification are passport number, birth certificate
1784
+ number, and national registration number. The identifier number is added in
1785
+ the PartyIdentifier element. The personal identifier type is added in the
1786
+ PartySubIdOrType element.
1787
+ - BUSINESS - A specific Business (for example, an organization or a company)
1788
+ is used as reference to a participant. The BUSINESS identifier can be in any
1789
+ format. To make a transaction connected to a specific username or bill number
1790
+ in a Business, the PartySubIdOrType element should be used.
1791
+ - DEVICE - A specific device (for example, a POS or ATM) ID connected to a
1792
+ specific business or organization is used as reference to a Party.
1793
+ For referencing a specific device under a specific business or organization,
1794
+ use the PartySubIdOrType element.
1795
+ - ACCOUNT_ID - A bank account number or FSP account ID should be used as
1796
+ reference to a participant. The ACCOUNT_ID identifier can be in any format,
1797
+ as formats can greatly differ depending on country and FSP.
1798
+ - IBAN - A bank account number or FSP account ID is used as reference to a
1799
+ participant. The IBAN identifier can consist of up to 34 alphanumeric
1800
+ characters and should be entered without whitespace.
1801
+ - ALIAS An alias is used as reference to a participant. The alias should be
1802
+ created in the FSP as an alternative reference to an account owner.
1803
+ Another example of an alias is a username in the FSP system.
1804
+ The ALIAS identifier can be in any format. It is also possible to use the
1805
+ PartySubIdOrType element for identifying an account under an Alias defined
1806
+ by the PartyIdentifier.
1807
+ - CONSENT - A Consent represents an agreement between a PISP, a Customer and
1808
+ a DFSP which allows the PISP permission to perform actions on behalf of the
1809
+ customer. A Consent has an authoritative source: either the DFSP who issued
1810
+ the Consent, or an Auth Service which administers the Consent.
1811
+ - THIRD_PARTY_LINK - A Third Party Link represents an agreement between a PISP,
1812
+ a DFSP, and a specific Customer's account at the DFSP. The content of the link
1813
+ is created by the DFSP at the time when it gives permission to the PISP for
1814
+ specific access to a given account.
1815
+ example: PERSONAL_ID
1816
+ PartyIdentifier:
1817
+ title: PartyIdentifier
1818
+ type: string
1819
+ minLength: 1
1820
+ maxLength: 128
1821
+ description: Identifier of the Party.
1822
+ example: '16135551212'
1823
+ PartySubIdOrType:
1824
+ title: PartySubIdOrType
1825
+ type: string
1826
+ minLength: 1
1827
+ maxLength: 128
1828
+ description: Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType.
1829
+ FspId:
1830
+ title: FspId
1831
+ type: string
1832
+ minLength: 1
1833
+ maxLength: 32
1834
+ description: FSP identifier.
1835
+ ExtensionKey:
1836
+ title: ExtensionKey
1837
+ type: string
1838
+ minLength: 1
1839
+ maxLength: 32
1840
+ description: Extension key.
1841
+ ExtensionValue:
1842
+ title: ExtensionValue
1843
+ type: string
1844
+ minLength: 1
1845
+ maxLength: 128
1846
+ description: Extension value.
1847
+ Extension:
1848
+ title: Extension
1849
+ type: object
1850
+ description: Data model for the complex type Extension.
1851
+ properties:
1852
+ key:
1853
+ $ref: '#/components/schemas/ExtensionKey'
1854
+ value:
1855
+ $ref: '#/components/schemas/ExtensionValue'
1856
+ required:
1857
+ - key
1858
+ - value
1859
+ ExtensionList:
1860
+ title: ExtensionList
1861
+ type: object
1862
+ description: Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.
1863
+ properties:
1864
+ extension:
1865
+ type: array
1866
+ items:
1867
+ $ref: '#/components/schemas/Extension'
1868
+ minItems: 1
1869
+ maxItems: 16
1870
+ description: Number of Extension elements.
1871
+ required:
1872
+ - extension
1873
+ PartyIdInfo:
1874
+ title: PartyIdInfo
1875
+ type: object
1876
+ description: Data model for the complex type PartyIdInfo.
1877
+ properties:
1878
+ partyIdType:
1879
+ $ref: '#/components/schemas/PartyIdType'
1880
+ partyIdentifier:
1881
+ $ref: '#/components/schemas/PartyIdentifier'
1882
+ partySubIdOrType:
1883
+ $ref: '#/components/schemas/PartySubIdOrType'
1884
+ fspId:
1885
+ $ref: '#/components/schemas/FspId'
1886
+ extensionList:
1887
+ $ref: '#/components/schemas/ExtensionList'
1888
+ required:
1889
+ - partyIdType
1890
+ - partyIdentifier
1891
+ ErrorCode:
1892
+ title: ErrorCode
1893
+ type: string
1894
+ pattern: ^[1-9]\d{3}$
1895
+ 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.
1896
+ example: '5100'
1897
+ ErrorDescription:
1898
+ title: ErrorDescription
1899
+ type: string
1900
+ minLength: 1
1901
+ maxLength: 128
1902
+ description: Error description string.
1903
+ ErrorInformation:
1904
+ title: ErrorInformation
1905
+ type: object
1906
+ description: Data model for the complex type ErrorInformation.
1907
+ properties:
1908
+ errorCode:
1909
+ $ref: '#/components/schemas/ErrorCode'
1910
+ errorDescription:
1911
+ $ref: '#/components/schemas/ErrorDescription'
1912
+ extensionList:
1913
+ $ref: '#/components/schemas/ExtensionList'
1914
+ required:
1915
+ - errorCode
1916
+ - errorDescription
1917
+ PartyResult:
1918
+ title: PartyResult
1919
+ type: object
1920
+ description: Data model for the complex type PartyResult.
1921
+ properties:
1922
+ partyId:
1923
+ $ref: '#/components/schemas/PartyIdInfo'
1924
+ errorInformation:
1925
+ $ref: '#/components/schemas/ErrorInformation'
1926
+ required:
1927
+ - partyId
1928
+ Currency:
1929
+ title: Currency
1930
+ 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.
1931
+ type: string
1932
+ minLength: 3
1933
+ maxLength: 3
1934
+ enum:
1935
+ - AED
1936
+ - AFN
1937
+ - ALL
1938
+ - AMD
1939
+ - ANG
1940
+ - AOA
1941
+ - ARS
1942
+ - AUD
1943
+ - AWG
1944
+ - AZN
1945
+ - BAM
1946
+ - BBD
1947
+ - BDT
1948
+ - BGN
1949
+ - BHD
1950
+ - BIF
1951
+ - BMD
1952
+ - BND
1953
+ - BOB
1954
+ - BRL
1955
+ - BSD
1956
+ - BTN
1957
+ - BWP
1958
+ - BYN
1959
+ - BZD
1960
+ - CAD
1961
+ - CDF
1962
+ - CHF
1963
+ - CLP
1964
+ - CNY
1965
+ - COP
1966
+ - CRC
1967
+ - CUC
1968
+ - CUP
1969
+ - CVE
1970
+ - CZK
1971
+ - DJF
1972
+ - DKK
1973
+ - DOP
1974
+ - DZD
1975
+ - EGP
1976
+ - ERN
1977
+ - ETB
1978
+ - EUR
1979
+ - FJD
1980
+ - FKP
1981
+ - GBP
1982
+ - GEL
1983
+ - GGP
1984
+ - GHS
1985
+ - GIP
1986
+ - GMD
1987
+ - GNF
1988
+ - GTQ
1989
+ - GYD
1990
+ - HKD
1991
+ - HNL
1992
+ - HRK
1993
+ - HTG
1994
+ - HUF
1995
+ - IDR
1996
+ - ILS
1997
+ - IMP
1998
+ - INR
1999
+ - IQD
2000
+ - IRR
2001
+ - ISK
2002
+ - JEP
2003
+ - JMD
2004
+ - JOD
2005
+ - JPY
2006
+ - KES
2007
+ - KGS
2008
+ - KHR
2009
+ - KMF
2010
+ - KPW
2011
+ - KRW
2012
+ - KWD
2013
+ - KYD
2014
+ - KZT
2015
+ - LAK
2016
+ - LBP
2017
+ - LKR
2018
+ - LRD
2019
+ - LSL
2020
+ - LYD
2021
+ - MAD
2022
+ - MDL
2023
+ - MGA
2024
+ - MKD
2025
+ - MMK
2026
+ - MNT
2027
+ - MOP
2028
+ - MRO
2029
+ - MUR
2030
+ - MVR
2031
+ - MWK
2032
+ - MXN
2033
+ - MYR
2034
+ - MZN
2035
+ - NAD
2036
+ - NGN
2037
+ - NIO
2038
+ - NOK
2039
+ - NPR
2040
+ - NZD
2041
+ - OMR
2042
+ - PAB
2043
+ - PEN
2044
+ - PGK
2045
+ - PHP
2046
+ - PKR
2047
+ - PLN
2048
+ - PYG
2049
+ - QAR
2050
+ - RON
2051
+ - RSD
2052
+ - RUB
2053
+ - RWF
2054
+ - SAR
2055
+ - SBD
2056
+ - SCR
2057
+ - SDG
2058
+ - SEK
2059
+ - SGD
2060
+ - SHP
2061
+ - SLL
2062
+ - SOS
2063
+ - SPL
2064
+ - SRD
2065
+ - STD
2066
+ - SVC
2067
+ - SYP
2068
+ - SZL
2069
+ - THB
2070
+ - TJS
2071
+ - TMT
2072
+ - TND
2073
+ - TOP
2074
+ - TRY
2075
+ - TTD
2076
+ - TVD
2077
+ - TWD
2078
+ - TZS
2079
+ - UAH
2080
+ - UGX
2081
+ - USD
2082
+ - UYU
2083
+ - UZS
2084
+ - VEF
2085
+ - VND
2086
+ - VUV
2087
+ - WST
2088
+ - XAF
2089
+ - XCD
2090
+ - XDR
2091
+ - XOF
2092
+ - XPF
2093
+ - XTS
2094
+ - XXX
2095
+ - YER
2096
+ - ZAR
2097
+ - ZMW
2098
+ - ZWD
2099
+ ParticipantsIDPutResponse:
2100
+ title: ParticipantsIDPutResponse
2101
+ type: object
2102
+ description: The object sent in the PUT /participants/{ID} callback.
2103
+ properties:
2104
+ partyList:
2105
+ type: array
2106
+ items:
2107
+ $ref: '#/components/schemas/PartyResult'
2108
+ minItems: 1
2109
+ maxItems: 10000
2110
+ description: List of PartyResult elements that were either created or failed to be created.
2111
+ currency:
2112
+ $ref: '#/components/schemas/Currency'
2113
+ required:
2114
+ - partyList
2115
+ MerchantClassificationCode:
2116
+ title: MerchantClassificationCode
2117
+ type: string
2118
+ pattern: ^[\d]{1,4}$
2119
+ 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.
2120
+ PartyName:
2121
+ title: PartyName
2122
+ type: string
2123
+ minLength: 1
2124
+ maxLength: 128
2125
+ description: Name of the Party. Could be a real name or a nickname.
2126
+ FirstName:
2127
+ title: FirstName
2128
+ type: string
2129
+ minLength: 1
2130
+ maxLength: 128
2131
+ pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$
2132
+ description: First name of the Party (Name Type).
2133
+ example: Henrik
2134
+ MiddleName:
2135
+ title: MiddleName
2136
+ type: string
2137
+ minLength: 1
2138
+ maxLength: 128
2139
+ pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$
2140
+ description: Middle name of the Party (Name Type).
2141
+ example: Johannes
2142
+ LastName:
2143
+ title: LastName
2144
+ type: string
2145
+ minLength: 1
2146
+ maxLength: 128
2147
+ pattern: ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control} .,''-]{1,128}$
2148
+ description: Last name of the Party (Name Type).
2149
+ example: Karlsson
2150
+ PartyComplexName:
2151
+ title: PartyComplexName
2152
+ type: object
2153
+ description: Data model for the complex type PartyComplexName.
2154
+ properties:
2155
+ firstName:
2156
+ $ref: '#/components/schemas/FirstName'
2157
+ middleName:
2158
+ $ref: '#/components/schemas/MiddleName'
2159
+ lastName:
2160
+ $ref: '#/components/schemas/LastName'
2161
+ DateOfBirth:
2162
+ title: DateofBirth (type Date)
2163
+ type: string
2164
+ 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)$
2165
+ description: Date of Birth of the Party.
2166
+ example: '1966-06-16'
2167
+ PartyPersonalInfo:
2168
+ title: PartyPersonalInfo
2169
+ type: object
2170
+ description: Data model for the complex type PartyPersonalInfo.
2171
+ properties:
2172
+ complexName:
2173
+ $ref: '#/components/schemas/PartyComplexName'
2174
+ dateOfBirth:
2175
+ $ref: '#/components/schemas/DateOfBirth'
2176
+ Party:
2177
+ title: Party
2178
+ type: object
2179
+ description: Data model for the complex type Party.
2180
+ properties:
2181
+ partyIdInfo:
2182
+ $ref: '#/components/schemas/PartyIdInfo'
2183
+ merchantClassificationCode:
2184
+ $ref: '#/components/schemas/MerchantClassificationCode'
2185
+ name:
2186
+ $ref: '#/components/schemas/PartyName'
2187
+ personalInfo:
2188
+ $ref: '#/components/schemas/PartyPersonalInfo'
2189
+ required:
2190
+ - partyIdInfo
2191
+ PartiesTypeIDPutResponse:
2192
+ title: PartiesTypeIDPutResponse
2193
+ type: object
2194
+ description: |
2195
+ The object sent in the PUT /parties/{Type}/{ID} callback.
2196
+
2197
+ This is a variant based on FSPIOP `PartiesTypeIDPutResponse` specification.
2198
+ Main difference being that it returns a `Party` with the newly added
2199
+ `accounts` property.
2200
+ properties:
2201
+ party:
2202
+ $ref: '#/components/schemas/Party'
2203
+ required:
2204
+ - party
2205
+ Amount:
2206
+ title: Amount
2207
+ type: string
2208
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
2209
+ 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.
2210
+ example: '123.45'
2211
+ Money:
2212
+ title: Money
2213
+ type: object
2214
+ description: Data model for the complex type Money.
2215
+ properties:
2216
+ currency:
2217
+ $ref: '#/components/schemas/Currency'
2218
+ amount:
2219
+ $ref: '#/components/schemas/Amount'
2220
+ required:
2221
+ - currency
2222
+ - amount
2223
+ DateTime:
2224
+ title: DateTime
2225
+ type: string
2226
+ 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)$
2227
+ 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).
2228
+ example: '2016-05-24T08:38:08.699-04:00'
2229
+ Latitude:
2230
+ title: Latitude
2231
+ type: string
2232
+ pattern: ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$
2233
+ description: The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.
2234
+ example: '+45.4215'
2235
+ Longitude:
2236
+ title: Longitude
2237
+ type: string
2238
+ pattern: ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
2239
+ description: The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons.
2240
+ example: '+75.6972'
2241
+ GeoCode:
2242
+ title: GeoCode
2243
+ type: object
2244
+ description: Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated.
2245
+ properties:
2246
+ latitude:
2247
+ $ref: '#/components/schemas/Latitude'
2248
+ longitude:
2249
+ $ref: '#/components/schemas/Longitude'
2250
+ required:
2251
+ - latitude
2252
+ - longitude
2253
+ IlpPacket:
2254
+ title: IlpPacket
2255
+ type: string
2256
+ pattern: ^[A-Za-z0-9-_]+[=]{0,2}$
2257
+ minLength: 1
2258
+ maxLength: 32768
2259
+ description: Information for recipient (transport layer information).
2260
+ example: AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA
2261
+ IlpCondition:
2262
+ title: IlpCondition
2263
+ type: string
2264
+ pattern: ^[A-Za-z0-9-_]{43}$
2265
+ maxLength: 48
2266
+ description: Condition that must be attached to the transfer by the Payer.
2267
+ QuotesIDPutResponse:
2268
+ title: QuotesIDPutResponse
2269
+ type: object
2270
+ description: The object sent in the PUT /quotes/{ID} callback.
2271
+ properties:
2272
+ transferAmount:
2273
+ $ref: '#/components/schemas/Money'
2274
+ payeeReceiveAmount:
2275
+ $ref: '#/components/schemas/Money'
2276
+ payeeFspFee:
2277
+ $ref: '#/components/schemas/Money'
2278
+ payeeFspCommission:
2279
+ $ref: '#/components/schemas/Money'
2280
+ expiration:
2281
+ $ref: '#/components/schemas/DateTime'
2282
+ geoCode:
2283
+ $ref: '#/components/schemas/GeoCode'
2284
+ ilpPacket:
2285
+ $ref: '#/components/schemas/IlpPacket'
2286
+ condition:
2287
+ $ref: '#/components/schemas/IlpCondition'
2288
+ extensionList:
2289
+ $ref: '#/components/schemas/ExtensionList'
2290
+ required:
2291
+ - transferAmount
2292
+ - expiration
2293
+ - ilpPacket
2294
+ - condition
2295
+ TransactionRequestState:
2296
+ title: TransactionRequestState
2297
+ type: string
2298
+ enum:
2299
+ - RECEIVED
2300
+ - PENDING
2301
+ - ACCEPTED
2302
+ - REJECTED
2303
+ description: |-
2304
+ Below are the allowed values for the enumeration.
2305
+ - RECEIVED - Payer FSP has received the transaction from the Payee FSP.
2306
+ - PENDING - Payer FSP has sent the transaction request to the Payer.
2307
+ - ACCEPTED - Payer has approved the transaction.
2308
+ - REJECTED - Payer has rejected the transaction.
2309
+ example: RECEIVED
2310
+ TransactionState:
2311
+ title: TransactionState
2312
+ type: string
2313
+ enum:
2314
+ - RECEIVED
2315
+ - PENDING
2316
+ - COMPLETED
2317
+ - REJECTED
2318
+ description: |-
2319
+ Below are the allowed values for the enumeration.
2320
+ - RECEIVED - Payee FSP has received the transaction from the Payer FSP.
2321
+ - PENDING - Payee FSP has validated the transaction.
2322
+ - COMPLETED - Payee FSP has successfully performed the transaction.
2323
+ - REJECTED - Payee FSP has failed to perform the transaction.
2324
+ example: RECEIVED
2325
+ ThirdpartyRequestsTransactionsIDPatchResponse:
2326
+ title: ThirdpartyRequestsTransactionsIDPatchResponse
2327
+ type: object
2328
+ description: |-
2329
+ Used by: DFSP
2330
+ The issuing PISP will expect a response to their request for a transfer which describes the finalized state of the requested transfer.
2331
+ This response will be given by a PATCH call on the /thirdpartyRequests/transactions/{ID} resource.
2332
+ The {ID} given in the query string should be the transactionRequestId which was originally used by the PISP to identify the transaction request.
2333
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31612-post-thirdpartyrequestsauthorizations
2334
+ properties:
2335
+ completedTimestamp:
2336
+ $ref: '#/components/schemas/DateTime'
2337
+ transactionRequestState:
2338
+ $ref: '#/components/schemas/TransactionRequestState'
2339
+ transactionState:
2340
+ $ref: '#/components/schemas/TransactionState'
2341
+ extensionList:
2342
+ $ref: '#/components/schemas/ExtensionList'
2343
+ required:
2344
+ - transactionRequestState
2345
+ - transactionState
2346
+ AuthorizationResponseType:
2347
+ title: AuthorizationResponseType
2348
+ description: |
2349
+ Enum containing authorization response information; if the customer
2350
+ accepted the terms of the transfer, or rejected the terms.
2351
+ type: string
2352
+ enum:
2353
+ - ACCEPTED
2354
+ - REJECTED
2355
+ ConsentStatusIssued:
2356
+ title: ConsentStatusIssued
2357
+ type: string
2358
+ enum:
2359
+ - ISSUED
2360
+ description: |-
2361
+ Allowed values for the enumeration ConsentStatus
2362
+ - ISSUED - The consent has been issued by the DFSP
2363
+ IlpFulfilment:
2364
+ title: IlpFulfilment
2365
+ type: string
2366
+ pattern: ^[A-Za-z0-9-_]{43}$
2367
+ maxLength: 48
2368
+ description: Fulfilment that must be attached to the transfer by the Payee.
2369
+ example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
2370
+ Integer:
2371
+ title: Integer
2372
+ type: string
2373
+ pattern: ^[1-9]\d*$
2374
+ description: The API data type Integer is a JSON String consisting of digits only. Negative numbers and leading zeroes are not allowed. The data type is always limited to a specific number of digits.
2375
+ Note:
2376
+ title: Note
2377
+ type: string
2378
+ minLength: 1
2379
+ maxLength: 128
2380
+ description: Memo assigned to transaction.
2381
+ example: Note sent to Payee.
2382
+ PartyIdTypeTPLink:
2383
+ title: PartyIdTypeTPLink
2384
+ type: string
2385
+ enum:
2386
+ - THIRD_PARTY_LINK
2387
+ description: |
2388
+ - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent
2389
+ example: PERSONAL_ID
2390
+ PartyIdInfoTPLink:
2391
+ title: PartyIdInfo
2392
+ type: object
2393
+ description: Data model for the complex type PartyIdInfo.
2394
+ properties:
2395
+ partyIdType:
2396
+ $ref: '#/components/schemas/PartyIdTypeTPLink'
2397
+ partyIdentifier:
2398
+ $ref: '#/components/schemas/PartyIdentifier'
2399
+ partySubIdOrType:
2400
+ $ref: '#/components/schemas/PartySubIdOrType'
2401
+ fspId:
2402
+ $ref: '#/components/schemas/FspId'
2403
+ extensionList:
2404
+ $ref: '#/components/schemas/ExtensionList'
2405
+ required:
2406
+ - partyIdType
2407
+ - partyIdentifier
2408
+ ServiceType:
2409
+ title: ServiceType
2410
+ type: string
2411
+ description: |-
2412
+ The ServiceType enumeration describes the types of role for which a DFSP may query using the /services resource.
2413
+ Below are the allowed values for the enumeration ServiceType - THIRD_PARTY_DFSP - Enum used to query for DFSPs that have thirdparty features enabled. - PISP - Enum used to query for PISPs. - AUTH_SERVICE - Participants which provide Authentication Services.
2414
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3229-servicetype
2415
+ enum:
2416
+ - THIRD_PARTY_DFSP
2417
+ - PISP
2418
+ - AUTH_SERVICE
2419
+ CorrelationId:
2420
+ title: CorrelationId
2421
+ type: string
2422
+ pattern: ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2423
+ 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 (‘-‘).
2424
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
2425
+ ParticipantsPostRequest:
2426
+ title: ParticipantsPostRequest
2427
+ type: object
2428
+ description: The object sent in the POST /participants request.
2429
+ properties:
2430
+ requestId:
2431
+ $ref: '#/components/schemas/CorrelationId'
2432
+ partyList:
2433
+ type: array
2434
+ items:
2435
+ $ref: '#/components/schemas/PartyIdInfo'
2436
+ minItems: 1
2437
+ maxItems: 10000
2438
+ description: |
2439
+ List of PartyIdInfo elements that the client would like to update
2440
+ or create FSP information about.
2441
+ currency:
2442
+ $ref: '#/components/schemas/Currency'
2443
+ required:
2444
+ - requestId
2445
+ - partyList
2446
+ AmountType:
2447
+ title: AmountType
2448
+ type: string
2449
+ enum:
2450
+ - SEND
2451
+ - RECEIVE
2452
+ description: |-
2453
+ Below are the allowed values for the enumeration AmountType.
2454
+ - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees.
2455
+ - 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.
2456
+ example: RECEIVE
2457
+ TransactionScenario:
2458
+ title: TransactionScenario
2459
+ type: string
2460
+ enum:
2461
+ - DEPOSIT
2462
+ - WITHDRAWAL
2463
+ - TRANSFER
2464
+ - PAYMENT
2465
+ - REFUND
2466
+ description: |-
2467
+ Below are the allowed values for the enumeration.
2468
+ - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User.
2469
+ - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer.
2470
+ - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction.
2471
+ - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on.
2472
+ - REFUND - Used for performing a refund of transaction.
2473
+ example: DEPOSIT
2474
+ TransactionSubScenario:
2475
+ title: TransactionSubScenario
2476
+ type: string
2477
+ pattern: ^[A-Z_]{1,32}$
2478
+ description: Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type).
2479
+ example: LOCALLY_DEFINED_SUBSCENARIO
2480
+ TransactionInitiator:
2481
+ title: TransactionInitiator
2482
+ type: string
2483
+ enum:
2484
+ - PAYER
2485
+ - PAYEE
2486
+ description: |-
2487
+ Below are the allowed values for the enumeration.
2488
+ - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way.
2489
+ - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device.
2490
+ example: PAYEE
2491
+ TransactionInitiatorType:
2492
+ title: TransactionInitiatorType
2493
+ type: string
2494
+ enum:
2495
+ - CONSUMER
2496
+ - AGENT
2497
+ - BUSINESS
2498
+ - DEVICE
2499
+ description: |-
2500
+ Below are the allowed values for the enumeration.
2501
+ - CONSUMER - Consumer is the initiator of the transaction.
2502
+ - AGENT - Agent is the initiator of the transaction.
2503
+ - BUSINESS - Business is the initiator of the transaction.
2504
+ - DEVICE - Device is the initiator of the transaction.
2505
+ example: CONSUMER
2506
+ RefundReason:
2507
+ title: RefundReason
2508
+ type: string
2509
+ minLength: 1
2510
+ maxLength: 128
2511
+ description: Reason for the refund.
2512
+ example: Free text indicating reason for the refund.
2513
+ Refund:
2514
+ title: Refund
2515
+ type: object
2516
+ description: Data model for the complex type Refund.
2517
+ properties:
2518
+ originalTransactionId:
2519
+ $ref: '#/components/schemas/CorrelationId'
2520
+ refundReason:
2521
+ $ref: '#/components/schemas/RefundReason'
2522
+ required:
2523
+ - originalTransactionId
2524
+ BalanceOfPayments:
2525
+ title: BalanceOfPayments
2526
+ type: string
2527
+ pattern: ^[1-9]\d{2}$
2528
+ description: (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed.
2529
+ example: '123'
2530
+ TransactionType:
2531
+ title: TransactionType
2532
+ type: object
2533
+ description: Data model for the complex type TransactionType.
2534
+ properties:
2535
+ scenario:
2536
+ $ref: '#/components/schemas/TransactionScenario'
2537
+ subScenario:
2538
+ $ref: '#/components/schemas/TransactionSubScenario'
2539
+ initiator:
2540
+ $ref: '#/components/schemas/TransactionInitiator'
2541
+ initiatorType:
2542
+ $ref: '#/components/schemas/TransactionInitiatorType'
2543
+ refundInfo:
2544
+ $ref: '#/components/schemas/Refund'
2545
+ balanceOfPayments:
2546
+ $ref: '#/components/schemas/BalanceOfPayments'
2547
+ required:
2548
+ - scenario
2549
+ - initiator
2550
+ - initiatorType
2551
+ QuotesPostRequest:
2552
+ title: QuotesPostRequest
2553
+ type: object
2554
+ description: The object sent in the POST /quotes request.
2555
+ properties:
2556
+ quoteId:
2557
+ $ref: '#/components/schemas/CorrelationId'
2558
+ description: Common ID between the FSPs for the quote object, decided by the Payer FSP. The ID should be reused for resends of the same quote for a transaction. A new ID should be generated for each new quote for a transaction.
2559
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
2560
+ transactionId:
2561
+ $ref: '#/components/schemas/CorrelationId'
2562
+ description: Common ID (decided by the Payer FSP) between the FSPs for the future transaction object. The actual transaction will be created as part of a successful transfer process. The ID should be reused for resends of the same quote for a transaction. A new ID should be generated for each new quote for a transaction.
2563
+ example: a8323bc6-c228-4df2-ae82-e5a997baf899
2564
+ transactionRequestId:
2565
+ $ref: '#/components/schemas/CorrelationId'
2566
+ description: Identifies an optional previously-sent transaction request.
2567
+ example: a8323bc6-c228-4df2-ae82-e5a997baf890
2568
+ payee:
2569
+ $ref: '#/components/schemas/Party'
2570
+ description: Information about the Payee in the proposed financial transaction.
2571
+ payer:
2572
+ $ref: '#/components/schemas/Party'
2573
+ description: Information about the Payer in the proposed financial transaction.
2574
+ amountType:
2575
+ $ref: '#/components/schemas/AmountType'
2576
+ description: SEND for send amount, RECEIVE for receive amount.
2577
+ example: SEND
2578
+ amount:
2579
+ $ref: '#/components/schemas/Money'
2580
+ description: Depending on amountType - If SEND - The amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. The amount is updated by each participating entity in the transaction. If RECEIVE - The amount the Payee should receive, that is, the amount that should be sent to the receiver exclusive any fees. The amount is not updated by any of the participating entities.
2581
+ fees:
2582
+ $ref: '#/components/schemas/Money'
2583
+ description: The fees in the transaction. The fees element should be empty if fees should be non-disclosed. The fees element should be non-empty if fees should be disclosed.
2584
+ transactionType:
2585
+ $ref: '#/components/schemas/TransactionType'
2586
+ description: Type of transaction for which the quote is requested.
2587
+ geoCode:
2588
+ $ref: '#/components/schemas/GeoCode'
2589
+ description: Longitude and Latitude of the initiating Party. Can be used to detect fraud.
2590
+ note:
2591
+ $ref: '#/components/schemas/Note'
2592
+ description: A memo that will be attached to the transaction.
2593
+ example: Free-text memo.
2594
+ expiration:
2595
+ $ref: '#/components/schemas/DateTime'
2596
+ description: Expiration is optional. It can be set to get a quick failure in case the peer FSP takes too long to respond. Also, it may be beneficial for Consumer, Agent, and Merchant to know that their request has a time limit.
2597
+ example: '2016-05-24T08:38:08.699-04:00'
2598
+ extensionList:
2599
+ $ref: '#/components/schemas/ExtensionList'
2600
+ description: Optional extension, specific to deployment.
2601
+ required:
2602
+ - quoteId
2603
+ - transactionId
2604
+ - payee
2605
+ - payer
2606
+ - amountType
2607
+ - amount
2608
+ - transactionType
2609
+ ErrorInformationResponse:
2610
+ title: ErrorInformationResponse
2611
+ type: object
2612
+ description: Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses.
2613
+ properties:
2614
+ errorInformation:
2615
+ $ref: '#/components/schemas/ErrorInformation'
2616
+ Name:
2617
+ title: Name
2618
+ type: string
2619
+ pattern: ^(?!\s*$)[\w .,'-]{1,128}$
2620
+ description: |-
2621
+ The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name.
2622
+
2623
+ Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ).
2624
+
2625
+ **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters.
2626
+ AccountAddress:
2627
+ title: AccountAddress
2628
+ type: string
2629
+ description: |-
2630
+ The AccountAddress data type is a variable length string with a maximum size of 1023 characters and consists of:
2631
+ Alphanumeric characters, upper or lower case. (Addresses are case-sensitive so that they can contain data encoded in formats such as base64url.)
2632
+ - Underscore (_) - Tilde (~) - Hyphen (-) - Period (.) Addresses MUST NOT end in a period (.) character
2633
+ An entity providing accounts to parties (i.e. a participant) can provide any value for an AccountAddress that is meaningful to that entity. It does not need to provide an address that makes the account identifiable outside the entity's domain.
2634
+ IMPORTANT: The policy for defining addresses and the life-cycle of these is at the discretion of the address space owner (the payer DFSP in this case).
2635
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3212-accountaddress
2636
+ pattern: ^([0-9A-Za-z_~\-\.]+[0-9A-Za-z_~\-])$
2637
+ minLength: 1
2638
+ maxLength: 1023
2639
+ Account:
2640
+ title: Account
2641
+ type: object
2642
+ description: |-
2643
+ Data model for the complex type Account.
2644
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3211-account
2645
+ properties:
2646
+ accountNickname:
2647
+ $ref: '#/components/schemas/Name'
2648
+ address:
2649
+ $ref: '#/components/schemas/AccountAddress'
2650
+ currency:
2651
+ $ref: '#/components/schemas/Currency'
2652
+ required:
2653
+ - accountNickname
2654
+ - address
2655
+ - currency
2656
+ AccountList:
2657
+ title: AccountList
2658
+ type: array
2659
+ description: |-
2660
+ The AccountList data model is used to hold information about the accounts that a party controls.
2661
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3213-accountlist
2662
+ items:
2663
+ $ref: '#/components/schemas/Account'
2664
+ minItems: 1
2665
+ maxItems: 256
2666
+ AccountsIDPutResponse:
2667
+ title: AccountsIDPutResponse
2668
+ type: object
2669
+ description: |-
2670
+ Callback and data model information for GET /accounts/{ID}:
2671
+ Callback - PUT /accounts/{ID} Error Callback - PUT /accounts/{ID}/error Data Model - Empty body
2672
+ The PUT /accounts/{ID} response is used to inform the requester of the result of a request for accounts information. The identifier ID given in the call are the values given in the original request.
2673
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31121--put-accountsid
2674
+ properties:
2675
+ accounts:
2676
+ $ref: '#/components/schemas/AccountList'
2677
+ extensionList:
2678
+ $ref: '#/components/schemas/ExtensionList'
2679
+ required:
2680
+ - accounts
2681
+ ErrorInformationObject:
2682
+ title: ErrorInformationObject
2683
+ type: object
2684
+ description: Data model for the complex type object that contains ErrorInformation.
2685
+ properties:
2686
+ errorInformation:
2687
+ $ref: '#/components/schemas/ErrorInformation'
2688
+ required:
2689
+ - errorInformation
2690
+ ScopeAction:
2691
+ title: ScopeAction
2692
+ type: string
2693
+ description: |
2694
+ The ScopeAction element contains an access type which a PISP can request
2695
+ from a DFSP, or which a DFSP can grant to a PISP.
2696
+ It must be a member of the appropriate enumeration.
2697
+
2698
+ - ACCOUNTS_GET_BALANCE: PISP can request a balance for the linked account
2699
+ - ACCOUNTS_TRANSFER: PISP can request a transfer of funds from the linked account in the DFSP
2700
+ - ACCOUNTS_STATEMENT: PISP can request a statement of individual transactions on a user's account
2701
+ enum:
2702
+ - ACCOUNTS_GET_BALANCE
2703
+ - ACCOUNTS_TRANSFER
2704
+ - ACCOUNTS_STATEMENT
2705
+ Scope:
2706
+ title: Scope
2707
+ type: object
2708
+ description: |-
2709
+ The Scope element contains an identifier defining, in the terms of a DFSP, an account on which access types can be requested or granted. It also defines the access types which are requested or granted.
2710
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32121-scope
2711
+ properties:
2712
+ address:
2713
+ $ref: '#/components/schemas/AccountAddress'
2714
+ actions:
2715
+ type: array
2716
+ minItems: 1
2717
+ maxItems: 32
2718
+ items:
2719
+ $ref: '#/components/schemas/ScopeAction'
2720
+ required:
2721
+ - address
2722
+ - actions
2723
+ ConsentRequestChannelType:
2724
+ title: ConsentRequestChannelType
2725
+ type: string
2726
+ enum:
2727
+ - WEB
2728
+ - OTP
2729
+ description: |
2730
+ The auth channel being used for the consent request.
2731
+ - WEB - DFSP can support authorization via a web-based login.
2732
+ - OTP - DFSP can support authorization via a One Time PIN.
2733
+ Uri:
2734
+ title: Uri
2735
+ type: string
2736
+ pattern: ^(([^:/?#]+):)?(//([^/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?
2737
+ minLength: 1
2738
+ maxLength: 512
2739
+ description: |
2740
+ The API data type Uri is a JSON string in a canonical format that is restricted by a regular expression for interoperability reasons.
2741
+ ConsentRequestsPostRequest:
2742
+ title: ConsentRequestsPostRequest
2743
+ type: object
2744
+ description: |-
2745
+ Used by: PISP
2746
+ The HTTP request POST /consentRequests is used to request a DFSP to grant access to one or more accounts owned by a customer of the DFSP for the PISP who sends the request.
2747
+ Callback and data model for POST /consentRequests:
2748
+ Callback: PUT /consentRequests/{ID} Error callback: PUT /consentRequests/{ID}/error Data model - see below url
2749
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31212-post-consentrequests
2750
+ properties:
2751
+ consentRequestId:
2752
+ $ref: '#/components/schemas/CorrelationId'
2753
+ userId:
2754
+ type: string
2755
+ description: The identifier used in the **GET /accounts/**_{ID}_. Used by the DFSP to correlate an account lookup to a `consentRequest`
2756
+ minLength: 1
2757
+ maxLength: 128
2758
+ scopes:
2759
+ type: array
2760
+ minLength: 1
2761
+ maxLength: 256
2762
+ items:
2763
+ $ref: '#/components/schemas/Scope'
2764
+ authChannels:
2765
+ type: array
2766
+ minLength: 1
2767
+ maxLength: 256
2768
+ items:
2769
+ $ref: '#/components/schemas/ConsentRequestChannelType'
2770
+ callbackUri:
2771
+ $ref: '#/components/schemas/Uri'
2772
+ extensionList:
2773
+ $ref: '#/components/schemas/ExtensionList'
2774
+ required:
2775
+ - consentRequestId
2776
+ - userId
2777
+ - scopes
2778
+ - authChannels
2779
+ - callbackUri
2780
+ ConsentRequestChannelTypeWeb:
2781
+ title: ConsentRequestChannelTypeWeb
2782
+ type: string
2783
+ enum:
2784
+ - WEB
2785
+ description: |
2786
+ The web auth channel being used for `PUT /consentRequest/{ID}` request.
2787
+ ConsentRequestsIDPutResponseWeb:
2788
+ title: ConsentRequestsIDPutResponseWeb
2789
+ type: object
2790
+ description: |
2791
+ The object sent in a `PUT /consentRequests/{ID}` request.
2792
+
2793
+ Schema used in the request consent phase of the account linking web flow,
2794
+ the result is the PISP being instructed on a specific URL where this
2795
+ supposed user should be redirected. This URL should be a place where
2796
+ the user can prove their identity (e.g., by logging in).
2797
+ properties:
2798
+ scopes:
2799
+ type: array
2800
+ minLength: 1
2801
+ maxLength: 256
2802
+ items:
2803
+ $ref: '#/components/schemas/Scope'
2804
+ authChannels:
2805
+ type: array
2806
+ minLength: 1
2807
+ maxLength: 1
2808
+ items:
2809
+ $ref: '#/components/schemas/ConsentRequestChannelTypeWeb'
2810
+ callbackUri:
2811
+ $ref: '#/components/schemas/Uri'
2812
+ authUri:
2813
+ $ref: '#/components/schemas/Uri'
2814
+ extensionList:
2815
+ $ref: '#/components/schemas/ExtensionList'
2816
+ required:
2817
+ - scopes
2818
+ - authChannels
2819
+ - callbackUri
2820
+ - authUri
2821
+ additionalProperties: false
2822
+ ConsentRequestChannelTypeOTP:
2823
+ title: ConsentRequestChannelTypeOTP
2824
+ type: string
2825
+ enum:
2826
+ - OTP
2827
+ description: |
2828
+ The OTP auth channel being used for `PUT /consentRequests/{ID}` request.
2829
+ ConsentRequestsIDPutResponseOTP:
2830
+ title: ConsentRequestsIDPutResponseOTP
2831
+ type: object
2832
+ description: |
2833
+ The object sent in a `PUT /consentRequests/{ID}` request.
2834
+
2835
+ Schema used in the request consent phase of the account linking OTP/SMS flow.
2836
+ properties:
2837
+ scopes:
2838
+ type: array
2839
+ minLength: 1
2840
+ maxLength: 256
2841
+ items:
2842
+ $ref: '#/components/schemas/Scope'
2843
+ authChannels:
2844
+ type: array
2845
+ minLength: 1
2846
+ maxLength: 1
2847
+ items:
2848
+ $ref: '#/components/schemas/ConsentRequestChannelTypeOTP'
2849
+ callbackUri:
2850
+ $ref: '#/components/schemas/Uri'
2851
+ extensionList:
2852
+ $ref: '#/components/schemas/ExtensionList'
2853
+ required:
2854
+ - scopes
2855
+ - authChannels
2856
+ additionalProperties: false
2857
+ BinaryString:
2858
+ type: string
2859
+ pattern: ^[A-Za-z0-9-_]+[=]{0,2}$
2860
+ description: The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters.
2861
+ ConsentRequestsIDPatchRequest:
2862
+ title: ConsentRequestsIDPatchRequest
2863
+ type: object
2864
+ description: |-
2865
+ Used by: PISP
2866
+ After the user completes an out-of-band authorization with the DFSP, the PISP will receive a token which they can use to prove to the DFSP that the user trusts this PISP.
2867
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31222-patch-consentrequestsid
2868
+ properties:
2869
+ authToken:
2870
+ $ref: '#/components/schemas/BinaryString'
2871
+ extensionList:
2872
+ $ref: '#/components/schemas/ExtensionList'
2873
+ required:
2874
+ - authToken
2875
+ CredentialType:
2876
+ title: CredentialType
2877
+ type: string
2878
+ enum:
2879
+ - FIDO
2880
+ - GENERIC
2881
+ description: |-
2882
+ The type of the Credential. - "FIDO" - The credential is based on a FIDO challenge. Its payload is a FIDOPublicKeyCredentialAttestation object. - "GENERIC" - The credential is based on a simple public key validation. Its payload is a GenericCredential object.
2883
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#3226-credentialtype
2884
+ CredentialStatusPending:
2885
+ title: CredentialStatusPending
2886
+ type: string
2887
+ enum:
2888
+ - PENDING
2889
+ description: |
2890
+ The status of the Credential.
2891
+ - "PENDING" - The credential has been created, but has not been verified
2892
+ GenericCredential:
2893
+ title: GenericCredential
2894
+ type: object
2895
+ description: |
2896
+ A publicKey + signature of a challenge for a generic public/private keypair.
2897
+ properties:
2898
+ publicKey:
2899
+ $ref: '#/components/schemas/BinaryString'
2900
+ signature:
2901
+ $ref: '#/components/schemas/BinaryString'
2902
+ required:
2903
+ - publicKey
2904
+ - signature
2905
+ additionalProperties: false
2906
+ FIDOPublicKeyCredentialAttestation:
2907
+ title: FIDOPublicKeyCredentialAttestation
2908
+ type: object
2909
+ description: |
2910
+ A data model representing a FIDO Attestation result. Derived from
2911
+ [`PublicKeyCredential` Interface](https://w3c.github.io/webauthn/#iface-pkcredential).
2912
+
2913
+ The `PublicKeyCredential` interface represents the below fields with
2914
+ a Type of Javascript [ArrayBuffer](https://heycam.github.io/webidl/#idl-ArrayBuffer).
2915
+ For this API, we represent ArrayBuffers as base64 encoded utf-8 strings.
2916
+ properties:
2917
+ id:
2918
+ type: string
2919
+ description: |
2920
+ credential id: identifier of pair of keys, base64 encoded
2921
+ https://w3c.github.io/webauthn/#ref-for-dom-credential-id
2922
+ minLength: 20
2923
+ maxLength: 118
2924
+ rawId:
2925
+ type: string
2926
+ description: |
2927
+ raw credential id: identifier of pair of keys, base64 encoded
2928
+ minLength: 20
2929
+ maxLength: 118
2930
+ response:
2931
+ type: object
2932
+ description: |
2933
+ AuthenticatorAttestationResponse
2934
+ properties:
2935
+ clientDataJSON:
2936
+ type: string
2937
+ description: |
2938
+ JSON string with client data
2939
+ minLength: 121
2940
+ maxLength: 512
2941
+ attestationObject:
2942
+ type: string
2943
+ description: |
2944
+ CBOR.encoded attestation object
2945
+ minLength: 306
2946
+ maxLength: 2048
2947
+ required:
2948
+ - clientDataJSON
2949
+ - attestationObject
2950
+ additionalProperties: false
2951
+ type:
2952
+ type: string
2953
+ description: response type, we need only the type of public-key
2954
+ enum:
2955
+ - public-key
2956
+ required:
2957
+ - id
2958
+ - response
2959
+ - type
2960
+ additionalProperties: false
2961
+ SignedCredential:
2962
+ title: SignedCredential
2963
+ type: object
2964
+ description: |
2965
+ A credential used to allow a user to prove their identity and access
2966
+ to an account with a DFSP.
2967
+
2968
+ SignedCredential is a special formatting of the credential to allow us to be
2969
+ more explicit about the `status` field - it should only ever be PENDING when
2970
+ updating a credential.
2971
+ properties:
2972
+ credentialType:
2973
+ $ref: '#/components/schemas/CredentialType'
2974
+ status:
2975
+ $ref: '#/components/schemas/CredentialStatusPending'
2976
+ genericPayload:
2977
+ $ref: '#/components/schemas/GenericCredential'
2978
+ fidoPayload:
2979
+ $ref: '#/components/schemas/FIDOPublicKeyCredentialAttestation'
2980
+ required:
2981
+ - credentialType
2982
+ - status
2983
+ additionalProperties: false
2984
+ ConsentStatus:
2985
+ title: ConsentStatus
2986
+ type: string
2987
+ enum:
2988
+ - ISSUED
2989
+ - REVOKED
2990
+ description: |-
2991
+ Allowed values for the enumeration ConsentStatus
2992
+ - ISSUED - The consent has been issued by the DFSP
2993
+ - REVOKED - The consent has been revoked
2994
+ ConsentsPostRequestAUTH:
2995
+ title: ConsentPostRequestAUTH
2996
+ type: object
2997
+ description: |
2998
+ The object sent in a `POST /consents` request to the Auth-Service
2999
+ by a DFSP to store registered Consent and credential
3000
+ properties:
3001
+ consentId:
3002
+ allOf:
3003
+ - $ref: '#/components/schemas/CorrelationId'
3004
+ description: |
3005
+ Common ID between the PISP and FSP for the Consent object
3006
+ determined by the DFSP who creates the Consent.
3007
+ consentRequestId:
3008
+ $ref: '#/components/schemas/CorrelationId'
3009
+ scopes:
3010
+ minLength: 1
3011
+ maxLength: 256
3012
+ type: array
3013
+ items:
3014
+ $ref: '#/components/schemas/Scope'
3015
+ credential:
3016
+ allOf:
3017
+ - $ref: '#/components/schemas/SignedCredential'
3018
+ status:
3019
+ $ref: '#/components/schemas/ConsentStatus'
3020
+ extensionList:
3021
+ $ref: '#/components/schemas/ExtensionList'
3022
+ required:
3023
+ - consentId
3024
+ - scopes
3025
+ - credential
3026
+ - status
3027
+ additionalProperties: false
3028
+ ConsentsPostRequestPISP:
3029
+ title: ConsentPostRequestPISP
3030
+ type: object
3031
+ description: |
3032
+ The provisional Consent object sent by the DFSP in `POST /consents`.
3033
+ properties:
3034
+ consentId:
3035
+ allOf:
3036
+ - $ref: '#/components/schemas/CorrelationId'
3037
+ description: |
3038
+ Common ID between the PISP and the Payer DFSP for the consent object. The ID
3039
+ should be reused for re-sends of the same consent. A new ID should be generated
3040
+ for each new consent.
3041
+ consentRequestId:
3042
+ allOf:
3043
+ - $ref: '#/components/schemas/CorrelationId'
3044
+ description: |
3045
+ The ID given to the original consent request on which this consent is based.
3046
+ scopes:
3047
+ type: array
3048
+ minLength: 1
3049
+ maxLength: 256
3050
+ items:
3051
+ $ref: '#/components/schemas/Scope'
3052
+ status:
3053
+ $ref: '#/components/schemas/ConsentStatus'
3054
+ extensionList:
3055
+ $ref: '#/components/schemas/ExtensionList'
3056
+ required:
3057
+ - consentId
3058
+ - consentRequestId
3059
+ - scopes
3060
+ - status
3061
+ ConsentsIDPutResponseSigned:
3062
+ title: ConsentsIDPutResponseSigned
3063
+ type: object
3064
+ description: |
3065
+ The HTTP request `PUT /consents/{ID}` is used by the PISP to update a Consent with a signed challenge and register a credential.
3066
+ Called by a `PISP` to after signing a challenge. Sent to a DFSP for verification.
3067
+ properties:
3068
+ status:
3069
+ $ref: '#/components/schemas/ConsentStatusIssued'
3070
+ scopes:
3071
+ type: array
3072
+ items:
3073
+ $ref: '#/components/schemas/Scope'
3074
+ credential:
3075
+ $ref: '#/components/schemas/SignedCredential'
3076
+ extensionList:
3077
+ $ref: '#/components/schemas/ExtensionList'
3078
+ required:
3079
+ - scopes
3080
+ - credential
3081
+ additionalProperties: false
3082
+ CredentialStatusVerified:
3083
+ title: CredentialStatusVerified
3084
+ type: string
3085
+ enum:
3086
+ - VERIFIED
3087
+ description: |
3088
+ The status of the Credential.
3089
+ - "VERIFIED" - The Credential is valid and verified.
3090
+ VerifiedCredential:
3091
+ title: VerifiedCredential
3092
+ type: object
3093
+ description: |
3094
+ A credential used to allow a user to prove their identity and access
3095
+ to an account with a DFSP.
3096
+
3097
+ VerifiedCredential is a special formatting of Credential to allow us to be
3098
+ more explicit about the `status` field - it should only ever be VERIFIED when
3099
+ updating a credential.
3100
+ properties:
3101
+ credentialType:
3102
+ $ref: '#/components/schemas/CredentialType'
3103
+ status:
3104
+ $ref: '#/components/schemas/CredentialStatusVerified'
3105
+ genericPayload:
3106
+ $ref: '#/components/schemas/GenericCredential'
3107
+ fidoPayload:
3108
+ $ref: '#/components/schemas/FIDOPublicKeyCredentialAttestation'
3109
+ required:
3110
+ - credentialType
3111
+ - status
3112
+ additionalProperties: false
3113
+ ConsentsIDPutResponseVerified:
3114
+ title: ConsentsIDPutResponseVerified
3115
+ type: object
3116
+ description: |
3117
+ The HTTP request `PUT /consents/{ID}` is used by the DFSP or Auth-Service to update a Consent object once it has been Verified.
3118
+ Called by a `auth-service` to notify a DFSP that a credential has been verified and registered.
3119
+ properties:
3120
+ status:
3121
+ $ref: '#/components/schemas/ConsentStatusIssued'
3122
+ scopes:
3123
+ type: array
3124
+ items:
3125
+ $ref: '#/components/schemas/Scope'
3126
+ credential:
3127
+ $ref: '#/components/schemas/VerifiedCredential'
3128
+ extensionList:
3129
+ $ref: '#/components/schemas/ExtensionList'
3130
+ required:
3131
+ - scopes
3132
+ - credential
3133
+ additionalProperties: false
3134
+ ConsentsIDPatchResponseVerified:
3135
+ title: ConsentsIDPatchResponseVerified
3136
+ description: |
3137
+ PATCH /consents/{ID} request object.
3138
+
3139
+ Sent by the DFSP to the PISP when a consent is issued and verified.
3140
+ Used in the "Register Credential" part of the Account linking flow.
3141
+ type: object
3142
+ properties:
3143
+ credential:
3144
+ type: object
3145
+ properties:
3146
+ status:
3147
+ $ref: '#/components/schemas/CredentialStatusVerified'
3148
+ required:
3149
+ - status
3150
+ extensionList:
3151
+ $ref: '#/components/schemas/ExtensionList'
3152
+ required:
3153
+ - credential
3154
+ ConsentStatusRevoked:
3155
+ title: ConsentStatusRevoked
3156
+ type: string
3157
+ enum:
3158
+ - REVOKED
3159
+ description: |-
3160
+ Allowed values for the enumeration ConsentStatus
3161
+ - REVOKED - The consent has been revoked
3162
+ ConsentsIDPatchResponseRevoked:
3163
+ title: ConsentsIDPatchResponseRevoked
3164
+ description: |
3165
+ PATCH /consents/{ID} request object.
3166
+
3167
+ Sent to both the PISP and DFSP when a consent is revoked.
3168
+ Used in the "Unlinking" part of the Account Unlinking flow.
3169
+ type: object
3170
+ properties:
3171
+ status:
3172
+ $ref: '#/components/schemas/ConsentStatusRevoked'
3173
+ revokedAt:
3174
+ $ref: '#/components/schemas/DateTime'
3175
+ extensionList:
3176
+ $ref: '#/components/schemas/ExtensionList'
3177
+ required:
3178
+ - status
3179
+ - revokedAt
3180
+ ParticipantsTypeIDPutResponse:
3181
+ title: ParticipantsTypeIDPutResponse
3182
+ type: object
3183
+ description: The object sent in the PUT /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} callbacks.
3184
+ properties:
3185
+ fspId:
3186
+ $ref: '#/components/schemas/FspId'
3187
+ ParticipantsTypeIDSubIDPostRequest:
3188
+ title: ParticipantsTypeIDSubIDPostRequest
3189
+ type: object
3190
+ description: The object sent in the POST /participants/{Type}/{ID}/{SubId} and /participants/{Type}/{ID} requests. An additional optional ExtensionList element has been added as part of v1.1 changes.
3191
+ properties:
3192
+ fspId:
3193
+ $ref: '#/components/schemas/FspId'
3194
+ currency:
3195
+ $ref: '#/components/schemas/Currency'
3196
+ extensionList:
3197
+ $ref: '#/components/schemas/ExtensionList'
3198
+ required:
3199
+ - fspId
3200
+ ServicesServiceTypePutResponse:
3201
+ title: ServicesServiceTypePutResponse
3202
+ type: object
3203
+ description: |-
3204
+ Used by: Switch
3205
+ The callback PUT /services/{ServiceType} is used to inform the client of a successful result of the service information lookup.
3206
+ Callback and data model information for GET /services/{ServiceType}:
3207
+ Callback - PUT /services/{ServiceType} Error Callback - PUT /services/{ServiceType}/error Data Model - Empty body
3208
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31531-put-servicesservicetype
3209
+ properties:
3210
+ providers:
3211
+ type: array
3212
+ minLength: 0
3213
+ maxLength: 256
3214
+ items:
3215
+ $ref: '#/components/schemas/FspId'
3216
+ extensionList:
3217
+ $ref: '#/components/schemas/ExtensionList'
3218
+ required:
3219
+ - providers
3220
+ ThirdpartyRequestsTransactionsPostRequest:
3221
+ title: ThirdpartyRequestsTransactionsPostRequest
3222
+ type: object
3223
+ description: |-
3224
+ Used by: PISP
3225
+ The HTTP request POST /thirdpartyRequests/transactions is used to request the creation of a transaction request on the server for the transfer described in the request.
3226
+ Callback and data model information for POST /thirdpartyRequests/transactions:
3227
+ Callback - PUT /thirdpartyRequests/transactions/{ID} Error Callback - PUT /thirdpartyRequests/transactions/{ID}/error Data Model - See link below
3228
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31712-post-thirdpartyrequeststransactions
3229
+ properties:
3230
+ transactionRequestId:
3231
+ allOf:
3232
+ - $ref: '#/components/schemas/CorrelationId'
3233
+ description: |
3234
+ Common ID between the PISP and the Payer DFSP for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request.
3235
+ payee:
3236
+ allOf:
3237
+ - $ref: '#/components/schemas/Party'
3238
+ description: Information about the Payee in the proposed financial transaction.
3239
+ payer:
3240
+ allOf:
3241
+ - $ref: '#/components/schemas/PartyIdInfo'
3242
+ description: Information about the Payer in the proposed financial transaction.
3243
+ amountType:
3244
+ allOf:
3245
+ - $ref: '#/components/schemas/AmountType'
3246
+ description: SEND for sendAmount, RECEIVE for receiveAmount.
3247
+ amount:
3248
+ allOf:
3249
+ - $ref: '#/components/schemas/Money'
3250
+ description: Requested amount to be transferred from the Payer to Payee.
3251
+ transactionType:
3252
+ allOf:
3253
+ - $ref: '#/components/schemas/TransactionType'
3254
+ description: Type of transaction.
3255
+ note:
3256
+ type: string
3257
+ minLength: 1
3258
+ maxLength: 256
3259
+ description: A memo that will be attached to the transaction.
3260
+ expiration:
3261
+ type: string
3262
+ description: |
3263
+ Date and time until when the transaction request is valid. It can be set to get a quick failure in case the peer FSP takes too long to respond.
3264
+ example: '2016-05-24T08:38:08.699-04:00'
3265
+ extensionList:
3266
+ $ref: '#/components/schemas/ExtensionList'
3267
+ required:
3268
+ - transactionRequestId
3269
+ - payee
3270
+ - payer
3271
+ - amountType
3272
+ - amount
3273
+ - transactionType
3274
+ - expiration
3275
+ ThirdpartyRequestsTransactionsIDPutResponse:
3276
+ title: ThirdpartyRequestsTransactionsIDPutResponse
3277
+ type: object
3278
+ description: |-
3279
+ Used by: DFSP
3280
+ After a PISP requests the creation of a Third Party Transaction request (POST /thirdpartyRequests/transactions) or the status of a previously created Third Party Transaction request (GET /thirdpartyRequests/transactions/{ID}), the DFSP will send this callback.
3281
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31721-put-thirdpartyrequeststransactionsid
3282
+ properties:
3283
+ transactionId:
3284
+ $ref: '#/components/schemas/CorrelationId'
3285
+ transactionRequestState:
3286
+ $ref: '#/components/schemas/TransactionRequestState'
3287
+ extensionList:
3288
+ $ref: '#/components/schemas/ExtensionList'
3289
+ required:
3290
+ - transactionRequestState
3291
+ ThirdpartyRequestsAuthorizationsPostRequest:
3292
+ title: ThirdpartyRequestsAuthorizationsPostRequest
3293
+ description: |-
3294
+ Used by: DFSP
3295
+ The HTTP request POST /thirdpartyRequests/authorizations is used to request the validation by a customer for the transfer described in the request.
3296
+ Callback and data model information for POST /thirdpartyRequests/authorizations:
3297
+ Callback - PUT /thirdpartyRequests/authorizations/{ID} Error Callback - PUT /thirdpartyRequests/authorizations/{ID}/error Data Model - See below url
3298
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31612-post-thirdpartyrequestsauthorizations
3299
+ type: object
3300
+ properties:
3301
+ authorizationRequestId:
3302
+ $ref: '#/components/schemas/CorrelationId'
3303
+ transactionRequestId:
3304
+ $ref: '#/components/schemas/CorrelationId'
3305
+ challenge:
3306
+ type: string
3307
+ description: The challenge that the PISP's client is to sign
3308
+ transferAmount:
3309
+ allOf:
3310
+ - $ref: '#/components/schemas/Money'
3311
+ description: The amount that will be debited from the sending customer's account as a consequence of the transaction.
3312
+ payeeReceiveAmount:
3313
+ allOf:
3314
+ - $ref: '#/components/schemas/Money'
3315
+ description: The amount that will be credited to the receiving customer's account as a consequence of the transaction.
3316
+ fees:
3317
+ allOf:
3318
+ - $ref: '#/components/schemas/Money'
3319
+ description: The amount of fees that the paying customer will be charged as part of the transaction.
3320
+ payer:
3321
+ allOf:
3322
+ - $ref: '#/components/schemas/PartyIdInfo'
3323
+ description: Information about the Payer type, id, sub-type/id, FSP Id in the proposed financial transaction.
3324
+ payee:
3325
+ allOf:
3326
+ - $ref: '#/components/schemas/Party'
3327
+ description: Information about the Payee in the proposed financial transaction.
3328
+ transactionType:
3329
+ $ref: '#/components/schemas/TransactionType'
3330
+ expiration:
3331
+ allOf:
3332
+ - $ref: '#/components/schemas/DateTime'
3333
+ description: The time by which the transfer must be completed, set by the payee DFSP.
3334
+ extensionList:
3335
+ $ref: '#/components/schemas/ExtensionList'
3336
+ required:
3337
+ - authorizationRequestId
3338
+ - transactionRequestId
3339
+ - challenge
3340
+ - transferAmount
3341
+ - payeeReceiveAmount
3342
+ - fees
3343
+ - payer
3344
+ - payee
3345
+ - transactionType
3346
+ - expiration
3347
+ additionalProperties: false
3348
+ AuthorizationResponseTypeRejected:
3349
+ title: AuthorizationResponseTypeRejected
3350
+ description: |
3351
+ The customer rejected the terms of the transfer.
3352
+ type: string
3353
+ enum:
3354
+ - REJECTED
3355
+ ThirdpartyRequestsAuthorizationsIDPutResponseRejected:
3356
+ title: ThirdpartyRequestsAuthorizationsIDPutResponseRejected
3357
+ type: object
3358
+ description: The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback.
3359
+ properties:
3360
+ responseType:
3361
+ $ref: '#/components/schemas/AuthorizationResponseTypeRejected'
3362
+ extensionList:
3363
+ $ref: '#/components/schemas/ExtensionList'
3364
+ required:
3365
+ - responseType
3366
+ AuthorizationResponseTypeAccepted:
3367
+ title: AuthorizationResponseType
3368
+ description: |
3369
+ The customer accepted the terms of the transfer
3370
+ type: string
3371
+ enum:
3372
+ - ACCEPTED
3373
+ SignedPayloadTypeFIDO:
3374
+ title: SignedPayloadTypeFIDO
3375
+ type: string
3376
+ enum:
3377
+ - FIDO
3378
+ description: Describes a challenge that has been signed with FIDO Attestation flows
3379
+ FIDOPublicKeyCredentialAssertion:
3380
+ title: FIDOPublicKeyCredentialAssertion
3381
+ type: object
3382
+ description: |
3383
+ A data model representing a FIDO Assertion result.
3384
+ Derived from PublicKeyCredential Interface in WebAuthN.
3385
+
3386
+ The PublicKeyCredential interface represents the below fields with a Type of
3387
+ Javascript ArrayBuffer.
3388
+ For this API, we represent ArrayBuffers as base64 encoded utf-8 strings.
3389
+
3390
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#32128-fidopublickeycredentialassertion
3391
+ properties:
3392
+ id:
3393
+ type: string
3394
+ description: |
3395
+ credential id: identifier of pair of keys, base64 encoded
3396
+ https://w3c.github.io/webauthn/#ref-for-dom-credential-id
3397
+ minLength: 20
3398
+ maxLength: 118
3399
+ rawId:
3400
+ type: string
3401
+ description: |
3402
+ raw credential id: identifier of pair of keys, base64 encoded.
3403
+ minLength: 20
3404
+ maxLength: 118
3405
+ response:
3406
+ type: object
3407
+ description: |
3408
+ AuthenticatorAssertionResponse
3409
+ properties:
3410
+ authenticatorData:
3411
+ type: string
3412
+ description: |
3413
+ Authenticator data object.
3414
+ minLength: 49
3415
+ maxLength: 256
3416
+ clientDataJSON:
3417
+ type: string
3418
+ description: |
3419
+ JSON string with client data.
3420
+ minLength: 121
3421
+ maxLength: 512
3422
+ signature:
3423
+ type: string
3424
+ description: |
3425
+ The signature generated by the private key associated with this credential.
3426
+ minLength: 59
3427
+ maxLength: 256
3428
+ userHandle:
3429
+ type: string
3430
+ description: |
3431
+ This field is optionally provided by the authenticator, and
3432
+ represents the user.id that was supplied during registration.
3433
+ minLength: 1
3434
+ maxLength: 88
3435
+ required:
3436
+ - authenticatorData
3437
+ - clientDataJSON
3438
+ - signature
3439
+ additionalProperties: false
3440
+ type:
3441
+ type: string
3442
+ description: response type, we need only the type of public-key
3443
+ enum:
3444
+ - public-key
3445
+ required:
3446
+ - id
3447
+ - rawId
3448
+ - response
3449
+ - type
3450
+ additionalProperties: false
3451
+ SignedPayloadFIDO:
3452
+ title: SignedPayloadFIDO
3453
+ type: object
3454
+ properties:
3455
+ signedPayloadType:
3456
+ $ref: '#/components/schemas/SignedPayloadTypeFIDO'
3457
+ fidoSignedPayload:
3458
+ $ref: '#/components/schemas/FIDOPublicKeyCredentialAssertion'
3459
+ required:
3460
+ - signedPayloadType
3461
+ - fidoSignedPayload
3462
+ additionalProperties: false
3463
+ ThirdpartyRequestsAuthorizationsIDPutResponseFIDO:
3464
+ title: ThirdpartyRequestsAuthorizationsIDPutResponseFIDO
3465
+ type: object
3466
+ description: The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback.
3467
+ properties:
3468
+ responseType:
3469
+ $ref: '#/components/schemas/AuthorizationResponseTypeAccepted'
3470
+ signedPayload:
3471
+ $ref: '#/components/schemas/SignedPayloadFIDO'
3472
+ extensionList:
3473
+ $ref: '#/components/schemas/ExtensionList'
3474
+ required:
3475
+ - responseType
3476
+ - signedPayload
3477
+ additionalProperties: false
3478
+ SignedPayloadTypeGeneric:
3479
+ title: SignedPayloadTypeGeneric
3480
+ type: string
3481
+ enum:
3482
+ - GENERIC
3483
+ description: Describes a challenge that has been signed with a private key
3484
+ SignedPayloadGeneric:
3485
+ title: SignedPayloadGeneric
3486
+ type: object
3487
+ properties:
3488
+ signedPayloadType:
3489
+ $ref: '#/components/schemas/SignedPayloadTypeGeneric'
3490
+ genericSignedPayload:
3491
+ $ref: '#/components/schemas/BinaryString'
3492
+ required:
3493
+ - signedPayloadType
3494
+ - genericSignedPayload
3495
+ additionalProperties: false
3496
+ ThirdpartyRequestsAuthorizationsIDPutResponseGeneric:
3497
+ title: ThirdpartyRequestsAuthorizationsIDPutResponseGeneric
3498
+ type: object
3499
+ description: The object sent in the PUT /thirdpartyRequests/authorizations/{ID} callback.
3500
+ properties:
3501
+ responseType:
3502
+ $ref: '#/components/schemas/AuthorizationResponseTypeAccepted'
3503
+ signedPayload:
3504
+ $ref: '#/components/schemas/SignedPayloadGeneric'
3505
+ extensionList:
3506
+ $ref: '#/components/schemas/ExtensionList'
3507
+ required:
3508
+ - responseType
3509
+ - signedPayload
3510
+ additionalProperties: false
3511
+ ThirdpartyRequestsVerificationsPostRequestFIDO:
3512
+ title: ThirdpartyRequestsVerificationsPostRequestFIDO
3513
+ type: object
3514
+ description: The object sent in the POST /thirdpartyRequests/verifications request.
3515
+ properties:
3516
+ verificationRequestId:
3517
+ allOf:
3518
+ - $ref: '#/components/schemas/CorrelationId'
3519
+ challenge:
3520
+ type: string
3521
+ description: Base64 encoded bytes - The challenge generated by the DFSP.
3522
+ consentId:
3523
+ allOf:
3524
+ - $ref: '#/components/schemas/CorrelationId'
3525
+ description: |
3526
+ The id of the stored consent object that contains the credential with which to verify
3527
+ the signed challenge against.
3528
+ signedPayloadType:
3529
+ $ref: '#/components/schemas/SignedPayloadTypeFIDO'
3530
+ fidoSignedPayload:
3531
+ $ref: '#/components/schemas/FIDOPublicKeyCredentialAssertion'
3532
+ extensionList:
3533
+ $ref: '#/components/schemas/ExtensionList'
3534
+ required:
3535
+ - verificationRequestId
3536
+ - challenge
3537
+ - consentId
3538
+ - signedPayloadType
3539
+ - fidoSignedPayload
3540
+ ThirdpartyRequestsVerificationsPostRequestGeneric:
3541
+ title: ThirdpartyRequestsVerificationsPostRequestGeneric
3542
+ type: object
3543
+ description: The object sent in the POST /thirdpartyRequests/verifications request.
3544
+ properties:
3545
+ verificationRequestId:
3546
+ allOf:
3547
+ - $ref: '#/components/schemas/CorrelationId'
3548
+ challenge:
3549
+ type: string
3550
+ description: Base64 encoded bytes - The challenge generated by the DFSP.
3551
+ consentId:
3552
+ allOf:
3553
+ - $ref: '#/components/schemas/CorrelationId'
3554
+ description: |
3555
+ The id of the stored consent object that contains the credential with which to verify
3556
+ the signed challenge against.
3557
+ signedPayloadType:
3558
+ $ref: '#/components/schemas/SignedPayloadTypeGeneric'
3559
+ genericSignedPayload:
3560
+ $ref: '#/components/schemas/BinaryString'
3561
+ extensionList:
3562
+ $ref: '#/components/schemas/ExtensionList'
3563
+ required:
3564
+ - verificationRequestId
3565
+ - challenge
3566
+ - consentId
3567
+ - signedPayloadType
3568
+ - genericSignedPayload
3569
+ AuthenticationResponse:
3570
+ title: AuthenticationResponse
3571
+ type: string
3572
+ enum:
3573
+ - VERIFIED
3574
+ description: |-
3575
+ The AuthenticationResponse enumeration describes the result of authenticating verification request.
3576
+ Below are the allowed values for the enumeration AuthenticationResponse. - VERIFIED - The challenge was correctly signed.
3577
+ ThirdpartyRequestsVerificationsIDPutResponse:
3578
+ title: ThirdpartyRequestsVerificationsIDPutResponse
3579
+ type: object
3580
+ description: |-
3581
+ Used by: Auth Service
3582
+ The callback PUT /thirdpartyRequests/verifications/{ID} is used to inform the client of the result of an authorization check. The {ID} in the URI should contain the authorizationRequestId which was used to request the check, or the {ID} that was used in the GET /thirdpartyRequests/verifications/{ID}.
3583
+ https://github.com/mojaloop/documentation/blob/main/website/versioned_docs/v1.0.1/api/thirdparty/data-models.md#31821-put-thirdpartyrequestsverificationsid
3584
+ properties:
3585
+ authenticationResponse:
3586
+ $ref: '#/components/schemas/AuthenticationResponse'
3587
+ extensionList:
3588
+ $ref: '#/components/schemas/ExtensionList'
3589
+ required:
3590
+ - authenticationResponse
3591
+ parameters:
3592
+ ID:
3593
+ name: ID
3594
+ in: path
3595
+ required: true
3596
+ schema:
3597
+ type: string
3598
+ description: The identifier value.
3599
+ Content-Type:
3600
+ name: Content-Type
3601
+ in: header
3602
+ schema:
3603
+ type: string
3604
+ required: true
3605
+ description: The `Content-Type` header indicates the specific version of the API used to send the payload body.
3606
+ Date:
3607
+ name: Date
3608
+ in: header
3609
+ schema:
3610
+ type: string
3611
+ required: true
3612
+ description: The `Date` header field indicates the date when the request was sent.
3613
+ X-Forwarded-For:
3614
+ name: X-Forwarded-For
3615
+ in: header
3616
+ schema:
3617
+ type: string
3618
+ required: false
3619
+ description: |-
3620
+ The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API.
3621
+
3622
+ **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`.
3623
+ FSPIOP-Source:
3624
+ name: FSPIOP-Source
3625
+ in: header
3626
+ schema:
3627
+ type: string
3628
+ required: true
3629
+ description: The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`).
3630
+ FSPIOP-Destination:
3631
+ name: FSPIOP-Destination
3632
+ in: header
3633
+ schema:
3634
+ type: string
3635
+ required: false
3636
+ description: The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty.
3637
+ FSPIOP-Encryption:
3638
+ name: FSPIOP-Encryption
3639
+ in: header
3640
+ schema:
3641
+ type: string
3642
+ required: false
3643
+ description: The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request.
3644
+ FSPIOP-Signature:
3645
+ name: FSPIOP-Signature
3646
+ in: header
3647
+ schema:
3648
+ type: string
3649
+ required: false
3650
+ description: The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature.
3651
+ FSPIOP-URI:
3652
+ name: FSPIOP-URI
3653
+ in: header
3654
+ schema:
3655
+ type: string
3656
+ required: false
3657
+ description: The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/main/Specification%20Document%20Set).
3658
+ FSPIOP-HTTP-Method:
3659
+ name: FSPIOP-HTTP-Method
3660
+ in: header
3661
+ schema:
3662
+ type: string
3663
+ required: false
3664
+ description: The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/main/Specification%20Document%20Set).
3665
+ Accept:
3666
+ name: Accept
3667
+ in: header
3668
+ required: true
3669
+ schema:
3670
+ type: string
3671
+ description: The `Accept` header field indicates the version of the API the client would like the server to use.
3672
+ Content-Length:
3673
+ name: Content-Length
3674
+ in: header
3675
+ required: false
3676
+ schema:
3677
+ type: integer
3678
+ description: |-
3679
+ The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body.
3680
+
3681
+ **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes).
3682
+ Type:
3683
+ name: Type
3684
+ in: path
3685
+ required: true
3686
+ schema:
3687
+ type: string
3688
+ description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.
3689
+ ServiceType:
3690
+ name: ServiceType
3691
+ in: path
3692
+ required: true
3693
+ schema:
3694
+ type: string
3695
+ description: The type of the service identifier. For example, `THIRD_PARTY_DFSP`
3696
+ responses:
3697
+ '200':
3698
+ description: OK
3699
+ '202':
3700
+ description: Accepted
3701
+ '400':
3702
+ description: Bad Request
3703
+ content:
3704
+ application/json:
3705
+ schema:
3706
+ $ref: '#/components/schemas/ErrorInformationResponse'
3707
+ headers:
3708
+ Content-Length:
3709
+ $ref: '#/components/headers/Content-Length'
3710
+ Content-Type:
3711
+ $ref: '#/components/headers/Content-Type'
3712
+ '401':
3713
+ description: Unauthorized
3714
+ content:
3715
+ application/json:
3716
+ schema:
3717
+ $ref: '#/components/schemas/ErrorInformationResponse'
3718
+ headers:
3719
+ Content-Length:
3720
+ $ref: '#/components/headers/Content-Length'
3721
+ Content-Type:
3722
+ $ref: '#/components/headers/Content-Type'
3723
+ '403':
3724
+ description: Forbidden
3725
+ content:
3726
+ application/json:
3727
+ schema:
3728
+ $ref: '#/components/schemas/ErrorInformationResponse'
3729
+ headers:
3730
+ Content-Length:
3731
+ $ref: '#/components/headers/Content-Length'
3732
+ Content-Type:
3733
+ $ref: '#/components/headers/Content-Type'
3734
+ '404':
3735
+ description: Not Found
3736
+ content:
3737
+ application/json:
3738
+ schema:
3739
+ $ref: '#/components/schemas/ErrorInformationResponse'
3740
+ headers:
3741
+ Content-Length:
3742
+ $ref: '#/components/headers/Content-Length'
3743
+ Content-Type:
3744
+ $ref: '#/components/headers/Content-Type'
3745
+ '405':
3746
+ description: Method Not Allowed
3747
+ content:
3748
+ application/json:
3749
+ schema:
3750
+ $ref: '#/components/schemas/ErrorInformationResponse'
3751
+ headers:
3752
+ Content-Length:
3753
+ $ref: '#/components/headers/Content-Length'
3754
+ Content-Type:
3755
+ $ref: '#/components/headers/Content-Type'
3756
+ '406':
3757
+ description: Not Acceptable
3758
+ content:
3759
+ application/json:
3760
+ schema:
3761
+ $ref: '#/components/schemas/ErrorInformationResponse'
3762
+ headers:
3763
+ Content-Length:
3764
+ $ref: '#/components/headers/Content-Length'
3765
+ Content-Type:
3766
+ $ref: '#/components/headers/Content-Type'
3767
+ '501':
3768
+ description: Not Implemented
3769
+ content:
3770
+ application/json:
3771
+ schema:
3772
+ $ref: '#/components/schemas/ErrorInformationResponse'
3773
+ headers:
3774
+ Content-Length:
3775
+ $ref: '#/components/headers/Content-Length'
3776
+ Content-Type:
3777
+ $ref: '#/components/headers/Content-Type'
3778
+ '503':
3779
+ description: Service Unavailable
3780
+ content:
3781
+ application/json:
3782
+ schema:
3783
+ $ref: '#/components/schemas/ErrorInformationResponse'
3784
+ headers:
3785
+ Content-Length:
3786
+ $ref: '#/components/headers/Content-Length'
3787
+ Content-Type:
3788
+ $ref: '#/components/headers/Content-Type'
3789
+ headers:
3790
+ Content-Length:
3791
+ required: false
3792
+ schema:
3793
+ type: integer
3794
+ description: |-
3795
+ The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body.
3796
+
3797
+ **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes).
3798
+ Content-Type:
3799
+ schema:
3800
+ type: string
3801
+ required: true
3802
+ description: The `Content-Type` header indicates the specific version of the API used to send the payload body.