account-lookup-service 15.5.0-iso.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (209) hide show
  1. package/.circleci/config.yml +11 -0
  2. package/.ncurc.yaml +6 -0
  3. package/.nvmrc +1 -0
  4. package/.nycrc.yml +20 -0
  5. package/.versionrc +15 -0
  6. package/CHANGELOG.md +330 -0
  7. package/CODEOWNERS +38 -0
  8. package/Dockerfile +45 -0
  9. package/LICENSE.md +10 -0
  10. package/README.md +252 -0
  11. package/audit-ci.jsonc +32 -0
  12. package/audit-resolve.json +161 -0
  13. package/config/default.json +109 -0
  14. package/config/knexfile.js +21 -0
  15. package/docker/account-lookup-service/default.json +106 -0
  16. package/docker/account-lookup-service/make-default-json.sh +5 -0
  17. package/docker/account-lookup-service/override.json +15 -0
  18. package/docker/central-ledger/default.json +458 -0
  19. package/docker/config-modifier/account-lookup-service.js +31 -0
  20. package/docker/kafka/consumer.properties +26 -0
  21. package/docker/kafka/producer.properties +45 -0
  22. package/docker/kafka/server.properties +143 -0
  23. package/docker/kafka/tools-log4j.properties +21 -0
  24. package/docker/mock-proxy/Dockerfile +15 -0
  25. package/docker/mock-proxy/package-lock.json +4986 -0
  26. package/docker/mock-proxy/package.json +24 -0
  27. package/docker/mock-proxy/src/config.ts +14 -0
  28. package/docker/mock-proxy/src/server.ts +94 -0
  29. package/docker/mock-proxy/src/utils.ts +29 -0
  30. package/docker/mock-proxy/tsconfig.json +24 -0
  31. package/docker/sql-init/01_permissions.sql +2 -0
  32. package/docker/sql-init-central-ledger/01_permissions.sql +2 -0
  33. package/docker/wait-for/wait-for-account-lookup-service.sh +10 -0
  34. package/docker/wait-for/wait-for-central-ledger.sh +11 -0
  35. package/docker/wait-for/wait-for-kafka.sh +7 -0
  36. package/docker/wait-for/wait-for-ml-api-adapter.sh +9 -0
  37. package/docker/wait-for/wait-for-mockserver.sh +20 -0
  38. package/docker/wait-for/wait-for-mysql-als.sh +14 -0
  39. package/docker/wait-for/wait-for-mysql-central-ledger.sh +11 -0
  40. package/docker/wait-for/wait-for-mysql.sh +11 -0
  41. package/docker/wait-for/wait-for-objstore.sh +12 -0
  42. package/docker/wait-for/wait-for.env +18 -0
  43. package/docker/wait-for/wait-for.sh +81 -0
  44. package/docker-compose.integration.yml +29 -0
  45. package/docker-compose.yml +243 -0
  46. package/jest-int.config.js +8 -0
  47. package/jest.config.js +16 -0
  48. package/jsdoc.json +38 -0
  49. package/migrations/01_currency.js +42 -0
  50. package/migrations/02_endpointType.js +43 -0
  51. package/migrations/03_endpointType-indexes.js +37 -0
  52. package/migrations/04_partyIdType.js +43 -0
  53. package/migrations/05_partyIdType-indexes.js +38 -0
  54. package/migrations/08_oracleEndpoint.js +51 -0
  55. package/migrations/09_oracleEndpoint-indexes.js +41 -0
  56. package/migrations/10_oracleEndpoint-remove-constraints.js +38 -0
  57. package/package.json +180 -0
  58. package/scripts/_wait4_all.js +143 -0
  59. package/scripts/test-functional.sh +76 -0
  60. package/secrets/jwsSigningKey.key +27 -0
  61. package/seeds/currency.js +765 -0
  62. package/seeds/endpointType.js +65 -0
  63. package/seeds/partyIdType.js +79 -0
  64. package/src/api/endpointcache.js +67 -0
  65. package/src/api/health.js +66 -0
  66. package/src/api/index.js +85 -0
  67. package/src/api/oracles/{ID}.js +100 -0
  68. package/src/api/oracles.js +96 -0
  69. package/src/api/participants/{ID}/error.js +44 -0
  70. package/src/api/participants/{ID}.js +44 -0
  71. package/src/api/participants/{Type}/{ID}/error.js +74 -0
  72. package/src/api/participants/{Type}/{ID}/{SubId}/error.js +68 -0
  73. package/src/api/participants/{Type}/{ID}/{SubId}.js +113 -0
  74. package/src/api/participants/{Type}/{ID}.js +133 -0
  75. package/src/api/participants.js +63 -0
  76. package/src/api/parties/{Type}/{ID}/error.js +66 -0
  77. package/src/api/parties/{Type}/{ID}/{SubId}/error.js +56 -0
  78. package/src/api/parties/{Type}/{ID}/{SubId}.js +77 -0
  79. package/src/api/parties/{Type}/{ID}.js +98 -0
  80. package/src/api/routes.js +294 -0
  81. package/src/constants.js +16 -0
  82. package/src/domain/oracle/index.js +33 -0
  83. package/src/domain/oracle/oracle.js +234 -0
  84. package/src/domain/participants/index.js +35 -0
  85. package/src/domain/participants/participants.js +560 -0
  86. package/src/domain/parties/getPartiesByTypeAndID.js +239 -0
  87. package/src/domain/parties/index.js +32 -0
  88. package/src/domain/parties/parties.js +215 -0
  89. package/src/domain/parties/utils.js +84 -0
  90. package/src/domain/timeout/dto.js +48 -0
  91. package/src/domain/timeout/index.js +104 -0
  92. package/src/handlers/TimeoutHandler.js +94 -0
  93. package/src/handlers/index.js +70 -0
  94. package/src/handlers/monitoring/index.js +51 -0
  95. package/src/handlers/monitoring/plugins/health.js +61 -0
  96. package/src/handlers/monitoring/plugins/metrics.js +48 -0
  97. package/src/handlers/register.js +102 -0
  98. package/src/index.js +66 -0
  99. package/src/interface/admin-swagger.yaml +804 -0
  100. package/src/interface/admin_swagger.json +959 -0
  101. package/src/interface/api-swagger-iso20022-parties.yaml +1734 -0
  102. package/src/interface/api-swagger.yaml +1733 -0
  103. package/src/interface/api_swagger.json +3046 -0
  104. package/src/interface/fspiop-rest-v2.0-ISO20022_parties.yaml +2256 -0
  105. package/src/interface/thirdparty/admin-swagger.yaml +808 -0
  106. package/src/interface/thirdparty/admin_swagger.json +961 -0
  107. package/src/interface/thirdparty/api-swagger.yaml +1739 -0
  108. package/src/interface/thirdparty/api_swagger.json +3142 -0
  109. package/src/lib/argv.js +39 -0
  110. package/src/lib/cache.js +126 -0
  111. package/src/lib/config.js +183 -0
  112. package/src/lib/db.js +26 -0
  113. package/src/lib/headers.js +53 -0
  114. package/src/lib/healthCheck/subServiceHealth.js +84 -0
  115. package/src/lib/index.js +11 -0
  116. package/src/lib/migrator.js +17 -0
  117. package/src/lib/requestLogger.js +54 -0
  118. package/src/lib/util.js +66 -0
  119. package/src/metrics/handler.js +33 -0
  120. package/src/metrics/plugin.js +52 -0
  121. package/src/metrics/routes.js +43 -0
  122. package/src/models/currency/currency.js +48 -0
  123. package/src/models/currency/index.js +32 -0
  124. package/src/models/endpointType/endpointType.js +48 -0
  125. package/src/models/endpointType/index.js +32 -0
  126. package/src/models/misc/migrationLock.js +49 -0
  127. package/src/models/oracle/facade.js +341 -0
  128. package/src/models/oracle/index.js +41 -0
  129. package/src/models/oracle/oracleEndpoint.js +192 -0
  130. package/src/models/oracle/oracleEndpointCached.js +108 -0
  131. package/src/models/participantEndpoint/facade.js +238 -0
  132. package/src/models/partyIdType/index.js +32 -0
  133. package/src/models/partyIdType/partyIdType.js +41 -0
  134. package/src/plugins.js +139 -0
  135. package/src/server.js +199 -0
  136. package/test/fixtures/index.js +131 -0
  137. package/test/fixtures/iso.js +110 -0
  138. package/test/integration/.env +8 -0
  139. package/test/integration/api/parties.test.js +137 -0
  140. package/test/integration/constants.js +20 -0
  141. package/test/integration/domain/oracle/index.test.js +324 -0
  142. package/test/integration/domain/timeout/index.test.js +75 -0
  143. package/test/integration/env.sh +15 -0
  144. package/test/integration/example.test.js +12 -0
  145. package/test/integration/models/currency/currency.test.js +68 -0
  146. package/test/integration/plugins.test.js +62 -0
  147. package/test/integration/prepareTestParticipants.js +30 -0
  148. package/test/integration/setup.js +5 -0
  149. package/test/integration-config.json +81 -0
  150. package/test/integration-runner.sh +108 -0
  151. package/test/unit/api/health.test.js +142 -0
  152. package/test/unit/api/oracles/{ID}.test.js +264 -0
  153. package/test/unit/api/oracles.test.js +173 -0
  154. package/test/unit/api/participants/participants.test.js +117 -0
  155. package/test/unit/api/participants/{Type}/{ID}/error.test.js +155 -0
  156. package/test/unit/api/participants/{Type}/{ID}/{SubId}/error.test.js +131 -0
  157. package/test/unit/api/participants/{Type}/{ID}/{SubId}.test.js +377 -0
  158. package/test/unit/api/participants/{Type}/{ID}.test.js +383 -0
  159. package/test/unit/api/participants.test.js +108 -0
  160. package/test/unit/api/parties/endpointcache.test.js +83 -0
  161. package/test/unit/api/parties/parties.test.js +102 -0
  162. package/test/unit/api/parties/{Type}/{ID}/error.test.js +145 -0
  163. package/test/unit/api/parties/{Type}/{ID}/{SubId}/error.test.js +141 -0
  164. package/test/unit/api/parties/{Type}/{ID}/{SubId}.test.js +241 -0
  165. package/test/unit/api/parties/{Type}/{ID}.test.js +240 -0
  166. package/test/unit/domain/oracle/oracle.test.js +505 -0
  167. package/test/unit/domain/participants/participants.test.js +1724 -0
  168. package/test/unit/domain/parties/parties.test.js +940 -0
  169. package/test/unit/domain/timeout/dto.test.js +28 -0
  170. package/test/unit/domain/timeout/index.test.js +81 -0
  171. package/test/unit/handlers/TimeoutHandler.test.js +125 -0
  172. package/test/unit/handlers/index.test.js +56 -0
  173. package/test/unit/handlers/register.test.js +90 -0
  174. package/test/unit/index.test.js +139 -0
  175. package/test/unit/iso20022/partiesValidation.test.js +129 -0
  176. package/test/unit/lib/TransformFacades.test.js +18 -0
  177. package/test/unit/lib/argv.test.js +40 -0
  178. package/test/unit/lib/cache.test.js +172 -0
  179. package/test/unit/lib/config.test.js +108 -0
  180. package/test/unit/lib/healthCheck/subServiceHealth.test.js +89 -0
  181. package/test/unit/lib/migrator.test.js +52 -0
  182. package/test/unit/lib/requestLogger.test.js +115 -0
  183. package/test/unit/lib/util.test.js +68 -0
  184. package/test/unit/mocks.js +66 -0
  185. package/test/unit/models/currency/currency.test.js +91 -0
  186. package/test/unit/models/endpointType/endpointType.test.js +69 -0
  187. package/test/unit/models/misc/migrationLock.test.js +96 -0
  188. package/test/unit/models/oracle/facade.test.js +546 -0
  189. package/test/unit/models/oracle/oracleEndpoint.test.js +409 -0
  190. package/test/unit/models/oracle/oracleEndpointCached.test.js +153 -0
  191. package/test/unit/models/participantEndpoint/facade.test.js +295 -0
  192. package/test/unit/models/partyIdType/partyIdType.test.js +88 -0
  193. package/test/unit/plugins.test.js +89 -0
  194. package/test/unit/setup.js +7 -0
  195. package/test/util/apiClients/AlsApiClient.js +44 -0
  196. package/test/util/apiClients/BasicApiClient.js +34 -0
  197. package/test/util/apiClients/ProxyApiClient.js +25 -0
  198. package/test/util/apiClients/index.js +7 -0
  199. package/test/util/helper.js +332 -0
  200. package/test/util/index.js +11 -0
  201. package/test/util/mockgen.js +43 -0
  202. package/test/util/onboarding.js +132 -0
  203. package/test/util/scripts/addAlsDb.sh +33 -0
  204. package/test/util/scripts/configureMockServer.sh +35 -0
  205. package/test/util/scripts/env.sh +19 -0
  206. package/test/util/scripts/populateTestData.sh +62 -0
  207. package/test/util/scripts/startMockCentralServer.sh +45 -0
  208. package/test/util/scripts/startMockOracleServer.sh +45 -0
  209. package/test/util/testConfig.js +44 -0
@@ -0,0 +1,3046 @@
1
+ {
2
+ "swagger": "2.0",
3
+ "info": {
4
+ "version": "1.1",
5
+ "title": "Open API for FSP Interoperability (FSPIOP) (Implementation Friendly Version)",
6
+ "description": "Based on API Definition.docx Version 1.1 that was confirmed on 2020-05-19. Note - The API supports a maximum size of 65536 bytes (64 Kilobytes) in the HTTP header.",
7
+ "license": {
8
+ "name": "Open API for FSP Interoperability (FSPIOP) (Implementation Friendly Version)"
9
+ }
10
+ },
11
+ "basePath": "/",
12
+ "schemes": [
13
+ "http"
14
+ ],
15
+ "produces": [
16
+ "application/json"
17
+ ],
18
+ "paths": {
19
+ "/participants/{ID}/error": {
20
+ "put": {
21
+ "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.",
22
+ "summary": "ParticipantsByIDAndError",
23
+ "tags": [
24
+ "participants",
25
+ "sampled"
26
+ ],
27
+ "operationId": "als_participantsByIDAndError_put",
28
+ "produces": [
29
+ "application/json"
30
+ ],
31
+ "parameters": [
32
+ {
33
+ "name": "body",
34
+ "in": "body",
35
+ "required": true,
36
+ "schema": {
37
+ "$ref": "#/definitions/ErrorInformationObject"
38
+ }
39
+ },
40
+ {
41
+ "$ref": "#/parameters/ID"
42
+ },
43
+ {
44
+ "$ref": "#/parameters/Content-Length"
45
+ },
46
+ {
47
+ "$ref": "#/parameters/Content-Type"
48
+ },
49
+ {
50
+ "$ref": "#/parameters/Date"
51
+ },
52
+ {
53
+ "$ref": "#/parameters/X-Forwarded-For"
54
+ },
55
+ {
56
+ "$ref": "#/parameters/FSPIOP-Source"
57
+ },
58
+ {
59
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
60
+ },
61
+ {
62
+ "$ref": "#/parameters/FSPIOP-Encryption"
63
+ },
64
+ {
65
+ "$ref": "#/parameters/FSPIOP-Signature"
66
+ },
67
+ {
68
+ "$ref": "#/parameters/FSPIOP-URI"
69
+ },
70
+ {
71
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
72
+ }
73
+ ],
74
+ "x-examples": {
75
+ "application/json": {
76
+ "“errorInformation”": {
77
+ "“errorCode”": "“5100”",
78
+ "“errorDescription”": "“This is an error description”",
79
+ "extensionList": {
80
+ "extension": [
81
+ {
82
+ "“key”": "“errorDescription”",
83
+ "“value”": "“This is a more detailed error description”"
84
+ },
85
+ {
86
+ "“key”": "“errorDescription”",
87
+ "“value”": "“This is a more detailed error description”"
88
+ }
89
+ ]
90
+ }
91
+ }
92
+ }
93
+ },
94
+ "responses": {
95
+ "200": {
96
+ "$ref": "#/responses/Response200"
97
+ },
98
+ "400": {
99
+ "$ref": "#/responses/ErrorResponse400"
100
+ },
101
+ "401": {
102
+ "$ref": "#/responses/ErrorResponse401"
103
+ },
104
+ "403": {
105
+ "$ref": "#/responses/ErrorResponse403"
106
+ },
107
+ "404": {
108
+ "$ref": "#/responses/ErrorResponse404"
109
+ },
110
+ "405": {
111
+ "$ref": "#/responses/ErrorResponse405"
112
+ },
113
+ "406": {
114
+ "$ref": "#/responses/ErrorResponse406"
115
+ },
116
+ "501": {
117
+ "$ref": "#/responses/ErrorResponse501"
118
+ },
119
+ "503": {
120
+ "$ref": "#/responses/ErrorResponse503"
121
+ }
122
+ }
123
+ }
124
+ },
125
+ "/participants/{ID}": {
126
+ "put": {
127
+ "description": "The callback PUT /participants/<ID> is used to inform the client of the result of the creation of the provided list of identities.",
128
+ "summary": "ParticipantsByID",
129
+ "tags": [
130
+ "participants",
131
+ "sampled"
132
+ ],
133
+ "operationId": "als_participantsByID_put",
134
+ "produces": [
135
+ "application/json"
136
+ ],
137
+ "parameters": [
138
+ {
139
+ "$ref": "#/parameters/ID"
140
+ },
141
+ {
142
+ "name": "body",
143
+ "in": "body",
144
+ "required": true,
145
+ "schema": {
146
+ "$ref": "#/definitions/ParticipantsIDPutResponse"
147
+ }
148
+ },
149
+ {
150
+ "$ref": "#/parameters/Content-Length"
151
+ },
152
+ {
153
+ "$ref": "#/parameters/Content-Type"
154
+ },
155
+ {
156
+ "$ref": "#/parameters/Date"
157
+ },
158
+ {
159
+ "$ref": "#/parameters/X-Forwarded-For"
160
+ },
161
+ {
162
+ "$ref": "#/parameters/FSPIOP-Source"
163
+ },
164
+ {
165
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
166
+ },
167
+ {
168
+ "$ref": "#/parameters/FSPIOP-Encryption"
169
+ },
170
+ {
171
+ "$ref": "#/parameters/FSPIOP-Signature"
172
+ },
173
+ {
174
+ "$ref": "#/parameters/FSPIOP-URI"
175
+ },
176
+ {
177
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
178
+ }
179
+ ],
180
+ "x-examples": {
181
+ "application/json": {
182
+ "“partyList”": [
183
+ {
184
+ "partyId": {
185
+ "partyIdType": "PERSONAL_ID",
186
+ "partyIdentifier": "personal_id"
187
+ }
188
+ },
189
+ {
190
+ "partyId": {
191
+ "partyIdType": "PERSONAL_ID",
192
+ "partyIdentifier": "personal_id"
193
+ }
194
+ }
195
+ ],
196
+ "currency": "USD"
197
+ }
198
+ },
199
+ "responses": {
200
+ "200": {
201
+ "$ref": "#/responses/Response200"
202
+ },
203
+ "400": {
204
+ "$ref": "#/responses/ErrorResponse400"
205
+ },
206
+ "401": {
207
+ "$ref": "#/responses/ErrorResponse401"
208
+ },
209
+ "403": {
210
+ "$ref": "#/responses/ErrorResponse403"
211
+ },
212
+ "404": {
213
+ "$ref": "#/responses/ErrorResponse404"
214
+ },
215
+ "405": {
216
+ "$ref": "#/responses/ErrorResponse405"
217
+ },
218
+ "406": {
219
+ "$ref": "#/responses/ErrorResponse406"
220
+ },
221
+ "501": {
222
+ "$ref": "#/responses/ErrorResponse501"
223
+ },
224
+ "503": {
225
+ "$ref": "#/responses/ErrorResponse503"
226
+ }
227
+ }
228
+ }
229
+ },
230
+ "/participants/{Type}/{ID}/error": {
231
+ "put": {
232
+ "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.",
233
+ "summary": "ParticipantsErrorByTypeAndID",
234
+ "tags": [
235
+ "participants",
236
+ "sampled"
237
+ ],
238
+ "operationId": "als_participantsErrorByTypeAndID_put",
239
+ "produces": [
240
+ "application/json"
241
+ ],
242
+ "parameters": [
243
+ {
244
+ "name": "body",
245
+ "in": "body",
246
+ "required": true,
247
+ "schema": {
248
+ "$ref": "#/definitions/ErrorInformationObject"
249
+ }
250
+ },
251
+ {
252
+ "$ref": "#/parameters/Type"
253
+ },
254
+ {
255
+ "$ref": "#/parameters/ID"
256
+ },
257
+ {
258
+ "$ref": "#/parameters/Content-Length"
259
+ },
260
+ {
261
+ "$ref": "#/parameters/Content-Type"
262
+ },
263
+ {
264
+ "$ref": "#/parameters/Date"
265
+ },
266
+ {
267
+ "$ref": "#/parameters/X-Forwarded-For"
268
+ },
269
+ {
270
+ "$ref": "#/parameters/FSPIOP-Source"
271
+ },
272
+ {
273
+ "$ref": "#/parameters/FSPIOP-Destination-Required"
274
+ },
275
+ {
276
+ "$ref": "#/parameters/FSPIOP-Encryption"
277
+ },
278
+ {
279
+ "$ref": "#/parameters/FSPIOP-Signature"
280
+ },
281
+ {
282
+ "$ref": "#/parameters/FSPIOP-URI"
283
+ },
284
+ {
285
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
286
+ }
287
+ ],
288
+ "x-examples": {
289
+ "application/json": {
290
+ "“errorInformation”": {
291
+ "“errorCode”": "“5100”",
292
+ "“errorDescription”": "“This is an error description”",
293
+ "extensionList": {
294
+ "extension": [
295
+ {
296
+ "“key”": "“errorDescription”",
297
+ "“value”": "“This is a more detailed error description”"
298
+ },
299
+ {
300
+ "“key”": "“errorDescription”",
301
+ "“value”": "“This is a more detailed error description”"
302
+ }
303
+ ]
304
+ }
305
+ }
306
+ }
307
+ },
308
+ "responses": {
309
+ "200": {
310
+ "$ref": "#/responses/Response200"
311
+ },
312
+ "400": {
313
+ "$ref": "#/responses/ErrorResponse400"
314
+ },
315
+ "401": {
316
+ "$ref": "#/responses/ErrorResponse401"
317
+ },
318
+ "403": {
319
+ "$ref": "#/responses/ErrorResponse403"
320
+ },
321
+ "404": {
322
+ "$ref": "#/responses/ErrorResponse404"
323
+ },
324
+ "405": {
325
+ "$ref": "#/responses/ErrorResponse405"
326
+ },
327
+ "406": {
328
+ "$ref": "#/responses/ErrorResponse406"
329
+ },
330
+ "501": {
331
+ "$ref": "#/responses/ErrorResponse501"
332
+ },
333
+ "503": {
334
+ "$ref": "#/responses/ErrorResponse503"
335
+ }
336
+ }
337
+ }
338
+ },
339
+ "/participants/{Type}/{ID}/{SubId}/error": {
340
+ "put": {
341
+ "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.",
342
+ "summary": "ParticipantsSubIdErrorByTypeAndID",
343
+ "tags": [
344
+ "participants",
345
+ "sampled"
346
+ ],
347
+ "operationId": "als_participantsSubIdErrorByTypeAndID_put",
348
+ "produces": [
349
+ "application/json"
350
+ ],
351
+ "parameters": [
352
+ {
353
+ "$ref": "#/parameters/Type"
354
+ },
355
+ {
356
+ "$ref": "#/parameters/ID"
357
+ },
358
+ {
359
+ "$ref": "#/parameters/SubId"
360
+ },
361
+ {
362
+ "name": "body",
363
+ "in": "body",
364
+ "required": true,
365
+ "schema": {
366
+ "$ref": "#/definitions/ErrorInformationObject"
367
+ }
368
+ },
369
+ {
370
+ "$ref": "#/parameters/Content-Length"
371
+ },
372
+ {
373
+ "$ref": "#/parameters/Content-Type"
374
+ },
375
+ {
376
+ "$ref": "#/parameters/Date"
377
+ },
378
+ {
379
+ "$ref": "#/parameters/X-Forwarded-For"
380
+ },
381
+ {
382
+ "$ref": "#/parameters/FSPIOP-Source"
383
+ },
384
+ {
385
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
386
+ },
387
+ {
388
+ "$ref": "#/parameters/FSPIOP-Encryption"
389
+ },
390
+ {
391
+ "$ref": "#/parameters/FSPIOP-Signature"
392
+ },
393
+ {
394
+ "$ref": "#/parameters/FSPIOP-URI"
395
+ },
396
+ {
397
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
398
+ }
399
+ ],
400
+ "x-examples": {
401
+ "application/json": {
402
+ "“errorInformation”": {
403
+ "“errorCode”": "“5100”",
404
+ "“errorDescription”": "“This is an error description”",
405
+ "extensionList": {
406
+ "extension": [
407
+ {
408
+ "“key”": "“errorDescription”",
409
+ "“value”": "“This is a more detailed error description”"
410
+ },
411
+ {
412
+ "“key”": "“errorDescription”",
413
+ "“value”": "“This is a more detailed error description”"
414
+ }
415
+ ]
416
+ }
417
+ }
418
+ }
419
+ },
420
+ "responses": {
421
+ "200": {
422
+ "$ref": "#/responses/Response200"
423
+ },
424
+ "400": {
425
+ "$ref": "#/responses/ErrorResponse400"
426
+ },
427
+ "401": {
428
+ "$ref": "#/responses/ErrorResponse401"
429
+ },
430
+ "403": {
431
+ "$ref": "#/responses/ErrorResponse403"
432
+ },
433
+ "404": {
434
+ "$ref": "#/responses/ErrorResponse404"
435
+ },
436
+ "405": {
437
+ "$ref": "#/responses/ErrorResponse405"
438
+ },
439
+ "406": {
440
+ "$ref": "#/responses/ErrorResponse406"
441
+ },
442
+ "501": {
443
+ "$ref": "#/responses/ErrorResponse501"
444
+ },
445
+ "503": {
446
+ "$ref": "#/responses/ErrorResponse503"
447
+ }
448
+ }
449
+ }
450
+ },
451
+ "/participants/{Type}/{ID}/{SubId}": {
452
+ "parameters": [
453
+ {
454
+ "$ref": "#/parameters/Accept"
455
+ },
456
+ {
457
+ "$ref": "#/parameters/Type"
458
+ },
459
+ {
460
+ "$ref": "#/parameters/ID"
461
+ },
462
+ {
463
+ "$ref": "#/parameters/SubId"
464
+ },
465
+ {
466
+ "$ref": "#/parameters/Content-Type"
467
+ },
468
+ {
469
+ "$ref": "#/parameters/Date"
470
+ },
471
+ {
472
+ "$ref": "#/parameters/X-Forwarded-For"
473
+ },
474
+ {
475
+ "$ref": "#/parameters/FSPIOP-Source"
476
+ },
477
+ {
478
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
479
+ },
480
+ {
481
+ "$ref": "#/parameters/FSPIOP-Encryption"
482
+ },
483
+ {
484
+ "$ref": "#/parameters/FSPIOP-Signature"
485
+ },
486
+ {
487
+ "$ref": "#/parameters/FSPIOP-URI"
488
+ },
489
+ {
490
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
491
+ }
492
+ ],
493
+ "get": {
494
+ "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).",
495
+ "summary": "ParticipantsSubIdByTypeAndID",
496
+ "tags": [
497
+ "participants",
498
+ "sampled"
499
+ ],
500
+ "operationId": "als_participantsSubIdByTypeAndID_get",
501
+ "produces": [
502
+ "application/json"
503
+ ],
504
+ "parameters": [
505
+ {
506
+ "$ref": "#/parameters/Accept"
507
+ },
508
+ {
509
+ "$ref": "#/parameters/Type"
510
+ },
511
+ {
512
+ "$ref": "#/parameters/ID"
513
+ },
514
+ {
515
+ "$ref": "#/parameters/SubId"
516
+ },
517
+ {
518
+ "$ref": "#/parameters/Content-Type"
519
+ },
520
+ {
521
+ "$ref": "#/parameters/Date"
522
+ },
523
+ {
524
+ "$ref": "#/parameters/X-Forwarded-For"
525
+ },
526
+ {
527
+ "$ref": "#/parameters/FSPIOP-Source"
528
+ },
529
+ {
530
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
531
+ },
532
+ {
533
+ "$ref": "#/parameters/FSPIOP-Encryption"
534
+ },
535
+ {
536
+ "$ref": "#/parameters/FSPIOP-Signature"
537
+ },
538
+ {
539
+ "$ref": "#/parameters/FSPIOP-URI"
540
+ },
541
+ {
542
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
543
+ }
544
+ ],
545
+ "responses": {
546
+ "202": {
547
+ "$ref": "#/responses/Response202"
548
+ },
549
+ "400": {
550
+ "$ref": "#/responses/ErrorResponse400"
551
+ },
552
+ "401": {
553
+ "$ref": "#/responses/ErrorResponse401"
554
+ },
555
+ "403": {
556
+ "$ref": "#/responses/ErrorResponse403"
557
+ },
558
+ "404": {
559
+ "$ref": "#/responses/ErrorResponse404"
560
+ },
561
+ "405": {
562
+ "$ref": "#/responses/ErrorResponse405"
563
+ },
564
+ "406": {
565
+ "$ref": "#/responses/ErrorResponse406"
566
+ },
567
+ "501": {
568
+ "$ref": "#/responses/ErrorResponse501"
569
+ },
570
+ "503": {
571
+ "$ref": "#/responses/ErrorResponse503"
572
+ }
573
+ }
574
+ },
575
+ "put": {
576
+ "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.",
577
+ "summary": "ParticipantsSubIdByTypeAndID",
578
+ "tags": [
579
+ "participants",
580
+ "sampled"
581
+ ],
582
+ "operationId": "als_participantsSubIdByTypeAndID3_put",
583
+ "produces": [
584
+ "application/json"
585
+ ],
586
+ "parameters": [
587
+ {
588
+ "$ref": "#/parameters/Accept"
589
+ },
590
+ {
591
+ "$ref": "#/parameters/Type"
592
+ },
593
+ {
594
+ "$ref": "#/parameters/ID"
595
+ },
596
+ {
597
+ "$ref": "#/parameters/SubId"
598
+ },
599
+ {
600
+ "$ref": "#/parameters/Content-Type"
601
+ },
602
+ {
603
+ "$ref": "#/parameters/Date"
604
+ },
605
+ {
606
+ "$ref": "#/parameters/X-Forwarded-For"
607
+ },
608
+ {
609
+ "$ref": "#/parameters/FSPIOP-Source"
610
+ },
611
+ {
612
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
613
+ },
614
+ {
615
+ "$ref": "#/parameters/FSPIOP-Encryption"
616
+ },
617
+ {
618
+ "$ref": "#/parameters/FSPIOP-Signature"
619
+ },
620
+ {
621
+ "$ref": "#/parameters/FSPIOP-URI"
622
+ },
623
+ {
624
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
625
+ },
626
+ {
627
+ "name": "body",
628
+ "in": "body",
629
+ "required": true,
630
+ "schema": {
631
+ "$ref": "#/definitions/ParticipantsTypeIDPutResponse"
632
+ }
633
+ },
634
+ {
635
+ "$ref": "#/parameters/Content-Length"
636
+ }
637
+ ],
638
+ "x-examples": {
639
+ "application/json": {
640
+ "“fspId”": "“1234”"
641
+ }
642
+ },
643
+ "responses": {
644
+ "200": {
645
+ "$ref": "#/responses/Response200"
646
+ },
647
+ "400": {
648
+ "$ref": "#/responses/ErrorResponse400"
649
+ },
650
+ "401": {
651
+ "$ref": "#/responses/ErrorResponse401"
652
+ },
653
+ "403": {
654
+ "$ref": "#/responses/ErrorResponse403"
655
+ },
656
+ "404": {
657
+ "$ref": "#/responses/ErrorResponse404"
658
+ },
659
+ "405": {
660
+ "$ref": "#/responses/ErrorResponse405"
661
+ },
662
+ "406": {
663
+ "$ref": "#/responses/ErrorResponse406"
664
+ },
665
+ "501": {
666
+ "$ref": "#/responses/ErrorResponse501"
667
+ },
668
+ "503": {
669
+ "$ref": "#/responses/ErrorResponse503"
670
+ }
671
+ }
672
+ },
673
+ "post": {
674
+ "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).",
675
+ "summary": "ParticipantsSubIdByTypeAndID",
676
+ "tags": [
677
+ "participants",
678
+ "sampled"
679
+ ],
680
+ "operationId": "als_participantsSubIdByTypeAndID_post",
681
+ "produces": [
682
+ "application/json"
683
+ ],
684
+ "parameters": [
685
+ {
686
+ "$ref": "#/parameters/Accept"
687
+ },
688
+ {
689
+ "$ref": "#/parameters/Type"
690
+ },
691
+ {
692
+ "$ref": "#/parameters/ID"
693
+ },
694
+ {
695
+ "$ref": "#/parameters/SubId"
696
+ },
697
+ {
698
+ "$ref": "#/parameters/Content-Type"
699
+ },
700
+ {
701
+ "$ref": "#/parameters/Date"
702
+ },
703
+ {
704
+ "$ref": "#/parameters/X-Forwarded-For"
705
+ },
706
+ {
707
+ "$ref": "#/parameters/FSPIOP-Source"
708
+ },
709
+ {
710
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
711
+ },
712
+ {
713
+ "$ref": "#/parameters/FSPIOP-Encryption"
714
+ },
715
+ {
716
+ "$ref": "#/parameters/FSPIOP-Signature"
717
+ },
718
+ {
719
+ "$ref": "#/parameters/FSPIOP-URI"
720
+ },
721
+ {
722
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
723
+ },
724
+ {
725
+ "name": "body",
726
+ "in": "body",
727
+ "required": true,
728
+ "schema": {
729
+ "$ref": "#/definitions/ParticipantsTypeIDSubIDPostRequest"
730
+ }
731
+ },
732
+ {
733
+ "$ref": "#/parameters/Content-Length"
734
+ }
735
+ ],
736
+ "x-examples": {
737
+ "application/json": {
738
+ "“fspId”": "“1234”",
739
+ "“currency”": "“USD”"
740
+ }
741
+ },
742
+ "responses": {
743
+ "202": {
744
+ "$ref": "#/responses/Response202"
745
+ },
746
+ "400": {
747
+ "$ref": "#/responses/ErrorResponse400"
748
+ },
749
+ "401": {
750
+ "$ref": "#/responses/ErrorResponse401"
751
+ },
752
+ "403": {
753
+ "$ref": "#/responses/ErrorResponse403"
754
+ },
755
+ "404": {
756
+ "$ref": "#/responses/ErrorResponse404"
757
+ },
758
+ "405": {
759
+ "$ref": "#/responses/ErrorResponse405"
760
+ },
761
+ "406": {
762
+ "$ref": "#/responses/ErrorResponse406"
763
+ },
764
+ "501": {
765
+ "$ref": "#/responses/ErrorResponse501"
766
+ },
767
+ "503": {
768
+ "$ref": "#/responses/ErrorResponse503"
769
+ }
770
+ }
771
+ },
772
+ "delete": {
773
+ "description": "The HTTP request DELETE /participants/<Type>/<ID> (or DELETE /participants/<Type>/<ID>/<SubId>) is used to delete information in the server regarding the provided identity, defined by <Type> and <ID>) (for example, DELETE /participants/MSISDN/123456789), and optionally <SubId>. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request DELETE /participants/<Type>/<ID>?currency=XYZ should be used, where XYZ is the requested currency. Note - The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information.",
774
+ "summary": "ParticipantsSubIdByTypeAndID",
775
+ "tags": [
776
+ "participants",
777
+ "sampled"
778
+ ],
779
+ "operationId": "als_participantsSubIdByTypeAndID2_delete",
780
+ "produces": [
781
+ "application/json"
782
+ ],
783
+ "parameters": [
784
+ {
785
+ "$ref": "#/parameters/Type"
786
+ },
787
+ {
788
+ "$ref": "#/parameters/ID"
789
+ },
790
+ {
791
+ "$ref": "#/parameters/SubId"
792
+ },
793
+ {
794
+ "$ref": "#/parameters/Content-Type"
795
+ },
796
+ {
797
+ "$ref": "#/parameters/Date"
798
+ },
799
+ {
800
+ "$ref": "#/parameters/X-Forwarded-For"
801
+ },
802
+ {
803
+ "$ref": "#/parameters/FSPIOP-Source"
804
+ },
805
+ {
806
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
807
+ },
808
+ {
809
+ "$ref": "#/parameters/FSPIOP-Encryption"
810
+ },
811
+ {
812
+ "$ref": "#/parameters/FSPIOP-Signature"
813
+ },
814
+ {
815
+ "$ref": "#/parameters/FSPIOP-URI"
816
+ },
817
+ {
818
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
819
+ },
820
+ {
821
+ "$ref": "#/parameters/Accept"
822
+ }
823
+ ],
824
+ "responses": {
825
+ "202": {
826
+ "$ref": "#/responses/Response202"
827
+ },
828
+ "400": {
829
+ "$ref": "#/responses/ErrorResponse400"
830
+ },
831
+ "401": {
832
+ "$ref": "#/responses/ErrorResponse401"
833
+ },
834
+ "403": {
835
+ "$ref": "#/responses/ErrorResponse403"
836
+ },
837
+ "404": {
838
+ "$ref": "#/responses/ErrorResponse404"
839
+ },
840
+ "405": {
841
+ "$ref": "#/responses/ErrorResponse405"
842
+ },
843
+ "406": {
844
+ "$ref": "#/responses/ErrorResponse406"
845
+ },
846
+ "501": {
847
+ "$ref": "#/responses/ErrorResponse501"
848
+ },
849
+ "503": {
850
+ "$ref": "#/responses/ErrorResponse503"
851
+ }
852
+ }
853
+ }
854
+ },
855
+ "/participants/{Type}/{ID}": {
856
+ "parameters": [
857
+ {
858
+ "$ref": "#/parameters/Accept"
859
+ },
860
+ {
861
+ "$ref": "#/parameters/Type"
862
+ },
863
+ {
864
+ "$ref": "#/parameters/ID"
865
+ },
866
+ {
867
+ "$ref": "#/parameters/Content-Type"
868
+ },
869
+ {
870
+ "$ref": "#/parameters/Date"
871
+ },
872
+ {
873
+ "$ref": "#/parameters/X-Forwarded-For"
874
+ },
875
+ {
876
+ "$ref": "#/parameters/FSPIOP-Source"
877
+ },
878
+ {
879
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
880
+ },
881
+ {
882
+ "$ref": "#/parameters/FSPIOP-Encryption"
883
+ },
884
+ {
885
+ "$ref": "#/parameters/FSPIOP-Signature"
886
+ },
887
+ {
888
+ "$ref": "#/parameters/FSPIOP-URI"
889
+ },
890
+ {
891
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
892
+ }
893
+ ],
894
+ "get": {
895
+ "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).",
896
+ "summary": "ParticipantsByTypeAndID",
897
+ "tags": [
898
+ "participants",
899
+ "sampled"
900
+ ],
901
+ "operationId": "als_participantsByTypeAndID_get",
902
+ "produces": [
903
+ "application/json"
904
+ ],
905
+ "parameters": [
906
+ {
907
+ "$ref": "#/parameters/Accept"
908
+ },
909
+ {
910
+ "$ref": "#/parameters/Type"
911
+ },
912
+ {
913
+ "$ref": "#/parameters/ID"
914
+ },
915
+ {
916
+ "$ref": "#/parameters/Content-Type"
917
+ },
918
+ {
919
+ "$ref": "#/parameters/Date"
920
+ },
921
+ {
922
+ "$ref": "#/parameters/X-Forwarded-For"
923
+ },
924
+ {
925
+ "$ref": "#/parameters/FSPIOP-Source"
926
+ },
927
+ {
928
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
929
+ },
930
+ {
931
+ "$ref": "#/parameters/FSPIOP-Encryption"
932
+ },
933
+ {
934
+ "$ref": "#/parameters/FSPIOP-Signature"
935
+ },
936
+ {
937
+ "$ref": "#/parameters/FSPIOP-URI"
938
+ },
939
+ {
940
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
941
+ }
942
+ ],
943
+ "responses": {
944
+ "202": {
945
+ "$ref": "#/responses/Response202"
946
+ },
947
+ "400": {
948
+ "$ref": "#/responses/ErrorResponse400"
949
+ },
950
+ "401": {
951
+ "$ref": "#/responses/ErrorResponse401"
952
+ },
953
+ "403": {
954
+ "$ref": "#/responses/ErrorResponse403"
955
+ },
956
+ "404": {
957
+ "$ref": "#/responses/ErrorResponse404"
958
+ },
959
+ "405": {
960
+ "$ref": "#/responses/ErrorResponse405"
961
+ },
962
+ "406": {
963
+ "$ref": "#/responses/ErrorResponse406"
964
+ },
965
+ "501": {
966
+ "$ref": "#/responses/ErrorResponse501"
967
+ },
968
+ "503": {
969
+ "$ref": "#/responses/ErrorResponse503"
970
+ }
971
+ }
972
+ },
973
+ "put": {
974
+ "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.",
975
+ "summary": "ParticipantsByTypeAndID",
976
+ "tags": [
977
+ "participants",
978
+ "sampled"
979
+ ],
980
+ "operationId": "als_participantsByTypeAndID3_put",
981
+ "produces": [
982
+ "application/json"
983
+ ],
984
+ "parameters": [
985
+ {
986
+ "$ref": "#/parameters/Accept-Optional"
987
+ },
988
+ {
989
+ "$ref": "#/parameters/Type"
990
+ },
991
+ {
992
+ "$ref": "#/parameters/ID"
993
+ },
994
+ {
995
+ "$ref": "#/parameters/Content-Type"
996
+ },
997
+ {
998
+ "$ref": "#/parameters/Date"
999
+ },
1000
+ {
1001
+ "$ref": "#/parameters/X-Forwarded-For"
1002
+ },
1003
+ {
1004
+ "$ref": "#/parameters/FSPIOP-Source"
1005
+ },
1006
+ {
1007
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1008
+ },
1009
+ {
1010
+ "$ref": "#/parameters/FSPIOP-Encryption"
1011
+ },
1012
+ {
1013
+ "$ref": "#/parameters/FSPIOP-Signature"
1014
+ },
1015
+ {
1016
+ "$ref": "#/parameters/FSPIOP-URI"
1017
+ },
1018
+ {
1019
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1020
+ },
1021
+ {
1022
+ "name": "body",
1023
+ "in": "body",
1024
+ "required": true,
1025
+ "schema": {
1026
+ "$ref": "#/definitions/ParticipantsTypeIDPutResponse"
1027
+ }
1028
+ },
1029
+ {
1030
+ "$ref": "#/parameters/Content-Length"
1031
+ }
1032
+ ],
1033
+ "x-examples": {
1034
+ "application/json": {
1035
+ "“fspId”": "“1234”"
1036
+ }
1037
+ },
1038
+ "responses": {
1039
+ "200": {
1040
+ "$ref": "#/responses/Response200"
1041
+ },
1042
+ "400": {
1043
+ "$ref": "#/responses/ErrorResponse400"
1044
+ },
1045
+ "401": {
1046
+ "$ref": "#/responses/ErrorResponse401"
1047
+ },
1048
+ "403": {
1049
+ "$ref": "#/responses/ErrorResponse403"
1050
+ },
1051
+ "404": {
1052
+ "$ref": "#/responses/ErrorResponse404"
1053
+ },
1054
+ "405": {
1055
+ "$ref": "#/responses/ErrorResponse405"
1056
+ },
1057
+ "406": {
1058
+ "$ref": "#/responses/ErrorResponse406"
1059
+ },
1060
+ "501": {
1061
+ "$ref": "#/responses/ErrorResponse501"
1062
+ },
1063
+ "503": {
1064
+ "$ref": "#/responses/ErrorResponse503"
1065
+ }
1066
+ }
1067
+ },
1068
+ "post": {
1069
+ "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).",
1070
+ "summary": "ParticipantsByIDAndType",
1071
+ "tags": [
1072
+ "participants",
1073
+ "sampled"
1074
+ ],
1075
+ "operationId": "als_participantsByIDAndType_post",
1076
+ "produces": [
1077
+ "application/json"
1078
+ ],
1079
+ "parameters": [
1080
+ {
1081
+ "$ref": "#/parameters/Accept"
1082
+ },
1083
+ {
1084
+ "$ref": "#/parameters/Type"
1085
+ },
1086
+ {
1087
+ "$ref": "#/parameters/ID"
1088
+ },
1089
+ {
1090
+ "$ref": "#/parameters/Content-Type"
1091
+ },
1092
+ {
1093
+ "$ref": "#/parameters/Date"
1094
+ },
1095
+ {
1096
+ "$ref": "#/parameters/X-Forwarded-For"
1097
+ },
1098
+ {
1099
+ "$ref": "#/parameters/FSPIOP-Source"
1100
+ },
1101
+ {
1102
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1103
+ },
1104
+ {
1105
+ "$ref": "#/parameters/FSPIOP-Encryption"
1106
+ },
1107
+ {
1108
+ "$ref": "#/parameters/FSPIOP-Signature"
1109
+ },
1110
+ {
1111
+ "$ref": "#/parameters/FSPIOP-URI"
1112
+ },
1113
+ {
1114
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1115
+ },
1116
+ {
1117
+ "name": "body",
1118
+ "in": "body",
1119
+ "required": true,
1120
+ "schema": {
1121
+ "$ref": "#/definitions/ParticipantsTypeIDSubIDPostRequest"
1122
+ }
1123
+ },
1124
+ {
1125
+ "$ref": "#/parameters/Content-Length"
1126
+ }
1127
+ ],
1128
+ "x-examples": {
1129
+ "application/json": {
1130
+ "“fspId”": "“1234”",
1131
+ "“currency”": "“USD”"
1132
+ }
1133
+ },
1134
+ "responses": {
1135
+ "202": {
1136
+ "$ref": "#/responses/Response202"
1137
+ },
1138
+ "400": {
1139
+ "$ref": "#/responses/ErrorResponse400"
1140
+ },
1141
+ "401": {
1142
+ "$ref": "#/responses/ErrorResponse401"
1143
+ },
1144
+ "403": {
1145
+ "$ref": "#/responses/ErrorResponse403"
1146
+ },
1147
+ "404": {
1148
+ "$ref": "#/responses/ErrorResponse404"
1149
+ },
1150
+ "405": {
1151
+ "$ref": "#/responses/ErrorResponse405"
1152
+ },
1153
+ "406": {
1154
+ "$ref": "#/responses/ErrorResponse406"
1155
+ },
1156
+ "501": {
1157
+ "$ref": "#/responses/ErrorResponse501"
1158
+ },
1159
+ "503": {
1160
+ "$ref": "#/responses/ErrorResponse503"
1161
+ }
1162
+ }
1163
+ },
1164
+ "delete": {
1165
+ "description": "The HTTP request DELETE /participants/<Type>/<ID> (or DELETE /participants/<Type>/<ID>/<SubId>) is used to delete information in the server regarding the provided identity, defined by <Type> and <ID>) (for example, DELETE /participants/MSISDN/123456789), and optionally <SubId>. This HTTP request should support a query string to delete FSP information regarding a specific currency only. To delete a specific currency only, the HTTP request DELETE /participants/<Type>/<ID>?currency=XYZ should be used, where XYZ is the requested currency. Note - The Account Lookup System should verify that it is the Party’s current FSP that is deleting the FSP information.",
1166
+ "summary": "ParticipantsByTypeAndID",
1167
+ "tags": [
1168
+ "participants",
1169
+ "sampled"
1170
+ ],
1171
+ "operationId": "als_participantsByTypeAndID2_delete",
1172
+ "produces": [
1173
+ "application/json"
1174
+ ],
1175
+ "parameters": [
1176
+ {
1177
+ "$ref": "#/parameters/Accept"
1178
+ },
1179
+ {
1180
+ "$ref": "#/parameters/Type"
1181
+ },
1182
+ {
1183
+ "$ref": "#/parameters/ID"
1184
+ },
1185
+ {
1186
+ "$ref": "#/parameters/Content-Type"
1187
+ },
1188
+ {
1189
+ "$ref": "#/parameters/Date"
1190
+ },
1191
+ {
1192
+ "$ref": "#/parameters/X-Forwarded-For"
1193
+ },
1194
+ {
1195
+ "$ref": "#/parameters/FSPIOP-Source"
1196
+ },
1197
+ {
1198
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1199
+ },
1200
+ {
1201
+ "$ref": "#/parameters/FSPIOP-Encryption"
1202
+ },
1203
+ {
1204
+ "$ref": "#/parameters/FSPIOP-Signature"
1205
+ },
1206
+ {
1207
+ "$ref": "#/parameters/FSPIOP-URI"
1208
+ },
1209
+ {
1210
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1211
+ }
1212
+ ],
1213
+ "responses": {
1214
+ "202": {
1215
+ "$ref": "#/responses/Response202"
1216
+ },
1217
+ "400": {
1218
+ "$ref": "#/responses/ErrorResponse400"
1219
+ },
1220
+ "401": {
1221
+ "$ref": "#/responses/ErrorResponse401"
1222
+ },
1223
+ "403": {
1224
+ "$ref": "#/responses/ErrorResponse403"
1225
+ },
1226
+ "404": {
1227
+ "$ref": "#/responses/ErrorResponse404"
1228
+ },
1229
+ "405": {
1230
+ "$ref": "#/responses/ErrorResponse405"
1231
+ },
1232
+ "406": {
1233
+ "$ref": "#/responses/ErrorResponse406"
1234
+ },
1235
+ "501": {
1236
+ "$ref": "#/responses/ErrorResponse501"
1237
+ },
1238
+ "503": {
1239
+ "$ref": "#/responses/ErrorResponse503"
1240
+ }
1241
+ }
1242
+ }
1243
+ },
1244
+ "/participants": {
1245
+ "post": {
1246
+ "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",
1247
+ "summary": "Participants",
1248
+ "tags": [
1249
+ "participants",
1250
+ "sampled"
1251
+ ],
1252
+ "operationId": "als_participants1_post",
1253
+ "produces": [
1254
+ "application/json"
1255
+ ],
1256
+ "parameters": [
1257
+ {
1258
+ "name": "body",
1259
+ "in": "body",
1260
+ "required": true,
1261
+ "schema": {
1262
+ "$ref": "#/definitions/ParticipantsPostRequest"
1263
+ }
1264
+ },
1265
+ {
1266
+ "$ref": "#/parameters/Accept"
1267
+ },
1268
+ {
1269
+ "$ref": "#/parameters/Content-Length"
1270
+ },
1271
+ {
1272
+ "$ref": "#/parameters/Content-Type"
1273
+ },
1274
+ {
1275
+ "$ref": "#/parameters/Date"
1276
+ },
1277
+ {
1278
+ "$ref": "#/parameters/X-Forwarded-For"
1279
+ },
1280
+ {
1281
+ "$ref": "#/parameters/FSPIOP-Source"
1282
+ },
1283
+ {
1284
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1285
+ },
1286
+ {
1287
+ "$ref": "#/parameters/FSPIOP-Encryption"
1288
+ },
1289
+ {
1290
+ "$ref": "#/parameters/FSPIOP-Signature"
1291
+ },
1292
+ {
1293
+ "$ref": "#/parameters/FSPIOP-URI"
1294
+ },
1295
+ {
1296
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1297
+ }
1298
+ ],
1299
+ "x-examples": {
1300
+ "application/json": {
1301
+ "“requestId”": "“b51ec534-ee48-4575-b6a9-ead2955b8069”",
1302
+ "“partyList”": [
1303
+ {
1304
+ "“partyIdType”": "“PERSONAL_ID”",
1305
+ "“partyIdentifier”": "“16135551212”",
1306
+ "“partySubIdOrType”": "“PASSPORT”",
1307
+ "“fspId”": "“1234”"
1308
+ },
1309
+ {
1310
+ "“partyIdType”": "“PERSONAL_ID”",
1311
+ "“partyIdentifier”": "“16135551234”",
1312
+ "“partySubIdOrType”": "“DRIVING_LICENSE”",
1313
+ "“fspId”": "“1234”"
1314
+ }
1315
+ ],
1316
+ "currency": "USD"
1317
+ }
1318
+ },
1319
+ "responses": {
1320
+ "202": {
1321
+ "$ref": "#/responses/Response202"
1322
+ },
1323
+ "400": {
1324
+ "$ref": "#/responses/ErrorResponse400"
1325
+ },
1326
+ "401": {
1327
+ "$ref": "#/responses/ErrorResponse401"
1328
+ },
1329
+ "403": {
1330
+ "$ref": "#/responses/ErrorResponse403"
1331
+ },
1332
+ "404": {
1333
+ "$ref": "#/responses/ErrorResponse404"
1334
+ },
1335
+ "405": {
1336
+ "$ref": "#/responses/ErrorResponse405"
1337
+ },
1338
+ "406": {
1339
+ "$ref": "#/responses/ErrorResponse406"
1340
+ },
1341
+ "501": {
1342
+ "$ref": "#/responses/ErrorResponse501"
1343
+ },
1344
+ "503": {
1345
+ "$ref": "#/responses/ErrorResponse503"
1346
+ }
1347
+ }
1348
+ }
1349
+ },
1350
+ "/parties/{Type}/{ID}": {
1351
+ "parameters": [
1352
+ {
1353
+ "$ref": "#/parameters/Accept"
1354
+ },
1355
+ {
1356
+ "$ref": "#/parameters/Type"
1357
+ },
1358
+ {
1359
+ "$ref": "#/parameters/ID"
1360
+ },
1361
+ {
1362
+ "$ref": "#/parameters/Content-Type"
1363
+ },
1364
+ {
1365
+ "$ref": "#/parameters/Date"
1366
+ },
1367
+ {
1368
+ "$ref": "#/parameters/X-Forwarded-For"
1369
+ },
1370
+ {
1371
+ "$ref": "#/parameters/FSPIOP-Source"
1372
+ },
1373
+ {
1374
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1375
+ },
1376
+ {
1377
+ "$ref": "#/parameters/FSPIOP-Encryption"
1378
+ },
1379
+ {
1380
+ "$ref": "#/parameters/FSPIOP-Signature"
1381
+ },
1382
+ {
1383
+ "$ref": "#/parameters/FSPIOP-URI"
1384
+ },
1385
+ {
1386
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1387
+ }
1388
+ ],
1389
+ "get": {
1390
+ "description": "The HTTP request GET /parties/<Type>/<ID> (or GET /parties/<Type>/<ID>/<SubId>) is used to lookup information regarding the requested Party, defined by <Type>, <ID> and optionally <SubId> (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1).",
1391
+ "summary": "PartiesByTypeAndID",
1392
+ "tags": [
1393
+ "parties",
1394
+ "sampled"
1395
+ ],
1396
+ "operationId": "als_partiesByTypeAndID_get",
1397
+ "produces": [
1398
+ "application/json"
1399
+ ],
1400
+ "parameters": [
1401
+ {
1402
+ "$ref": "#/parameters/Accept"
1403
+ },
1404
+ {
1405
+ "$ref": "#/parameters/Type"
1406
+ },
1407
+ {
1408
+ "$ref": "#/parameters/ID"
1409
+ },
1410
+ {
1411
+ "$ref": "#/parameters/Content-Type"
1412
+ },
1413
+ {
1414
+ "$ref": "#/parameters/Date"
1415
+ },
1416
+ {
1417
+ "$ref": "#/parameters/X-Forwarded-For"
1418
+ },
1419
+ {
1420
+ "$ref": "#/parameters/FSPIOP-Source"
1421
+ },
1422
+ {
1423
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1424
+ },
1425
+ {
1426
+ "$ref": "#/parameters/FSPIOP-Encryption"
1427
+ },
1428
+ {
1429
+ "$ref": "#/parameters/FSPIOP-Signature"
1430
+ },
1431
+ {
1432
+ "$ref": "#/parameters/FSPIOP-URI"
1433
+ },
1434
+ {
1435
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1436
+ }
1437
+ ],
1438
+ "responses": {
1439
+ "202": {
1440
+ "$ref": "#/responses/Response202"
1441
+ },
1442
+ "400": {
1443
+ "$ref": "#/responses/ErrorResponse400"
1444
+ },
1445
+ "401": {
1446
+ "$ref": "#/responses/ErrorResponse401"
1447
+ },
1448
+ "403": {
1449
+ "$ref": "#/responses/ErrorResponse403"
1450
+ },
1451
+ "404": {
1452
+ "$ref": "#/responses/ErrorResponse404"
1453
+ },
1454
+ "405": {
1455
+ "$ref": "#/responses/ErrorResponse405"
1456
+ },
1457
+ "406": {
1458
+ "$ref": "#/responses/ErrorResponse406"
1459
+ },
1460
+ "501": {
1461
+ "$ref": "#/responses/ErrorResponse501"
1462
+ },
1463
+ "503": {
1464
+ "$ref": "#/responses/ErrorResponse503"
1465
+ }
1466
+ }
1467
+ },
1468
+ "put": {
1469
+ "description": "The callback PUT /parties/<Type>/<ID> (or PUT /parties/<Type>/<ID>/<SubId>) is used to inform the client of a successful result of the Party information lookup.",
1470
+ "summary": "PartiesByTypeAndID2",
1471
+ "tags": [
1472
+ "parties",
1473
+ "sampled"
1474
+ ],
1475
+ "operationId": "als_partiesByTypeAndID2_put",
1476
+ "produces": [
1477
+ "application/json"
1478
+ ],
1479
+ "parameters": [
1480
+ {
1481
+ "$ref": "#/parameters/Accept-Optional"
1482
+ },
1483
+ {
1484
+ "$ref": "#/parameters/Type"
1485
+ },
1486
+ {
1487
+ "$ref": "#/parameters/ID"
1488
+ },
1489
+ {
1490
+ "$ref": "#/parameters/Content-Type"
1491
+ },
1492
+ {
1493
+ "$ref": "#/parameters/Date"
1494
+ },
1495
+ {
1496
+ "$ref": "#/parameters/X-Forwarded-For"
1497
+ },
1498
+ {
1499
+ "$ref": "#/parameters/FSPIOP-Source"
1500
+ },
1501
+ {
1502
+ "$ref": "#/parameters/FSPIOP-Destination-Required"
1503
+ },
1504
+ {
1505
+ "$ref": "#/parameters/FSPIOP-Encryption"
1506
+ },
1507
+ {
1508
+ "$ref": "#/parameters/FSPIOP-Signature"
1509
+ },
1510
+ {
1511
+ "$ref": "#/parameters/FSPIOP-URI"
1512
+ },
1513
+ {
1514
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1515
+ },
1516
+ {
1517
+ "name": "body",
1518
+ "in": "body",
1519
+ "required": true,
1520
+ "schema": {
1521
+ "$ref": "#/definitions/PartiesTypeIDPutResponse"
1522
+ }
1523
+ },
1524
+ {
1525
+ "$ref": "#/parameters/Content-Length"
1526
+ }
1527
+ ],
1528
+ "x-examples": {
1529
+ "application/json": {
1530
+ "party": {
1531
+ "partyIdInfo": {
1532
+ "“partyIdType”": "“PERSONAL_ID”",
1533
+ "“partyIdentifier”": "“16135551212”",
1534
+ "“partySubIdOrType”": "“DRIVING_LICENSE”",
1535
+ "“fspId”": "“1234”",
1536
+ "“extensionList“": {
1537
+ "“extension“": [
1538
+ {
1539
+ "“key“": "Account Type",
1540
+ "“value“": "Wallet"
1541
+ }
1542
+ ]
1543
+ }
1544
+ },
1545
+ "merchantClassificationCode": "4321",
1546
+ "“name”": "“Justin Trudeau”",
1547
+ "“personalInfo”": {
1548
+ "“complexName”": {
1549
+ "“firstName”": "“Justin”",
1550
+ "“middleName”": "“Pierre”",
1551
+ "“lastName”": "“Trudeau”"
1552
+ },
1553
+ "“dateOfBirth”": "“1971-12-25”"
1554
+ }
1555
+ }
1556
+ }
1557
+ },
1558
+ "responses": {
1559
+ "200": {
1560
+ "$ref": "#/responses/Response200"
1561
+ },
1562
+ "400": {
1563
+ "$ref": "#/responses/ErrorResponse400"
1564
+ },
1565
+ "401": {
1566
+ "$ref": "#/responses/ErrorResponse401"
1567
+ },
1568
+ "403": {
1569
+ "$ref": "#/responses/ErrorResponse403"
1570
+ },
1571
+ "404": {
1572
+ "$ref": "#/responses/ErrorResponse404"
1573
+ },
1574
+ "405": {
1575
+ "$ref": "#/responses/ErrorResponse405"
1576
+ },
1577
+ "406": {
1578
+ "$ref": "#/responses/ErrorResponse406"
1579
+ },
1580
+ "501": {
1581
+ "$ref": "#/responses/ErrorResponse501"
1582
+ },
1583
+ "503": {
1584
+ "$ref": "#/responses/ErrorResponse503"
1585
+ }
1586
+ }
1587
+ }
1588
+ },
1589
+ "/parties/{Type}/{ID}/error": {
1590
+ "put": {
1591
+ "description": "If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback PUT /parties/<Type>/<ID>/error (or PUT /parties/<Type>/<ID>/<SubId>/error) is used.",
1592
+ "summary": "PartiesErrorByTypeAndID",
1593
+ "tags": [
1594
+ "parties",
1595
+ "sampled"
1596
+ ],
1597
+ "operationId": "als_partiesErrorByTypeAndID_put",
1598
+ "produces": [
1599
+ "application/json"
1600
+ ],
1601
+ "parameters": [
1602
+ {
1603
+ "$ref": "#/parameters/Accept-Optional"
1604
+ },
1605
+ {
1606
+ "$ref": "#/parameters/Type"
1607
+ },
1608
+ {
1609
+ "$ref": "#/parameters/ID"
1610
+ },
1611
+ {
1612
+ "$ref": "#/parameters/Content-Type"
1613
+ },
1614
+ {
1615
+ "$ref": "#/parameters/Date"
1616
+ },
1617
+ {
1618
+ "$ref": "#/parameters/X-Forwarded-For"
1619
+ },
1620
+ {
1621
+ "$ref": "#/parameters/FSPIOP-Source"
1622
+ },
1623
+ {
1624
+ "$ref": "#/parameters/FSPIOP-Destination-Required"
1625
+ },
1626
+ {
1627
+ "$ref": "#/parameters/FSPIOP-Encryption"
1628
+ },
1629
+ {
1630
+ "$ref": "#/parameters/FSPIOP-Signature"
1631
+ },
1632
+ {
1633
+ "$ref": "#/parameters/FSPIOP-URI"
1634
+ },
1635
+ {
1636
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1637
+ },
1638
+ {
1639
+ "name": "body",
1640
+ "in": "body",
1641
+ "required": true,
1642
+ "schema": {
1643
+ "$ref": "#/definitions/ErrorInformationObject"
1644
+ }
1645
+ },
1646
+ {
1647
+ "$ref": "#/parameters/Content-Length"
1648
+ }
1649
+ ],
1650
+ "x-examples": {
1651
+ "application/json": {
1652
+ "“errorInformation”": {
1653
+ "“errorCode”": "“5100”",
1654
+ "“errorDescription”": "“This is an error description”",
1655
+ "extensionList": {
1656
+ "extension": [
1657
+ {
1658
+ "“key”": "“errorDescription”",
1659
+ "“value”": "“This is a more detailed error description”"
1660
+ },
1661
+ {
1662
+ "“key”": "“errorDescription”",
1663
+ "“value”": "“This is a more detailed error description”"
1664
+ }
1665
+ ]
1666
+ }
1667
+ }
1668
+ }
1669
+ },
1670
+ "responses": {
1671
+ "200": {
1672
+ "$ref": "#/responses/Response200"
1673
+ },
1674
+ "400": {
1675
+ "$ref": "#/responses/ErrorResponse400"
1676
+ },
1677
+ "401": {
1678
+ "$ref": "#/responses/ErrorResponse401"
1679
+ },
1680
+ "403": {
1681
+ "$ref": "#/responses/ErrorResponse403"
1682
+ },
1683
+ "404": {
1684
+ "$ref": "#/responses/ErrorResponse404"
1685
+ },
1686
+ "405": {
1687
+ "$ref": "#/responses/ErrorResponse405"
1688
+ },
1689
+ "406": {
1690
+ "$ref": "#/responses/ErrorResponse406"
1691
+ },
1692
+ "501": {
1693
+ "$ref": "#/responses/ErrorResponse501"
1694
+ },
1695
+ "503": {
1696
+ "$ref": "#/responses/ErrorResponse503"
1697
+ }
1698
+ }
1699
+ }
1700
+ },
1701
+ "/parties/{Type}/{ID}/{SubId}": {
1702
+ "parameters": [
1703
+ {
1704
+ "$ref": "#/parameters/Type"
1705
+ },
1706
+ {
1707
+ "$ref": "#/parameters/ID"
1708
+ },
1709
+ {
1710
+ "$ref": "#/parameters/SubId"
1711
+ },
1712
+ {
1713
+ "$ref": "#/parameters/Content-Type"
1714
+ },
1715
+ {
1716
+ "$ref": "#/parameters/Date"
1717
+ },
1718
+ {
1719
+ "$ref": "#/parameters/X-Forwarded-For"
1720
+ },
1721
+ {
1722
+ "$ref": "#/parameters/FSPIOP-Source"
1723
+ },
1724
+ {
1725
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1726
+ },
1727
+ {
1728
+ "$ref": "#/parameters/FSPIOP-Encryption"
1729
+ },
1730
+ {
1731
+ "$ref": "#/parameters/FSPIOP-Signature"
1732
+ },
1733
+ {
1734
+ "$ref": "#/parameters/FSPIOP-URI"
1735
+ },
1736
+ {
1737
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1738
+ }
1739
+ ],
1740
+ "get": {
1741
+ "description": "The HTTP request GET /parties/<Type>/<ID> (or GET /parties/<Type>/<ID>/<SubId>) is used to lookup information regarding the requested Party, defined by <Type>, <ID> and optionally <SubId> (for example, GET /parties/MSISDN/123456789, or GET /parties/BUSINESS/shoecompany/employee1).",
1742
+ "summary": "PartiesSubIdByTypeAndID",
1743
+ "tags": [
1744
+ "parties",
1745
+ "sampled"
1746
+ ],
1747
+ "operationId": "als_partiesSubIdByTypeAndID_get",
1748
+ "produces": [
1749
+ "application/json"
1750
+ ],
1751
+ "parameters": [
1752
+ {
1753
+ "$ref": "#/parameters/Type"
1754
+ },
1755
+ {
1756
+ "$ref": "#/parameters/ID"
1757
+ },
1758
+ {
1759
+ "$ref": "#/parameters/SubId"
1760
+ },
1761
+ {
1762
+ "$ref": "#/parameters/Content-Type"
1763
+ },
1764
+ {
1765
+ "$ref": "#/parameters/Date"
1766
+ },
1767
+ {
1768
+ "$ref": "#/parameters/X-Forwarded-For"
1769
+ },
1770
+ {
1771
+ "$ref": "#/parameters/FSPIOP-Source"
1772
+ },
1773
+ {
1774
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1775
+ },
1776
+ {
1777
+ "$ref": "#/parameters/FSPIOP-Encryption"
1778
+ },
1779
+ {
1780
+ "$ref": "#/parameters/FSPIOP-Signature"
1781
+ },
1782
+ {
1783
+ "$ref": "#/parameters/FSPIOP-URI"
1784
+ },
1785
+ {
1786
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1787
+ },
1788
+ {
1789
+ "$ref": "#/parameters/Accept"
1790
+ }
1791
+ ],
1792
+ "responses": {
1793
+ "202": {
1794
+ "$ref": "#/responses/Response202"
1795
+ },
1796
+ "400": {
1797
+ "$ref": "#/responses/ErrorResponse400"
1798
+ },
1799
+ "401": {
1800
+ "$ref": "#/responses/ErrorResponse401"
1801
+ },
1802
+ "403": {
1803
+ "$ref": "#/responses/ErrorResponse403"
1804
+ },
1805
+ "404": {
1806
+ "$ref": "#/responses/ErrorResponse404"
1807
+ },
1808
+ "405": {
1809
+ "$ref": "#/responses/ErrorResponse405"
1810
+ },
1811
+ "406": {
1812
+ "$ref": "#/responses/ErrorResponse406"
1813
+ },
1814
+ "501": {
1815
+ "$ref": "#/responses/ErrorResponse501"
1816
+ },
1817
+ "503": {
1818
+ "$ref": "#/responses/ErrorResponse503"
1819
+ }
1820
+ }
1821
+ },
1822
+ "put": {
1823
+ "description": "The callback PUT /parties/<Type>/<ID> (or PUT /parties/<Type>/<ID>/<SubId>) is used to inform the client of a successful result of the Party information lookup.",
1824
+ "summary": "PartiesSubIdByTypeAndID",
1825
+ "tags": [
1826
+ "parties",
1827
+ "sampled"
1828
+ ],
1829
+ "operationId": "also_partiesSubIdByTypeAndID_put",
1830
+ "produces": [
1831
+ "application/json"
1832
+ ],
1833
+ "parameters": [
1834
+ {
1835
+ "$ref": "#/parameters/Type"
1836
+ },
1837
+ {
1838
+ "$ref": "#/parameters/ID"
1839
+ },
1840
+ {
1841
+ "$ref": "#/parameters/SubId"
1842
+ },
1843
+ {
1844
+ "$ref": "#/parameters/Content-Type"
1845
+ },
1846
+ {
1847
+ "$ref": "#/parameters/Date"
1848
+ },
1849
+ {
1850
+ "$ref": "#/parameters/X-Forwarded-For"
1851
+ },
1852
+ {
1853
+ "$ref": "#/parameters/FSPIOP-Source"
1854
+ },
1855
+ {
1856
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1857
+ },
1858
+ {
1859
+ "$ref": "#/parameters/FSPIOP-Encryption"
1860
+ },
1861
+ {
1862
+ "$ref": "#/parameters/FSPIOP-Signature"
1863
+ },
1864
+ {
1865
+ "$ref": "#/parameters/FSPIOP-URI"
1866
+ },
1867
+ {
1868
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
1869
+ },
1870
+ {
1871
+ "name": "body",
1872
+ "in": "body",
1873
+ "required": true,
1874
+ "schema": {
1875
+ "$ref": "#/definitions/PartiesTypeIDPutResponse"
1876
+ }
1877
+ },
1878
+ {
1879
+ "$ref": "#/parameters/Content-Length"
1880
+ }
1881
+ ],
1882
+ "x-examples": {
1883
+ "application/json": {
1884
+ "party": {
1885
+ "partyIdInfo": {
1886
+ "“partyIdType”": "“PERSONAL_ID”",
1887
+ "“partyIdentifier”": "“16135551212”",
1888
+ "“partySubIdOrType”": "“DRIVING_LICENSE”",
1889
+ "“fspId”": "“1234”",
1890
+ "“extensionList“": {
1891
+ "“extension“": [
1892
+ {
1893
+ "“key“": "Account Type",
1894
+ "“value“": "Wallet"
1895
+ }
1896
+ ]
1897
+ }
1898
+ },
1899
+ "merchantClassificationCode": "4321",
1900
+ "“name”": "“Justin Trudeau”",
1901
+ "“personalInfo”": {
1902
+ "“complexName”": {
1903
+ "“firstName”": "“Justin”",
1904
+ "“middleName”": "“Pierre”",
1905
+ "“lastName”": "“Trudeau”"
1906
+ },
1907
+ "“dateOfBirth”": "“1971-12-25”"
1908
+ }
1909
+ }
1910
+ }
1911
+ },
1912
+ "responses": {
1913
+ "200": {
1914
+ "$ref": "#/responses/Response200"
1915
+ },
1916
+ "400": {
1917
+ "$ref": "#/responses/ErrorResponse400"
1918
+ },
1919
+ "401": {
1920
+ "$ref": "#/responses/ErrorResponse401"
1921
+ },
1922
+ "403": {
1923
+ "$ref": "#/responses/ErrorResponse403"
1924
+ },
1925
+ "404": {
1926
+ "$ref": "#/responses/ErrorResponse404"
1927
+ },
1928
+ "405": {
1929
+ "$ref": "#/responses/ErrorResponse405"
1930
+ },
1931
+ "406": {
1932
+ "$ref": "#/responses/ErrorResponse406"
1933
+ },
1934
+ "501": {
1935
+ "$ref": "#/responses/ErrorResponse501"
1936
+ },
1937
+ "503": {
1938
+ "$ref": "#/responses/ErrorResponse503"
1939
+ }
1940
+ }
1941
+ }
1942
+ },
1943
+ "/parties/{Type}/{ID}/{SubId}/error": {
1944
+ "put": {
1945
+ "description": "If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback PUT /parties/<Type>/<ID>/error (or PUT /parties/<Type>/<ID>/<SubId>/error) is used.",
1946
+ "summary": "PartiesSubIdErrorByTypeAndID",
1947
+ "tags": [
1948
+ "parties",
1949
+ "sampled"
1950
+ ],
1951
+ "operationId": "als_partiesSubIdErrorByTypeAndID_put",
1952
+ "produces": [
1953
+ "application/json"
1954
+ ],
1955
+ "parameters": [
1956
+ {
1957
+ "$ref": "#/parameters/Type"
1958
+ },
1959
+ {
1960
+ "$ref": "#/parameters/ID"
1961
+ },
1962
+ {
1963
+ "$ref": "#/parameters/SubId"
1964
+ },
1965
+ {
1966
+ "name": "body",
1967
+ "in": "body",
1968
+ "required": true,
1969
+ "schema": {
1970
+ "$ref": "#/definitions/ErrorInformationObject"
1971
+ }
1972
+ },
1973
+ {
1974
+ "$ref": "#/parameters/Content-Length"
1975
+ },
1976
+ {
1977
+ "$ref": "#/parameters/Content-Type"
1978
+ },
1979
+ {
1980
+ "$ref": "#/parameters/Date"
1981
+ },
1982
+ {
1983
+ "$ref": "#/parameters/X-Forwarded-For"
1984
+ },
1985
+ {
1986
+ "$ref": "#/parameters/FSPIOP-Source"
1987
+ },
1988
+ {
1989
+ "$ref": "#/parameters/FSPIOP-Destination-Optional"
1990
+ },
1991
+ {
1992
+ "$ref": "#/parameters/FSPIOP-Encryption"
1993
+ },
1994
+ {
1995
+ "$ref": "#/parameters/FSPIOP-Signature"
1996
+ },
1997
+ {
1998
+ "$ref": "#/parameters/FSPIOP-URI"
1999
+ },
2000
+ {
2001
+ "$ref": "#/parameters/FSPIOP-HTTP-Method"
2002
+ }
2003
+ ],
2004
+ "x-examples": {
2005
+ "application/json": {
2006
+ "“errorInformation”": {
2007
+ "“errorCode”": "“5100”",
2008
+ "“errorDescription”": "“This is an error description”",
2009
+ "extensionList": {
2010
+ "extension": [
2011
+ {
2012
+ "“key”": "“errorDescription”",
2013
+ "“value”": "“This is a more detailed error description”"
2014
+ },
2015
+ {
2016
+ "“key”": "“errorDescription”",
2017
+ "“value”": "“This is a more detailed error description”"
2018
+ }
2019
+ ]
2020
+ }
2021
+ }
2022
+ }
2023
+ },
2024
+ "responses": {
2025
+ "200": {
2026
+ "$ref": "#/responses/Response200"
2027
+ },
2028
+ "400": {
2029
+ "$ref": "#/responses/ErrorResponse400"
2030
+ },
2031
+ "401": {
2032
+ "$ref": "#/responses/ErrorResponse401"
2033
+ },
2034
+ "403": {
2035
+ "$ref": "#/responses/ErrorResponse403"
2036
+ },
2037
+ "404": {
2038
+ "$ref": "#/responses/ErrorResponse404"
2039
+ },
2040
+ "405": {
2041
+ "$ref": "#/responses/ErrorResponse405"
2042
+ },
2043
+ "406": {
2044
+ "$ref": "#/responses/ErrorResponse406"
2045
+ },
2046
+ "501": {
2047
+ "$ref": "#/responses/ErrorResponse501"
2048
+ },
2049
+ "503": {
2050
+ "$ref": "#/responses/ErrorResponse503"
2051
+ }
2052
+ }
2053
+ }
2054
+ },
2055
+ "/health": {
2056
+ "get": {
2057
+ "description": "The HTTP request GET /health is used to return the current status of the ALS API.",
2058
+ "summary": "Get health",
2059
+ "tags": [
2060
+ "health"
2061
+ ],
2062
+ "operationId": "als_ApiHealth_get",
2063
+ "produces": [
2064
+ "application/json"
2065
+ ],
2066
+ "responses": {
2067
+ "200": {
2068
+ "$ref": "#/responses/ResponseHealth200"
2069
+ },
2070
+ "400": {
2071
+ "$ref": "#/responses/ErrorResponse400"
2072
+ },
2073
+ "401": {
2074
+ "$ref": "#/responses/ErrorResponse401"
2075
+ },
2076
+ "403": {
2077
+ "$ref": "#/responses/ErrorResponse403"
2078
+ },
2079
+ "404": {
2080
+ "$ref": "#/responses/ErrorResponse404"
2081
+ },
2082
+ "405": {
2083
+ "$ref": "#/responses/ErrorResponse405"
2084
+ },
2085
+ "406": {
2086
+ "$ref": "#/responses/ErrorResponse406"
2087
+ },
2088
+ "501": {
2089
+ "$ref": "#/responses/ErrorResponse501"
2090
+ },
2091
+ "503": {
2092
+ "$ref": "#/responses/ErrorResponse503"
2093
+ }
2094
+ }
2095
+ }
2096
+ },
2097
+ "/endpointcache": {
2098
+ "delete": {
2099
+ "description": "The HTTP request DELETE /endpointcache is used to reset the endpoint cache by performing an stopCache and initializeCache the Admin API.",
2100
+ "summary": "Endpoint Cache",
2101
+ "tags": [
2102
+ "cache",
2103
+ "sampled"
2104
+ ],
2105
+ "operationId": "als_endpointCache_get",
2106
+ "parameters": [
2107
+ {
2108
+ "$ref": "#/parameters/Date"
2109
+ }
2110
+ ],
2111
+ "responses": {
2112
+ "202": {
2113
+ "$ref": "#/responses/Response202"
2114
+ },
2115
+ "400": {
2116
+ "$ref": "#/responses/ErrorResponse400"
2117
+ },
2118
+ "401": {
2119
+ "$ref": "#/responses/ErrorResponse401"
2120
+ },
2121
+ "403": {
2122
+ "$ref": "#/responses/ErrorResponse403"
2123
+ },
2124
+ "404": {
2125
+ "$ref": "#/responses/ErrorResponse404"
2126
+ },
2127
+ "405": {
2128
+ "$ref": "#/responses/ErrorResponse405"
2129
+ },
2130
+ "406": {
2131
+ "$ref": "#/responses/ErrorResponse406"
2132
+ },
2133
+ "501": {
2134
+ "$ref": "#/responses/ErrorResponse501"
2135
+ },
2136
+ "503": {
2137
+ "$ref": "#/responses/ErrorResponse503"
2138
+ }
2139
+ }
2140
+ }
2141
+ }
2142
+ },
2143
+ "definitions": {
2144
+ "CorrelationId": {
2145
+ "title": "CorrelationId",
2146
+ "type": "string",
2147
+ "pattern": "^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$",
2148
+ "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, that is restricted by a regular expression for interoperability reasons. An UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘)."
2149
+ },
2150
+ "Currency": {
2151
+ "title": "CurrencyEnum",
2152
+ "description": "The currency codes defined in ISO 4217 as three-letter alphabetic codes are used as the standard naming representation for currencies.",
2153
+ "type": "string",
2154
+ "minLength": 3,
2155
+ "maxLength": 3,
2156
+ "enum": [
2157
+ "AED",
2158
+ "AFN",
2159
+ "ALL",
2160
+ "AMD",
2161
+ "ANG",
2162
+ "AOA",
2163
+ "ARS",
2164
+ "AUD",
2165
+ "AWG",
2166
+ "AZN",
2167
+ "BAM",
2168
+ "BBD",
2169
+ "BDT",
2170
+ "BGN",
2171
+ "BHD",
2172
+ "BIF",
2173
+ "BMD",
2174
+ "BND",
2175
+ "BOB",
2176
+ "BRL",
2177
+ "BSD",
2178
+ "BTN",
2179
+ "BWP",
2180
+ "BYN",
2181
+ "BZD",
2182
+ "CAD",
2183
+ "CDF",
2184
+ "CHF",
2185
+ "CLP",
2186
+ "CNY",
2187
+ "COP",
2188
+ "CRC",
2189
+ "CUC",
2190
+ "CUP",
2191
+ "CVE",
2192
+ "CZK",
2193
+ "DJF",
2194
+ "DKK",
2195
+ "DOP",
2196
+ "DZD",
2197
+ "EGP",
2198
+ "ERN",
2199
+ "ETB",
2200
+ "EUR",
2201
+ "FJD",
2202
+ "FKP",
2203
+ "GBP",
2204
+ "GEL",
2205
+ "GGP",
2206
+ "GHS",
2207
+ "GIP",
2208
+ "GMD",
2209
+ "GNF",
2210
+ "GTQ",
2211
+ "GYD",
2212
+ "HKD",
2213
+ "HNL",
2214
+ "HRK",
2215
+ "HTG",
2216
+ "HUF",
2217
+ "IDR",
2218
+ "ILS",
2219
+ "IMP",
2220
+ "INR",
2221
+ "IQD",
2222
+ "IRR",
2223
+ "ISK",
2224
+ "JEP",
2225
+ "JMD",
2226
+ "JOD",
2227
+ "JPY",
2228
+ "KES",
2229
+ "KGS",
2230
+ "KHR",
2231
+ "KMF",
2232
+ "KPW",
2233
+ "KRW",
2234
+ "KWD",
2235
+ "KYD",
2236
+ "KZT",
2237
+ "LAK",
2238
+ "LBP",
2239
+ "LKR",
2240
+ "LRD",
2241
+ "LSL",
2242
+ "LYD",
2243
+ "MAD",
2244
+ "MDL",
2245
+ "MGA",
2246
+ "MKD",
2247
+ "MMK",
2248
+ "MNT",
2249
+ "MOP",
2250
+ "MRO",
2251
+ "MUR",
2252
+ "MVR",
2253
+ "MWK",
2254
+ "MXN",
2255
+ "MYR",
2256
+ "MZN",
2257
+ "NAD",
2258
+ "NGN",
2259
+ "NIO",
2260
+ "NOK",
2261
+ "NPR",
2262
+ "NZD",
2263
+ "OMR",
2264
+ "PAB",
2265
+ "PEN",
2266
+ "PGK",
2267
+ "PHP",
2268
+ "PKR",
2269
+ "PLN",
2270
+ "PYG",
2271
+ "QAR",
2272
+ "RON",
2273
+ "RSD",
2274
+ "RUB",
2275
+ "RWF",
2276
+ "SAR",
2277
+ "SBD",
2278
+ "SCR",
2279
+ "SDG",
2280
+ "SEK",
2281
+ "SGD",
2282
+ "SHP",
2283
+ "SLL",
2284
+ "SOS",
2285
+ "SPL",
2286
+ "SRD",
2287
+ "STD",
2288
+ "SVC",
2289
+ "SYP",
2290
+ "SZL",
2291
+ "THB",
2292
+ "TJS",
2293
+ "TMT",
2294
+ "TND",
2295
+ "TOP",
2296
+ "TRY",
2297
+ "TTD",
2298
+ "TVD",
2299
+ "TWD",
2300
+ "TZS",
2301
+ "UAH",
2302
+ "UGX",
2303
+ "USD",
2304
+ "UYU",
2305
+ "UZS",
2306
+ "VEF",
2307
+ "VND",
2308
+ "VUV",
2309
+ "WST",
2310
+ "XAF",
2311
+ "XCD",
2312
+ "XDR",
2313
+ "XOF",
2314
+ "XPF",
2315
+ "XTS",
2316
+ "XXX",
2317
+ "YER",
2318
+ "ZAR",
2319
+ "ZMW",
2320
+ "ZWD"
2321
+ ]
2322
+ },
2323
+ "Date": {
2324
+ "title": "Date",
2325
+ "type": "string",
2326
+ "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)$",
2327
+ "description": "The API data type Date is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. This format, as specified in ISO 8601, contains a date only. A more readable version of the format is yyyy-MM-dd. Examples - \"1982-05-23\", \"1987-08-05”"
2328
+ },
2329
+ "DateOfBirth": {
2330
+ "title": "DateofBirth (type Date)",
2331
+ "type": "string",
2332
+ "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)$",
2333
+ "description": "Date of Birth of the Party."
2334
+ },
2335
+ "ErrorCode": {
2336
+ "title": "ErrorCode",
2337
+ "type": "string",
2338
+ "pattern": "^[1-9]\\d{3}$",
2339
+ "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) represents the specific error."
2340
+ },
2341
+ "ErrorDescription": {
2342
+ "title": "ErrorDescription",
2343
+ "type": "string",
2344
+ "minLength": 1,
2345
+ "maxLength": 128,
2346
+ "description": "Error description string."
2347
+ },
2348
+ "ExtensionKey": {
2349
+ "title": "ExtensionKey",
2350
+ "type": "string",
2351
+ "minLength": 1,
2352
+ "maxLength": 32,
2353
+ "description": "Extension key."
2354
+ },
2355
+ "ExtensionValue": {
2356
+ "title": "ExtensionValue",
2357
+ "type": "string",
2358
+ "minLength": 1,
2359
+ "maxLength": 128,
2360
+ "description": "Extension value."
2361
+ },
2362
+ "FspId": {
2363
+ "title": "FspId",
2364
+ "type": "string",
2365
+ "minLength": 1,
2366
+ "maxLength": 32,
2367
+ "description": "FSP identifier."
2368
+ },
2369
+ "HealthStatusType": {
2370
+ "title": "HealthStatusType",
2371
+ "type": "string",
2372
+ "enum": [
2373
+ "OK",
2374
+ "DOWN"
2375
+ ],
2376
+ "description": "Below are the allowed values for the enumeration HealthStatusType - OK - DOWN"
2377
+ },
2378
+ "MerchantClassificationCode": {
2379
+ "title": "MerchantClassificationCode",
2380
+ "type": "string",
2381
+ "pattern": "^[\\d]{1,4}$",
2382
+ "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."
2383
+ },
2384
+ "PartyIdType": {
2385
+ "title": "PartyIdTypeEnum",
2386
+ "type": "string",
2387
+ "enum": [
2388
+ "MSISDN",
2389
+ "EMAIL",
2390
+ "PERSONAL_ID",
2391
+ "BUSINESS",
2392
+ "DEVICE",
2393
+ "ACCOUNT_ID",
2394
+ "IBAN",
2395
+ "ALIAS"
2396
+ ],
2397
+ "description": "Below are the allowed values for the enumeration - MSISDN An MSISDN (Mobile Station International Subscriber Directory Number, that is, the phone number) is used as reference to a participant. The MSISDN identifier should be in international format according to the ITU-T E.164 standard. Optionally, the MSISDN may be prefixed by a single plus sign, indicating the international prefix. - EMAIL An email is used as reference to a participant. The format of the email should be according to the informational RFC 3696. - PERSONAL_ID A personal identifier is used as reference to a participant. Examples of personal identification are passport number, birth certificate number, and national registration number. The identifier number is added in the PartyIdentifier element. The personal identifier type is added in the PartySubIdOrType element. - BUSINESS A specific Business (for example, an organization or a company) is used as reference to a participant. The BUSINESS identifier can be in any format. To make a transaction connected to a specific username or bill number in a Business, the PartySubIdOrType element should be used. - DEVICE A specific device (for example, a POS or ATM) ID connected to a specific business or organization is used as reference to a Party. For referencing a specific device under a specific business or organization, use the PartySubIdOrType element. - ACCOUNT_ID A bank account number or FSP account ID should be used as reference to a participant. The ACCOUNT_ID identifier can be in any format, as formats can greatly differ depending on country and FSP. - IBAN A bank account number or FSP account ID is used as reference to a participant. The IBAN identifier can consist of up to 34 alphanumeric characters and should be entered without whitespace. - ALIAS An alias is used as reference to a participant. The alias should be created in the FSP as an alternative reference to an account owner. Another example of an alias is a username in the FSP system. The ALIAS identifier can be in any format. It is also possible to use the PartySubIdOrType element for identifying an account under an Alias defined by the PartyIdentifier."
2398
+ },
2399
+ "ErrorInformation": {
2400
+ "title": "ErrorInformation",
2401
+ "type": "object",
2402
+ "description": "Data model for the complex type ErrorInformation.",
2403
+ "properties": {
2404
+ "errorCode": {
2405
+ "$ref": "#/definitions/ErrorCode",
2406
+ "description": "Specific error number."
2407
+ },
2408
+ "errorDescription": {
2409
+ "$ref": "#/definitions/ErrorDescription",
2410
+ "description": "Error description string."
2411
+ },
2412
+ "extensionList": {
2413
+ "$ref": "#/definitions/ExtensionList",
2414
+ "description": "Optional list of extensions, specific to deployment."
2415
+ }
2416
+ },
2417
+ "required": [
2418
+ "errorCode",
2419
+ "errorDescription"
2420
+ ]
2421
+ },
2422
+ "ErrorInformationObject": {
2423
+ "title": "ErrorInformationObject",
2424
+ "type": "object",
2425
+ "description": "Data model for the complex type object that contains ErrorInformation.",
2426
+ "properties": {
2427
+ "errorInformation": {
2428
+ "$ref": "#/definitions/ErrorInformation"
2429
+ }
2430
+ },
2431
+ "required": [
2432
+ "errorInformation"
2433
+ ]
2434
+ },
2435
+ "ErrorInformationResponse": {
2436
+ "title": "ErrorInformationResponse",
2437
+ "type": "object",
2438
+ "description": "Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses.",
2439
+ "properties": {
2440
+ "errorInformation": {
2441
+ "$ref": "#/definitions/ErrorInformation"
2442
+ }
2443
+ }
2444
+ },
2445
+ "Extension": {
2446
+ "title": "Extension",
2447
+ "type": "object",
2448
+ "description": "Data model for the complex type Extension",
2449
+ "properties": {
2450
+ "key": {
2451
+ "$ref": "#/definitions/ExtensionKey",
2452
+ "description": "Extension key."
2453
+ },
2454
+ "value": {
2455
+ "$ref": "#/definitions/ExtensionValue",
2456
+ "description": "Extension value."
2457
+ }
2458
+ },
2459
+ "required": [
2460
+ "key",
2461
+ "value"
2462
+ ]
2463
+ },
2464
+ "ExtensionList": {
2465
+ "title": "ExtensionList",
2466
+ "type": "object",
2467
+ "description": "Data model for the complex type ExtensionList",
2468
+ "properties": {
2469
+ "extension": {
2470
+ "type": "array",
2471
+ "items": {
2472
+ "$ref": "#/definitions/Extension"
2473
+ },
2474
+ "minItems": 1,
2475
+ "maxItems": 16,
2476
+ "description": "Number of Extension elements"
2477
+ }
2478
+ },
2479
+ "required": [
2480
+ "extension"
2481
+ ]
2482
+ },
2483
+ "FirstName": {
2484
+ "title": "FirstName",
2485
+ "type": "string",
2486
+ "minLength": 1,
2487
+ "maxLength": 128,
2488
+ "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
2489
+ "description": "First name of the Party (Name Type)."
2490
+ },
2491
+ "HealthServicesType":{
2492
+ "title": "HealthServicesType",
2493
+ "type": "object",
2494
+ "description": "Data model for the complex type HealthServicesType. Contains health services information.",
2495
+ "properties": {
2496
+ "name": {
2497
+ "type": "string"
2498
+ },
2499
+ "status": {
2500
+ "$ref": "#/definitions/HealthStatusType"
2501
+ }
2502
+ }
2503
+ },
2504
+ "LastName": {
2505
+ "title": "LastName",
2506
+ "type": "string",
2507
+ "minLength": 1,
2508
+ "maxLength": 128,
2509
+ "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
2510
+ "description": "Last name of the Party (Name Type)."
2511
+ },
2512
+ "MiddleName": {
2513
+ "title": "MiddleName",
2514
+ "type": "string",
2515
+ "minLength": 1,
2516
+ "maxLength": 128,
2517
+ "pattern": "^(?!\\s*$)[\\w .,'-]{1,128}$",
2518
+ "description": "Middle name of the Party (Name Type)."
2519
+ },
2520
+ "ParticipantsTypeIDSubIDPostRequest": {
2521
+ "title": "ParticipantsTypeIDSubIDPostRequest",
2522
+ "type": "object",
2523
+ "description": "POST /participants/{Type}/{ID}/{SubId}, /participants/{Type}/{ID} object",
2524
+ "properties": {
2525
+ "fspId": {
2526
+ "$ref": "#/definitions/FspId",
2527
+ "description": "FSP Identifier that the Party belongs to."
2528
+ },
2529
+ "currency": {
2530
+ "$ref": "#/definitions/Currency",
2531
+ "description": "Indicate that the provided Currency is supported by the Party."
2532
+ },
2533
+ "extensionList": {
2534
+ "$ref": "#/definitions/ExtensionList",
2535
+ "description": "Optional extension, specific to deployment."
2536
+ }
2537
+ },
2538
+ "required": [
2539
+ "fspId"
2540
+ ]
2541
+ },
2542
+ "ParticipantsTypeIDPutResponse": {
2543
+ "title": "ParticipantsTypeIDPutResponse",
2544
+ "type": "object",
2545
+ "description": "PUT /participants/{Type}/{ID}/{SubId}, /participants/{Type}/{ID} object",
2546
+ "properties": {
2547
+ "fspId": {
2548
+ "$ref": "#/definitions/FspId",
2549
+ "description": "FSP Identifier that the Party belongs to."
2550
+ }
2551
+ }
2552
+ },
2553
+ "ParticipantsIDPutResponse": {
2554
+ "title": "ParticipantsIDPutResponse",
2555
+ "type": "object",
2556
+ "description": "PUT /participants/{ID} object",
2557
+ "properties": {
2558
+ "partyList": {
2559
+ "type": "array",
2560
+ "items": {
2561
+ "$ref": "#/definitions/PartyResult"
2562
+ },
2563
+ "minItems": 1,
2564
+ "maxItems": 10000,
2565
+ "description": "List of PartyResult elements that were either created or failed to be created."
2566
+ },
2567
+ "currency": {
2568
+ "$ref": "#/definitions/Currency",
2569
+ "type": "string",
2570
+ "description": "Indicate that the provided Currency was set to be supported by each successfully added PartyIdInfo."
2571
+ }
2572
+ },
2573
+ "required": [
2574
+ "partyList"
2575
+ ]
2576
+ },
2577
+ "ParticipantsPostRequest": {
2578
+ "title": "ParticipantsPostRequest",
2579
+ "type": "object",
2580
+ "description": "POST /participants object",
2581
+ "properties": {
2582
+ "requestId": {
2583
+ "$ref": "#/definitions/CorrelationId",
2584
+ "description": "The ID of the request, decided by the client. Used for identification of the callback from the server."
2585
+ },
2586
+ "partyList": {
2587
+ "type": "array",
2588
+ "items": {
2589
+ "$ref": "#/definitions/PartyIdInfo"
2590
+ },
2591
+ "minItems": 1,
2592
+ "maxItems": 10000,
2593
+ "description": "List of PartyIdInfo elements that the client would like to update or create FSP information about."
2594
+ },
2595
+ "currency": {
2596
+ "$ref": "#/definitions/Currency",
2597
+ "description": "Indicate that the provided Currency is supported by each PartyIdInfo in the list."
2598
+ }
2599
+ },
2600
+ "required": [
2601
+ "requestId",
2602
+ "partyList"
2603
+ ]
2604
+ },
2605
+ "Party": {
2606
+ "title": "Party",
2607
+ "type": "object",
2608
+ "description": "Data model for the complex type Party.",
2609
+ "properties": {
2610
+ "partyIdInfo": {
2611
+ "$ref": "#/definitions/PartyIdInfo",
2612
+ "description": "Party Id type, id, sub ID or type, and FSP Id."
2613
+ },
2614
+ "merchantClassificationCode": {
2615
+ "$ref": "#/definitions/MerchantClassificationCode",
2616
+ "description": "Used in the context of Payee Information, where the Payee happens to be a merchant accepting merchant payments."
2617
+ },
2618
+ "name": {
2619
+ "$ref": "#/definitions/PartyName",
2620
+ "description": "Display name of the Party, could be a real name or a nick name."
2621
+ },
2622
+ "personalInfo": {
2623
+ "$ref": "#/definitions/PartyPersonalInfo",
2624
+ "description": "Personal information used to verify identity of Party such as first, middle, last name and date of birth."
2625
+ }
2626
+ },
2627
+ "required": [
2628
+ "partyIdInfo"
2629
+ ]
2630
+ },
2631
+ "PartyComplexName": {
2632
+ "title": "PartyComplexName",
2633
+ "type": "object",
2634
+ "description": "Data model for the complex type PartyComplexName.",
2635
+ "properties": {
2636
+ "firstName": {
2637
+ "type": "string",
2638
+ "$ref": "#/definitions/FirstName",
2639
+ "description": "Party’s first name."
2640
+ },
2641
+ "middleName": {
2642
+ "$ref": "#/definitions/MiddleName",
2643
+ "description": "Party’s middle name."
2644
+ },
2645
+ "lastName": {
2646
+ "$ref": "#/definitions/LastName",
2647
+ "description": "Party’s last name."
2648
+ }
2649
+ }
2650
+ },
2651
+ "PartyIdInfo": {
2652
+ "title": "PartyIdInfo",
2653
+ "type": "object",
2654
+ "description": "Data model for the complex type PartyIdInfo.",
2655
+ "properties": {
2656
+ "partyIdType": {
2657
+ "$ref": "#/definitions/PartyIdType",
2658
+ "description": "Type of the identifier."
2659
+ },
2660
+ "partyIdentifier": {
2661
+ "$ref": "#/definitions/PartyIdentifier",
2662
+ "description": "An identifier for the Party."
2663
+ },
2664
+ "partySubIdOrType": {
2665
+ "$ref": "#/definitions/PartySubIdOrType",
2666
+ "description": "A sub-identifier or sub-type for the Party."
2667
+ },
2668
+ "fspId": {
2669
+ "$ref": "#/definitions/FspId",
2670
+ "description": "FSP ID (if known)"
2671
+ },
2672
+ "extensionList": {
2673
+ "$ref": "#/definitions/ExtensionList",
2674
+ "description": "Optional extension, specific to deployment."
2675
+ }
2676
+ },
2677
+ "required": [
2678
+ "partyIdType",
2679
+ "partyIdentifier"
2680
+ ]
2681
+ },
2682
+ "PartyIdentifier": {
2683
+ "title": "PartyIdentifier",
2684
+ "type": "string",
2685
+ "minLength": 1,
2686
+ "maxLength": 128,
2687
+ "description": "Identifier of the Party."
2688
+ },
2689
+ "PartyName": {
2690
+ "title": "PartyName",
2691
+ "type": "string",
2692
+ "minLength": 1,
2693
+ "maxLength": 128,
2694
+ "description": "Name of the Party. Could be a real name or a nickname."
2695
+ },
2696
+ "PartySubIdOrType": {
2697
+ "title": "PartySubIdOrType",
2698
+ "type": "string",
2699
+ "minLength": 1,
2700
+ "maxLength": 128,
2701
+ "description": "Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType."
2702
+ },
2703
+ "PartiesTypeIDPutResponse": {
2704
+ "title": "PartiesTypeIDPutResponse",
2705
+ "type": "object",
2706
+ "description": "PUT /parties/{Type}/{ID} object",
2707
+ "properties": {
2708
+ "party": {
2709
+ "$ref": "#/definitions/Party",
2710
+ "description": "Information regarding the requested Party."
2711
+ }
2712
+ },
2713
+ "required": [
2714
+ "party"
2715
+ ]
2716
+ },
2717
+ "PartyPersonalInfo": {
2718
+ "title": "PartyPersonalInfo",
2719
+ "type": "object",
2720
+ "description": "Data model for the complex type PartyPersonalInfo.",
2721
+ "properties": {
2722
+ "complexName": {
2723
+ "$ref": "#/definitions/PartyComplexName",
2724
+ "description": "First, middle and last name for the Party."
2725
+ },
2726
+ "dateOfBirth": {
2727
+ "$ref": "#/definitions/DateOfBirth",
2728
+ "description": "Date of birth for the Party."
2729
+ }
2730
+ }
2731
+ },
2732
+ "PartyResult": {
2733
+ "title": "PartyResult",
2734
+ "type": "object",
2735
+ "description": "Data model for the complex type PartyResult.",
2736
+ "properties": {
2737
+ "partyId": {
2738
+ "$ref": "#/definitions/PartyIdInfo",
2739
+ "description": "Party Id type, id, sub ID or type, and FSP Id."
2740
+ },
2741
+ "errorInformation": {
2742
+ "$ref": "#/definitions/ErrorInformation",
2743
+ "description": "If the Party failed to be added, error information should be provided. Otherwise, this parameter should be empty to indicate success."
2744
+ }
2745
+ },
2746
+ "required": [
2747
+ "partyId"
2748
+ ]
2749
+ },
2750
+ "Status": {
2751
+ "title": "Status",
2752
+ "type": "object",
2753
+ "description": "Data model for the api status.",
2754
+ "properties": {
2755
+ "status": {
2756
+ "type": "string",
2757
+ "description": "The return status, usually \"OK\""
2758
+ },
2759
+ "uptime": {
2760
+ "type": "number",
2761
+ "description": "The amount of time in seconds that the server has been up for."
2762
+ },
2763
+ "startTime": {
2764
+ "type": "string",
2765
+ "description": "The UTC time that the server started up"
2766
+ },
2767
+ "versionNumber": {
2768
+ "type": "string",
2769
+ "description": "Current version of the API"
2770
+ },
2771
+ "services": {
2772
+ "type": "array",
2773
+ "items": {
2774
+ "$ref": "#/definitions/HealthServicesType"
2775
+ },
2776
+ "description": "An list of the statuses of services that the API requires"
2777
+ }
2778
+ }
2779
+ }
2780
+ },
2781
+ "responses": {
2782
+ "Response200": {
2783
+ "description": "OK"
2784
+ },
2785
+ "ResponseHealth200": {
2786
+ "description": "OK",
2787
+ "schema": {
2788
+ "$ref": "#/definitions/Status"
2789
+ }
2790
+ },
2791
+ "Response202": {
2792
+ "description": "Accepted"
2793
+ },
2794
+ "ErrorResponse400": {
2795
+ "description": "Bad Request - The application cannot process the request; for example, due to malformed syntax or the payload exceeded size restrictions.",
2796
+ "schema": {
2797
+ "$ref": "#/definitions/ErrorInformationResponse"
2798
+ },
2799
+ "headers": {
2800
+ "Content-Length": {
2801
+ "description": "The Content-Length header field indicates the anticipated size of the payload body. Only sent if there is a body.",
2802
+ "type": "integer"
2803
+ },
2804
+ "Content-Type": {
2805
+ "description": "The Content-Type header indicates the specific version of the API used to send the payload body.",
2806
+ "type": "string"
2807
+ }
2808
+ }
2809
+ },
2810
+ "ErrorResponse401": {
2811
+ "description": "Unauthorized - The request requires authentication in order to be processed.",
2812
+ "schema": {
2813
+ "$ref": "#/definitions/ErrorInformationResponse"
2814
+ },
2815
+ "headers": {
2816
+ "Content-Length": {
2817
+ "description": "The Content-Length header field indicates the anticipated size of the payload body. Only sent if there is a body.",
2818
+ "type": "integer"
2819
+ },
2820
+ "Content-Type": {
2821
+ "description": "The Content-Type header indicates the specific version of the API used to send the payload body.",
2822
+ "type": "string"
2823
+ }
2824
+ }
2825
+ },
2826
+ "ErrorResponse403": {
2827
+ "description": "Forbidden - The request was denied and will be denied in the future.",
2828
+ "schema": {
2829
+ "$ref": "#/definitions/ErrorInformationResponse"
2830
+ },
2831
+ "headers": {
2832
+ "Content-Length": {
2833
+ "description": "The Content-Length header field indicates the anticipated size of the payload body. Only sent if there is a body.",
2834
+ "type": "integer"
2835
+ },
2836
+ "Content-Type": {
2837
+ "description": "The Content-Type header indicates the specific version of the API used to send the payload body.",
2838
+ "type": "string"
2839
+ }
2840
+ }
2841
+ },
2842
+ "ErrorResponse404": {
2843
+ "description": "Not Found - The resource specified in the URI was not found.",
2844
+ "schema": {
2845
+ "$ref": "#/definitions/ErrorInformationResponse"
2846
+ },
2847
+ "headers": {
2848
+ "Content-Length": {
2849
+ "description": "The Content-Length header field indicates the anticipated size of the payload body. Only sent if there is a body.",
2850
+ "type": "integer"
2851
+ },
2852
+ "Content-Type": {
2853
+ "description": "The Content-Type header indicates the specific version of the API used to send the payload body.",
2854
+ "type": "string"
2855
+ }
2856
+ }
2857
+ },
2858
+ "ErrorResponse405": {
2859
+ "description": "Method Not Allowed - An unsupported HTTP method for the request was used.",
2860
+ "schema": {
2861
+ "$ref": "#/definitions/ErrorInformationResponse"
2862
+ },
2863
+ "headers": {
2864
+ "Content-Length": {
2865
+ "description": "The Content-Length header field indicates the anticipated size of the payload body. Only sent if there is a body.",
2866
+ "type": "integer"
2867
+ },
2868
+ "Content-Type": {
2869
+ "description": "The Content-Type header indicates the specific version of the API used to send the payload body.",
2870
+ "type": "string"
2871
+ }
2872
+ }
2873
+ },
2874
+ "ErrorResponse406": {
2875
+ "description": "Not acceptable - The server is not capable of generating content according to the Accept headers sent in the request. Used in the API to indicate that the server does not support the version that the client is requesting.",
2876
+ "schema": {
2877
+ "$ref": "#/definitions/ErrorInformationResponse"
2878
+ },
2879
+ "headers": {
2880
+ "Content-Length": {
2881
+ "description": "The Content-Length header field indicates the anticipated size of the payload body. Only sent if there is a body.",
2882
+ "type": "integer"
2883
+ },
2884
+ "Content-Type": {
2885
+ "description": "The Content-Type header indicates the specific version of the API used to send the payload body.",
2886
+ "type": "string"
2887
+ }
2888
+ }
2889
+ },
2890
+ "ErrorResponse501": {
2891
+ "description": "Not Implemented - The server does not support the requested service. The client should not retry.",
2892
+ "schema": {
2893
+ "$ref": "#/definitions/ErrorInformationResponse"
2894
+ },
2895
+ "headers": {
2896
+ "Content-Length": {
2897
+ "description": "The Content-Length header field indicates the anticipated size of the payload body. Only sent if there is a body.",
2898
+ "type": "integer"
2899
+ },
2900
+ "Content-Type": {
2901
+ "description": "The Content-Type header indicates the specific version of the API used to send the payload body.",
2902
+ "type": "string"
2903
+ }
2904
+ }
2905
+ },
2906
+ "ErrorResponse503": {
2907
+ "description": "Service Unavailable - The server is currently unavailable to accept any new service requests. This should be a temporary state, and the client should retry within a reasonable time frame.",
2908
+ "schema": {
2909
+ "$ref": "#/definitions/ErrorInformationResponse"
2910
+ },
2911
+ "headers": {
2912
+ "Content-Length": {
2913
+ "description": "The Content-Length header field indicates the anticipated size of the payload body. Only sent if there is a body.",
2914
+ "type": "integer"
2915
+ },
2916
+ "Content-Type": {
2917
+ "description": "The Content-Type header indicates the specific version of the API used to send the payload body.",
2918
+ "type": "string"
2919
+ }
2920
+ }
2921
+ }
2922
+ },
2923
+ "parameters": {
2924
+ "Accept": {
2925
+ "name": "accept",
2926
+ "in": "header",
2927
+ "required": true,
2928
+ "type": "string",
2929
+ "description": "The Accept header field indicates the version of the API the client would like the server to use."
2930
+ },
2931
+ "Accept-Optional": {
2932
+ "name": "accept",
2933
+ "in": "header",
2934
+ "required": false,
2935
+ "type": "string",
2936
+ "description": "The Accept header field indicates the version of the API the client would like the server to use."
2937
+ },
2938
+ "Content-Length": {
2939
+ "name": "content-length",
2940
+ "in": "header",
2941
+ "required": false,
2942
+ "type": "integer",
2943
+ "description": "The Content-Length header field indicates the anticipated size of the payload body. Only sent if there is a body. Note - The API supports a maximum size of 5242880 bytes (5 Megabytes)"
2944
+ },
2945
+ "Content-Type": {
2946
+ "name": "content-type",
2947
+ "in": "header",
2948
+ "type": "string",
2949
+ "required": true,
2950
+ "description": "The Content-Type header indicates the specific version of the API used to send the payload body."
2951
+ },
2952
+ "Date": {
2953
+ "name": "date",
2954
+ "in": "header",
2955
+ "type": "string",
2956
+ "required": true,
2957
+ "description": "The Date header field indicates the date when the request was sent."
2958
+ },
2959
+ "X-Forwarded-For": {
2960
+ "name": "x-forwarded-for",
2961
+ "in": "header",
2962
+ "type": "string",
2963
+ "required": false,
2964
+ "description": "The X-Forwarded-For header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple X-Forwarded-For values as in the example shown here should be expected and supported by implementers of the API. Note - An alternative to X-Forwarded-For is defined in RFC 7239. However, to this point RFC 7239 is less-used and supported than X-Forwarded-For."
2965
+ },
2966
+ "FSPIOP-Source": {
2967
+ "name": "fspiop-source",
2968
+ "in": "header",
2969
+ "type": "string",
2970
+ "required": true,
2971
+ "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)."
2972
+ },
2973
+ "FSPIOP-Destination-Required": {
2974
+ "name": "fspiop-destination",
2975
+ "in": "header",
2976
+ "type": "string",
2977
+ "required": true,
2978
+ "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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes."
2979
+ },
2980
+ "FSPIOP-Destination-Optional": {
2981
+ "name": "fspiop-destination",
2982
+ "in": "header",
2983
+ "type": "string",
2984
+ "required": false,
2985
+ "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 should be set by the original sender of the request (if known), so that any entities between the client and the server do not need to parse the payload for routing purposes."
2986
+ },
2987
+ "FSPIOP-Encryption": {
2988
+ "name": "fspiop-encryption",
2989
+ "in": "header",
2990
+ "type": "string",
2991
+ "required": false,
2992
+ "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."
2993
+ },
2994
+ "FSPIOP-Signature": {
2995
+ "name": "fspiop-signature",
2996
+ "in": "header",
2997
+ "type": "string",
2998
+ "required": false,
2999
+ "description": "The FSPIOP-Signature header field is a non-HTTP standard field used by the API for applying an end-to-end request signature."
3000
+ },
3001
+ "FSPIOP-URI": {
3002
+ "name": "fspiop-uri",
3003
+ "in": "header",
3004
+ "type": "string",
3005
+ "required": false,
3006
+ "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 API Signature document."
3007
+ },
3008
+ "FSPIOP-HTTP-Method": {
3009
+ "name": "fspiop-http-method",
3010
+ "in": "header",
3011
+ "type": "string",
3012
+ "required": false,
3013
+ "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 API Signature document."
3014
+ },
3015
+ "ID": {
3016
+ "name": "ID",
3017
+ "in": "path",
3018
+ "required": true,
3019
+ "type": "string",
3020
+ "minLength": 1,
3021
+ "maxLength": 128
3022
+ },
3023
+ "Type": {
3024
+ "name": "Type",
3025
+ "in": "path",
3026
+ "required": true,
3027
+ "type": "string",
3028
+ "enum": [
3029
+ "MSISDN",
3030
+ "EMAIL",
3031
+ "PERSONAL_ID",
3032
+ "BUSINESS",
3033
+ "DEVICE",
3034
+ "ACCOUNT_ID",
3035
+ "IBAN",
3036
+ "ALIAS"
3037
+ ]
3038
+ },
3039
+ "SubId": {
3040
+ "name": "SubId",
3041
+ "in": "path",
3042
+ "required": true,
3043
+ "type": "string"
3044
+ }
3045
+ }
3046
+ }