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,2256 @@
1
+ openapi: 3.0.2
2
+ info:
3
+ version: v2.0-iso20022-parties-draft
4
+ title: Open API for FSP Interoperability (FSPIOP) - the ISO 20022 message version (parties)
5
+ description: IN PROGRESS
6
+ license:
7
+ name: CC BY-ND 4.0
8
+ url: https://github.com/mojaloop/mojaloop-specification/blob/main/LICENSE.md
9
+ contact:
10
+ name: Sam Kummary
11
+ url: https://github.com/mojaloop/mojaloop-specification/issues
12
+ servers:
13
+ - url: protocol://hostname:<port>/switch/
14
+ variables:
15
+ protocol:
16
+ enum:
17
+ - http
18
+ - https
19
+ default: https
20
+ paths:
21
+ /parties/{Type}/{ID}:
22
+ parameters:
23
+ - $ref: '#/components/parameters/Type'
24
+ - $ref: '#/components/parameters/ID'
25
+ - $ref: '#/components/parameters/Content-Type'
26
+ - $ref: '#/components/parameters/Date'
27
+ - $ref: '#/components/parameters/X-Forwarded-For'
28
+ - $ref: '#/components/parameters/FSPIOP-Source'
29
+ - $ref: '#/components/parameters/FSPIOP-Destination'
30
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
31
+ - $ref: '#/components/parameters/FSPIOP-Signature'
32
+ - $ref: '#/components/parameters/FSPIOP-URI'
33
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
34
+ get:
35
+ description: The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`).
36
+ summary: Look up party information
37
+ tags:
38
+ - parties
39
+ operationId: PartiesByTypeAndID
40
+ parameters:
41
+ - $ref: '#/components/parameters/Accept'
42
+ responses:
43
+ '202':
44
+ $ref: '#/components/responses/202'
45
+ '400':
46
+ $ref: '#/components/responses/400'
47
+ '401':
48
+ $ref: '#/components/responses/401'
49
+ '403':
50
+ $ref: '#/components/responses/403'
51
+ '404':
52
+ $ref: '#/components/responses/404'
53
+ '405':
54
+ $ref: '#/components/responses/405'
55
+ '406':
56
+ $ref: '#/components/responses/406'
57
+ '501':
58
+ $ref: '#/components/responses/501'
59
+ '503':
60
+ $ref: '#/components/responses/503'
61
+ put:
62
+ 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.
63
+ summary: Return party information
64
+ tags:
65
+ - parties
66
+ operationId: PartiesByTypeAndID2
67
+ parameters:
68
+ - $ref: '#/components/parameters/Content-Length'
69
+ requestBody:
70
+ description: Party information returned.
71
+ required: true
72
+ content:
73
+ application/json:
74
+ schema:
75
+ $ref: '#/components/schemas/GetParties_IdentificationVerificationReportV03'
76
+ responses:
77
+ '200':
78
+ $ref: '#/components/responses/200'
79
+ '400':
80
+ $ref: '#/components/responses/400'
81
+ '401':
82
+ $ref: '#/components/responses/401'
83
+ '403':
84
+ $ref: '#/components/responses/403'
85
+ '404':
86
+ $ref: '#/components/responses/404'
87
+ '405':
88
+ $ref: '#/components/responses/405'
89
+ '406':
90
+ $ref: '#/components/responses/406'
91
+ '501':
92
+ $ref: '#/components/responses/501'
93
+ '503':
94
+ $ref: '#/components/responses/503'
95
+ /parties/{Type}/{ID}/error:
96
+ put:
97
+ description: If the server is unable to find Party information of the provided identity, or another processing error occurred, the error callback `PUT /parties/{Type}/{ID}/error` (or `PUT /parties/{Type}/{ID}/{SubI}/error`) is used.
98
+ summary: Return party information error
99
+ tags:
100
+ - parties
101
+ operationId: PartiesErrorByTypeAndID
102
+ parameters:
103
+ - $ref: '#/components/parameters/Type'
104
+ - $ref: '#/components/parameters/ID'
105
+ - $ref: '#/components/parameters/Content-Length'
106
+ - $ref: '#/components/parameters/Content-Type'
107
+ - $ref: '#/components/parameters/Date'
108
+ - $ref: '#/components/parameters/X-Forwarded-For'
109
+ - $ref: '#/components/parameters/FSPIOP-Source'
110
+ - $ref: '#/components/parameters/FSPIOP-Destination'
111
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
112
+ - $ref: '#/components/parameters/FSPIOP-Signature'
113
+ - $ref: '#/components/parameters/FSPIOP-URI'
114
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
115
+ requestBody:
116
+ description: Details of the error returned.
117
+ required: true
118
+ content:
119
+ application/json:
120
+ schema:
121
+ $ref: '#/components/schemas/GetPartiesError_IdentificationVerificationReportV03'
122
+ responses:
123
+ '200':
124
+ $ref: '#/components/responses/200'
125
+ '400':
126
+ $ref: '#/components/responses/400'
127
+ '401':
128
+ $ref: '#/components/responses/401'
129
+ '403':
130
+ $ref: '#/components/responses/403'
131
+ '404':
132
+ $ref: '#/components/responses/404'
133
+ '405':
134
+ $ref: '#/components/responses/405'
135
+ '406':
136
+ $ref: '#/components/responses/406'
137
+ '501':
138
+ $ref: '#/components/responses/501'
139
+ '503':
140
+ $ref: '#/components/responses/503'
141
+ /parties/{Type}/{ID}/{SubId}:
142
+ parameters:
143
+ - $ref: '#/components/parameters/Type'
144
+ - $ref: '#/components/parameters/ID'
145
+ - $ref: '#/components/parameters/SubId'
146
+ - $ref: '#/components/parameters/Content-Type'
147
+ - $ref: '#/components/parameters/Date'
148
+ - $ref: '#/components/parameters/X-Forwarded-For'
149
+ - $ref: '#/components/parameters/FSPIOP-Source'
150
+ - $ref: '#/components/parameters/FSPIOP-Destination'
151
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
152
+ - $ref: '#/components/parameters/FSPIOP-Signature'
153
+ - $ref: '#/components/parameters/FSPIOP-URI'
154
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
155
+ get:
156
+ description: The HTTP request `GET /parties/{Type}/{ID}` (or `GET /parties/{Type}/{ID}/{SubId}`) is used to look up information regarding the requested Party, defined by `{Type}`, `{ID}` and optionally `{SubId}` (for example, `GET /parties/MSISDN/123456789`, or `GET /parties/BUSINESS/shoecompany/employee1`).
157
+ summary: Look up party information
158
+ tags:
159
+ - parties
160
+ operationId: PartiesSubIdByTypeAndID
161
+ parameters:
162
+ - $ref: '#/components/parameters/Accept'
163
+ responses:
164
+ '202':
165
+ $ref: '#/components/responses/202'
166
+ '400':
167
+ $ref: '#/components/responses/400'
168
+ '401':
169
+ $ref: '#/components/responses/401'
170
+ '403':
171
+ $ref: '#/components/responses/403'
172
+ '404':
173
+ $ref: '#/components/responses/404'
174
+ '405':
175
+ $ref: '#/components/responses/405'
176
+ '406':
177
+ $ref: '#/components/responses/406'
178
+ '501':
179
+ $ref: '#/components/responses/501'
180
+ '503':
181
+ $ref: '#/components/responses/503'
182
+ put:
183
+ 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.
184
+ summary: Return party information
185
+ tags:
186
+ - parties
187
+ operationId: PartiesSubIdByTypeAndIDPut
188
+ parameters:
189
+ - $ref: '#/components/parameters/Content-Length'
190
+ requestBody:
191
+ description: Party information returned.
192
+ required: true
193
+ content:
194
+ application/json:
195
+ schema:
196
+ $ref: '#/components/schemas/GetParties_IdentificationVerificationReportV03'
197
+ responses:
198
+ '200':
199
+ $ref: '#/components/responses/200'
200
+ '400':
201
+ $ref: '#/components/responses/400'
202
+ '401':
203
+ $ref: '#/components/responses/401'
204
+ '403':
205
+ $ref: '#/components/responses/403'
206
+ '404':
207
+ $ref: '#/components/responses/404'
208
+ '405':
209
+ $ref: '#/components/responses/405'
210
+ '406':
211
+ $ref: '#/components/responses/406'
212
+ '501':
213
+ $ref: '#/components/responses/501'
214
+ '503':
215
+ $ref: '#/components/responses/503'
216
+ /parties/{Type}/{ID}/{SubId}/error:
217
+ put:
218
+ 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.
219
+ summary: Return party information error
220
+ tags:
221
+ - parties
222
+ operationId: PartiesSubIdErrorByTypeAndID
223
+ parameters:
224
+ - $ref: '#/components/parameters/Type'
225
+ - $ref: '#/components/parameters/ID'
226
+ - $ref: '#/components/parameters/SubId'
227
+ - $ref: '#/components/parameters/Content-Length'
228
+ - $ref: '#/components/parameters/Content-Type'
229
+ - $ref: '#/components/parameters/Date'
230
+ - $ref: '#/components/parameters/X-Forwarded-For'
231
+ - $ref: '#/components/parameters/FSPIOP-Source'
232
+ - $ref: '#/components/parameters/FSPIOP-Destination'
233
+ - $ref: '#/components/parameters/FSPIOP-Encryption'
234
+ - $ref: '#/components/parameters/FSPIOP-Signature'
235
+ - $ref: '#/components/parameters/FSPIOP-URI'
236
+ - $ref: '#/components/parameters/FSPIOP-HTTP-Method'
237
+ requestBody:
238
+ description: Details of the error returned.
239
+ required: true
240
+ content:
241
+ application/json:
242
+ schema:
243
+ $ref: '#/components/schemas/GetPartiesError_IdentificationVerificationReportV03'
244
+ responses:
245
+ '200':
246
+ $ref: '#/components/responses/200'
247
+ '400':
248
+ $ref: '#/components/responses/400'
249
+ '401':
250
+ $ref: '#/components/responses/401'
251
+ '403':
252
+ $ref: '#/components/responses/403'
253
+ '404':
254
+ $ref: '#/components/responses/404'
255
+ '405':
256
+ $ref: '#/components/responses/405'
257
+ '406':
258
+ $ref: '#/components/responses/406'
259
+ '501':
260
+ $ref: '#/components/responses/501'
261
+ '503':
262
+ $ref: '#/components/responses/503'
263
+ components:
264
+ parameters:
265
+ Type:
266
+ name: Type
267
+ in: path
268
+ required: true
269
+ schema:
270
+ type: string
271
+ description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.
272
+ ID:
273
+ name: ID
274
+ in: path
275
+ required: true
276
+ schema:
277
+ type: string
278
+ description: The identifier value.
279
+ Content-Type:
280
+ name: Content-Type
281
+ in: header
282
+ schema:
283
+ type: string
284
+ required: true
285
+ description: The `Content-Type` header indicates the specific version of the API used to send the payload body.
286
+ Date:
287
+ name: Date
288
+ in: header
289
+ schema:
290
+ type: string
291
+ required: true
292
+ description: The `Date` header field indicates the date when the request was sent.
293
+ X-Forwarded-For:
294
+ name: X-Forwarded-For
295
+ in: header
296
+ schema:
297
+ type: string
298
+ required: false
299
+ description: |-
300
+ The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API.
301
+
302
+ **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`.
303
+ FSPIOP-Source:
304
+ name: FSPIOP-Source
305
+ in: header
306
+ schema:
307
+ type: string
308
+ required: true
309
+ 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`).
310
+ FSPIOP-Destination:
311
+ name: FSPIOP-Destination
312
+ in: header
313
+ schema:
314
+ type: string
315
+ required: false
316
+ description: The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty.
317
+ FSPIOP-Encryption:
318
+ name: FSPIOP-Encryption
319
+ in: header
320
+ schema:
321
+ type: string
322
+ required: false
323
+ 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.
324
+ FSPIOP-Signature:
325
+ name: FSPIOP-Signature
326
+ in: header
327
+ schema:
328
+ type: string
329
+ required: false
330
+ description: The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature.
331
+ FSPIOP-URI:
332
+ name: FSPIOP-URI
333
+ in: header
334
+ schema:
335
+ type: string
336
+ required: false
337
+ description: The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/main/Specification%20Document%20Set).
338
+ FSPIOP-HTTP-Method:
339
+ name: FSPIOP-HTTP-Method
340
+ in: header
341
+ schema:
342
+ type: string
343
+ required: false
344
+ description: The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/main/Specification%20Document%20Set).
345
+ Accept:
346
+ name: Accept
347
+ in: header
348
+ required: true
349
+ schema:
350
+ type: string
351
+ description: The `Accept` header field indicates the version of the API the client would like the server to use.
352
+ Content-Length:
353
+ name: Content-Length
354
+ in: header
355
+ required: false
356
+ schema:
357
+ type: integer
358
+ description: |-
359
+ The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body.
360
+
361
+ **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes).
362
+ SubId:
363
+ name: SubId
364
+ in: path
365
+ required: true
366
+ schema:
367
+ type: string
368
+ description: A sub-identifier of the party identifier, or a sub-type of the party identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
369
+ responses:
370
+ '200':
371
+ description: OK
372
+ '202':
373
+ description: Accepted
374
+ '400':
375
+ description: Bad Request
376
+ content:
377
+ application/json:
378
+ schema:
379
+ $ref: '#/components/schemas/ErrorInformationResponse'
380
+ headers:
381
+ Content-Length:
382
+ $ref: '#/components/headers/Content-Length'
383
+ Content-Type:
384
+ $ref: '#/components/headers/Content-Type'
385
+ '401':
386
+ description: Unauthorized
387
+ content:
388
+ application/json:
389
+ schema:
390
+ $ref: '#/components/schemas/ErrorInformationResponse'
391
+ headers:
392
+ Content-Length:
393
+ $ref: '#/components/headers/Content-Length'
394
+ Content-Type:
395
+ $ref: '#/components/headers/Content-Type'
396
+ '403':
397
+ description: Forbidden
398
+ content:
399
+ application/json:
400
+ schema:
401
+ $ref: '#/components/schemas/ErrorInformationResponse'
402
+ headers:
403
+ Content-Length:
404
+ $ref: '#/components/headers/Content-Length'
405
+ Content-Type:
406
+ $ref: '#/components/headers/Content-Type'
407
+ '404':
408
+ description: Not Found
409
+ content:
410
+ application/json:
411
+ schema:
412
+ $ref: '#/components/schemas/ErrorInformationResponse'
413
+ headers:
414
+ Content-Length:
415
+ $ref: '#/components/headers/Content-Length'
416
+ Content-Type:
417
+ $ref: '#/components/headers/Content-Type'
418
+ '405':
419
+ description: Method Not Allowed
420
+ content:
421
+ application/json:
422
+ schema:
423
+ $ref: '#/components/schemas/ErrorInformationResponse'
424
+ headers:
425
+ Content-Length:
426
+ $ref: '#/components/headers/Content-Length'
427
+ Content-Type:
428
+ $ref: '#/components/headers/Content-Type'
429
+ '406':
430
+ description: Not Acceptable
431
+ content:
432
+ application/json:
433
+ schema:
434
+ $ref: '#/components/schemas/ErrorInformationResponse'
435
+ headers:
436
+ Content-Length:
437
+ $ref: '#/components/headers/Content-Length'
438
+ Content-Type:
439
+ $ref: '#/components/headers/Content-Type'
440
+ '501':
441
+ description: Not Implemented
442
+ content:
443
+ application/json:
444
+ schema:
445
+ $ref: '#/components/schemas/ErrorInformationResponse'
446
+ headers:
447
+ Content-Length:
448
+ $ref: '#/components/headers/Content-Length'
449
+ Content-Type:
450
+ $ref: '#/components/headers/Content-Type'
451
+ '503':
452
+ description: Service Unavailable
453
+ content:
454
+ application/json:
455
+ schema:
456
+ $ref: '#/components/schemas/ErrorInformationResponse'
457
+ headers:
458
+ Content-Length:
459
+ $ref: '#/components/headers/Content-Length'
460
+ Content-Type:
461
+ $ref: '#/components/headers/Content-Type'
462
+ headers:
463
+ Content-Length:
464
+ required: false
465
+ schema:
466
+ type: integer
467
+ description: |-
468
+ The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body.
469
+
470
+ **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes).
471
+ Content-Type:
472
+ schema:
473
+ type: string
474
+ required: true
475
+ description: The `Content-Type` header indicates the specific version of the API used to send the payload body.
476
+ schemas:
477
+ ErrorCode:
478
+ title: ErrorCode
479
+ type: string
480
+ pattern: ^[1-9]\d{3}$
481
+ description: The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error.
482
+ example: '5100'
483
+ ErrorDescription:
484
+ title: ErrorDescription
485
+ type: string
486
+ minLength: 1
487
+ maxLength: 128
488
+ description: Error description string.
489
+ ExtensionKey:
490
+ title: ExtensionKey
491
+ type: string
492
+ minLength: 1
493
+ maxLength: 32
494
+ description: Extension key.
495
+ ExtensionValue:
496
+ title: ExtensionValue
497
+ type: string
498
+ minLength: 1
499
+ maxLength: 128
500
+ description: Extension value.
501
+ Extension:
502
+ title: Extension
503
+ type: object
504
+ description: Data model for the complex type Extension.
505
+ properties:
506
+ key:
507
+ $ref: '#/components/schemas/ExtensionKey'
508
+ value:
509
+ $ref: '#/components/schemas/ExtensionValue'
510
+ required:
511
+ - key
512
+ - value
513
+ ExtensionList:
514
+ title: ExtensionList
515
+ type: object
516
+ description: |
517
+ Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment.
518
+ properties:
519
+ extension:
520
+ type: array
521
+ items:
522
+ $ref: '#/components/schemas/Extension'
523
+ minItems: 1
524
+ maxItems: 16
525
+ description: Number of Extension elements.
526
+ required:
527
+ - extension
528
+ ErrorInformation:
529
+ title: ErrorInformation
530
+ type: object
531
+ description: Data model for the complex type ErrorInformation.
532
+ properties:
533
+ errorCode:
534
+ $ref: '#/components/schemas/ErrorCode'
535
+ errorDescription:
536
+ $ref: '#/components/schemas/ErrorDescription'
537
+ extensionList:
538
+ $ref: '#/components/schemas/ExtensionList'
539
+ required:
540
+ - errorCode
541
+ - errorDescription
542
+ ErrorInformationResponse:
543
+ title: ErrorInformationResponse
544
+ type: object
545
+ description: |
546
+ Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses.
547
+ properties:
548
+ errorInformation:
549
+ $ref: '#/components/schemas/ErrorInformation'
550
+ Max35Text:
551
+ title: Max35Text
552
+ description: |
553
+ Specifies a character string with a maximum length of 35 characters.
554
+ type: string
555
+ minLength: 1
556
+ maxLength: 35
557
+ example: 1.234567890123457e+34
558
+ ISODateTime:
559
+ title: ISODateTime
560
+ description: |
561
+ A particular point in the progression of time defined by a mandatory
562
+ date and a mandatory time component, expressed in either UTC time
563
+ format (YYYY-MM-DDThh:mm:ss.sssZ), local time with UTC offset format
564
+ (YYYY-MM-DDThh:mm:ss.sss+/-hh:mm), or local time format
565
+ (YYYY-MM-DDThh:mm:ss.sss). These representations are defined in
566
+ "XML Schema Part 2: Datatypes Second Edition -
567
+ W3C Recommendation 28 October 2004" which is aligned with ISO 8601.
568
+
569
+ Note on the time format:
570
+ 1) beginning / end of calendar day
571
+ 00:00:00 = the beginning of a calendar day
572
+ 24:00:00 = the end of a calendar day
573
+
574
+ 2) fractions of second in time format
575
+ Decimal fractions of seconds may be included. In this case, the
576
+ involved parties shall agree on the maximum number of digits that are allowed.
577
+ type: string
578
+ # format: datetime
579
+ example: '2013-03-07T14:44:30.000Z'
580
+ Max140Text:
581
+ title: Max140Text
582
+ description: |
583
+ Specifies a character string with a maximum length of 140 characters.
584
+ type: string
585
+ minLength: 1
586
+ maxLength: 140
587
+ example: 12345
588
+ AddressType2Code:
589
+ description: |
590
+ AddressType2Code
591
+ Specifies the type of address.
592
+ ADDR Address
593
+ PBOX PostBox
594
+ HOME Home
595
+ BIZZ Business
596
+ MLTO MailingTo
597
+ DLVY Delivery
598
+ enum:
599
+ - ADDR
600
+ - PBOX
601
+ - HOME
602
+ - BIZZ
603
+ - MLTO
604
+ - DLVY
605
+ type: string
606
+ example: ADDR
607
+ Exact4AlphaNumericText:
608
+ title: Exact4AlphaNumericText
609
+ description: |
610
+ Specifies an alphanumeric string with a length of 4 characters.
611
+ type: string
612
+ pattern: ^[a-zA-Z0-9]{4}$
613
+ example: 1234
614
+ GenericIdentification30:
615
+ title: GenericIdentification30
616
+ type: object
617
+ description: |
618
+ Generic scheme identification for a party.
619
+ properties:
620
+ Id:
621
+ allOf:
622
+ - $ref: '#/components/schemas/Exact4AlphaNumericText'
623
+ - description: |
624
+ Identification
625
+ Proprietary information, often a code, issued by the data source scheme issuer.
626
+ Issr:
627
+ allOf:
628
+ - $ref: '#/components/schemas/Max35Text'
629
+ - description: |
630
+ Issuer
631
+ Entity that assigns the identification.
632
+ SchmeNm:
633
+ allOf:
634
+ - $ref: '#/components/schemas/Max35Text'
635
+ - description: |
636
+ SchemeName
637
+ Short textual description of the scheme.
638
+ required:
639
+ - Id
640
+ - Issr
641
+ example:
642
+ Id: 1234
643
+ Issr: BIC
644
+ SchmeNm: BICFI
645
+ AddressType3Choice:
646
+ title: AddressType3Choice
647
+ type: object
648
+ description: |
649
+ Choice of formats for the type of address.
650
+ anyOf:
651
+ - properties:
652
+ Cd:
653
+ allOf:
654
+ - $ref: '#/components/schemas/AddressType2Code'
655
+ - description: |
656
+ Code
657
+ Type of address expressed as a code.
658
+ required:
659
+ - Cd
660
+ - properties:
661
+ Prtry:
662
+ allOf:
663
+ - $ref: '#/components/schemas/GenericIdentification30'
664
+ - description: |
665
+ Proprietary
666
+ Type of address expressed as a proprietary code.
667
+ required:
668
+ - Prtry
669
+ example:
670
+ Cd: ADDR
671
+ Max70Text:
672
+ title: Max70Text
673
+ description: |
674
+ Specifies a character string with a maximum length of 70 characters.
675
+ type: string
676
+ minLength: 1
677
+ maxLength: 70
678
+ example: 1.2345678901234567e+99
679
+ Max16Text:
680
+ title: Max16Text
681
+ description: |
682
+ Specifies a character string with a maximum length of 16 characters.
683
+ type: string
684
+ minLength: 1
685
+ maxLength: 16
686
+ example: 1234567890123456
687
+ CountryCode:
688
+ title: CountryCode
689
+ type: string
690
+ pattern: ^[A-Z]{2,2}$
691
+ example: US
692
+ description: |
693
+ Code to identify a country, a dependency, or another area of particular geopolitical interest, on the basis of country names obtained from the United Nations (ISO 3166, Alpha-2 code).
694
+ PostalAddress24:
695
+ title: PostalAddress24
696
+ type: object
697
+ description: |
698
+ Information that locates and identifies a specific address, as defined by postal services.
699
+ properties:
700
+ AdrTp:
701
+ $ref: '#/components/schemas/AddressType3Choice'
702
+ Dept:
703
+ $ref: '#/components/schemas/Max70Text'
704
+ SubDept:
705
+ $ref: '#/components/schemas/Max70Text'
706
+ StrtNm:
707
+ $ref: '#/components/schemas/Max70Text'
708
+ BldgNb:
709
+ $ref: '#/components/schemas/Max16Text'
710
+ BldgNm:
711
+ $ref: '#/components/schemas/Max35Text'
712
+ Flr:
713
+ $ref: '#/components/schemas/Max70Text'
714
+ PstBx:
715
+ $ref: '#/components/schemas/Max16Text'
716
+ Room:
717
+ $ref: '#/components/schemas/Max70Text'
718
+ PstCd:
719
+ $ref: '#/components/schemas/Max16Text'
720
+ TwnNm:
721
+ $ref: '#/components/schemas/Max35Text'
722
+ TwnLctnNm:
723
+ $ref: '#/components/schemas/Max35Text'
724
+ DstrctNm:
725
+ $ref: '#/components/schemas/Max35Text'
726
+ CtrySubDvsn:
727
+ $ref: '#/components/schemas/Max35Text'
728
+ Ctry:
729
+ $ref: '#/components/schemas/CountryCode'
730
+ AdrLine:
731
+ $ref: '#/components/schemas/Max70Text'
732
+ example:
733
+ AdrTp: ADDR
734
+ Dept: Dept
735
+ SubDept: SubDept
736
+ StrtNm: StrtNm
737
+ BldgNb: BldgNb
738
+ BldgNm: BldgNm
739
+ Flr: Flr
740
+ PstBx: PstBx
741
+ Room: Room
742
+ PstCd: PstCd
743
+ TwnNm: TwnNm
744
+ TwnLctnNm: TwnLctnNm
745
+ DstrctNm: DstrctNm
746
+ CtrySubDvsn: CtrySubDvsn
747
+ Ctry: Ctry
748
+ AdrLine: AdrLine
749
+ AnyBICDec2014Identifier:
750
+ title: AnyBICDec2014Identifier
751
+ type: string
752
+ description: |
753
+ AnyBICDec2014Identifier
754
+ Code allocated to a financial or non-financial institution by the
755
+ ISO 9362 Registration Authority, as described in ISO 9362: 2014
756
+ - "Banking - Banking telecommunication messages - Business identifier code (BIC)".
757
+ pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
758
+ example: J5BMVH7D
759
+ LEIIdentifier:
760
+ title: LEIIdentifier
761
+ description: |
762
+ Legal Entity Identifier is a code allocated to a party as described in ISO 17442 "Financial Services - Legal Entity Identifier (LEI)". ^([0-9A-Z]{18,18}[0-9]{2,2})$
763
+ type: string
764
+ pattern: ^[A-Z0-9]{18,18}[0-9]{2,2}$
765
+ example: 529900T8BM49AURSDO55
766
+ ExternalOrganisationIdentification1Code:
767
+ title: ExternalOrganisationIdentification1Code
768
+ description: Specifies the external organisation identification code.
769
+ type: string
770
+ minLength: 1
771
+ maxLength: 4
772
+ example: 1234
773
+ OrganisationIdentificationSchemeName1Choice:
774
+ title: OrganisationIdentificationSchemeName1Choice
775
+ description: |
776
+ Choice of format for the organisation identification.
777
+ type: object
778
+ properties:
779
+ Cd:
780
+ allOf:
781
+ - $ref: '#/components/schemas/ExternalOrganisationIdentification1Code'
782
+ - description: |
783
+ Code
784
+ Name of the identification scheme, in a coded form as published in an external list.
785
+ Prtry:
786
+ allOf:
787
+ - $ref: '#/components/schemas/Max35Text'
788
+ - description: |
789
+ Proprietary
790
+ Name of the identification scheme, in a free text form.
791
+ anyOf:
792
+ - properties:
793
+ Cd: {}
794
+ - properties:
795
+ Prtry: {}
796
+ example:
797
+ Cd: BIC
798
+ GenericOrganisationIdentification1:
799
+ title: GenericOrganisationIdentification1
800
+ type: object
801
+ description: |
802
+ Information that locates and identifies an organisation.
803
+ properties:
804
+ Id:
805
+ allOf:
806
+ - $ref: '#/components/schemas/Max35Text'
807
+ - description: |
808
+ Identification for an organisation. FSPIOP equivalent to Party Identifier for an organisation in ISO 20022. Identification assigned by an institution.
809
+ SchmeNm:
810
+ allOf:
811
+ - $ref: '#/components/schemas/OrganisationIdentificationSchemeName1Choice'
812
+ - description: |
813
+ SchemeName
814
+ Name of the identification scheme.
815
+ Issr:
816
+ allOf:
817
+ - $ref: '#/components/schemas/Max35Text'
818
+ - description: |
819
+ Issuer
820
+ Entity that assigns the identification.
821
+ required:
822
+ - Id
823
+ example:
824
+ Id: 123
825
+ SchmeNm:
826
+ Cd: BIC
827
+ Issr: BIC
828
+ OrganisationIdentification29:
829
+ title: OrganisationIdentification29
830
+ description: |
831
+ Unique and unambiguous way to identify an organisation.
832
+ type: object
833
+ properties:
834
+ AnyBIC:
835
+ allOf:
836
+ - $ref: '#/components/schemas/AnyBICDec2014Identifier'
837
+ - description: |
838
+ AnyBIC
839
+ Business identification code of the organisation.
840
+ LEI:
841
+ allOf:
842
+ - $ref: '#/components/schemas/LEIIdentifier'
843
+ - description: |
844
+ LEI
845
+ Legal entity identification as an alternate identification for a party.
846
+ Othr:
847
+ allOf:
848
+ - $ref: '#/components/schemas/GenericOrganisationIdentification1'
849
+ - description: |
850
+ Other
851
+ Unique identification of an organisation, as assigned by an institution, using an identification scheme.
852
+ example:
853
+ AnyBIC: BICFI
854
+ LEI: 529900T8BM49AURSDO55
855
+ Othr:
856
+ Id: 123
857
+ SchmeNm:
858
+ Cd: BIC
859
+ Issr: BIC
860
+ ISODate:
861
+ title: ISODate
862
+ description: |
863
+ A particular point in the progression of time in a calendar year expressed in the YYYY-MM-DD format. This representation is defined in "XML Schema Part 2: Datatypes Second Edition - W3C Recommendation 28 October 2004" which is aligned with ISO 8601.
864
+ type: string
865
+ # format: date
866
+ example: '2013-03-07'
867
+ DateAndPlaceOfBirth1:
868
+ title: DateAndPlaceOfBirth1
869
+ description: |
870
+ Details about date and place of birth of a person.
871
+ type: object
872
+ properties:
873
+ BirthDt:
874
+ allOf:
875
+ - $ref: '#/components/schemas/ISODate'
876
+ - description: |
877
+ BirthDate
878
+ Date on which a person was born.
879
+ PrvcOfBirth:
880
+ allOf:
881
+ - $ref: '#/components/schemas/Max35Text'
882
+ - description: |
883
+ ProvinceOfBirth
884
+ Province where a person was born.
885
+ CityOfBirth:
886
+ allOf:
887
+ - $ref: '#/components/schemas/Max35Text'
888
+ - description: |
889
+ CityOfBirth
890
+ City where a person was born.
891
+ CtryOfBirth:
892
+ allOf:
893
+ - $ref: '#/components/schemas/CountryCode'
894
+ - description: |
895
+ CountryOfBirth
896
+ Country where a person was born.
897
+ required:
898
+ - BirthDt
899
+ - CityOfBirth
900
+ - CtryOfBirth
901
+ example:
902
+ BirthDt: '1970-01-01'
903
+ PrvcOfBirth: 'ON'
904
+ CityOfBirth: Ottawa
905
+ CtryOfBirth: CA
906
+ ExternalPersonIdentification1Code:
907
+ title: ExternalPersonIdentification1Code
908
+ description: Specifies the external person identification code.
909
+ type: string
910
+ minLength: 1
911
+ maxLength: 4
912
+ example: 1234
913
+ PersonIdentificationSchemeName1Choice:
914
+ title: PersonIdentificationSchemeName1Choice
915
+ description: |
916
+ Sets of elements to identify a name of the identification scheme.
917
+ type: object
918
+ anyOf:
919
+ - properties:
920
+ Cd:
921
+ allOf:
922
+ - $ref: '#/components/schemas/ExternalPersonIdentification1Code'
923
+ - description: |
924
+ Code
925
+ Name of the identification scheme, in a coded form as published in an external list.
926
+ required:
927
+ - Cd
928
+ - properties:
929
+ Prtry:
930
+ allOf:
931
+ - $ref: '#/components/schemas/Max35Text'
932
+ - description: |
933
+ Proprietary
934
+ Name of the identification scheme, in a free text form.
935
+ required:
936
+ - Prtry
937
+ example:
938
+ Cd: CCPT
939
+ GenericPersonIdentification1:
940
+ title: GenericPersonIdentification1
941
+ type: object
942
+ description: |
943
+ GenericPersonIdentification1
944
+ Information that locates and identifies a specific person.
945
+ properties:
946
+ Id:
947
+ allOf:
948
+ - $ref: '#/components/schemas/Max35Text'
949
+ - description: |
950
+ Identification
951
+ Unique and unambiguous identification of a person.
952
+ SchmeNm:
953
+ allOf:
954
+ - $ref: '#/components/schemas/PersonIdentificationSchemeName1Choice'
955
+ - description: |
956
+ SchemeName
957
+ Name of the identification scheme.
958
+ Issr:
959
+ allOf:
960
+ - $ref: '#/components/schemas/Max35Text'
961
+ - description: |
962
+ Issuer
963
+ Entity that assigns the identification.
964
+ required:
965
+ - Id
966
+ example:
967
+ Id: 123
968
+ SchmeNm:
969
+ Cd: DRLC
970
+ Issr: BIC
971
+ PersonIdentification13:
972
+ title: PersonIdentification13
973
+ description: |
974
+ Unique and unambiguous way to identify a person.
975
+ type: object
976
+ properties:
977
+ DtAndPlcOfBirth:
978
+ allOf:
979
+ - $ref: '#/components/schemas/DateAndPlaceOfBirth1'
980
+ - description: |
981
+ DateAndPlaceOfBirth
982
+ Date and place of birth of a person.
983
+ Othr:
984
+ allOf:
985
+ - $ref: '#/components/schemas/GenericPersonIdentification1'
986
+ - description: |
987
+ Other
988
+ Unique identification of a person, as assigned by an institution, using an identification scheme.
989
+ example:
990
+ DtAndPlcOfBirth:
991
+ Dt: '2018-01-01'
992
+ CityOfBirth: City
993
+ Othr:
994
+ Id: 123
995
+ SchmeNm:
996
+ Cd: CUST
997
+ Prtry: 1
998
+ Party38Choice:
999
+ title: Party38Choice
1000
+ description: |
1001
+ Nature or use of the account.
1002
+ type: object
1003
+ anyOf:
1004
+ - properties:
1005
+ OrgId:
1006
+ allOf:
1007
+ - $ref: '#/components/schemas/OrganisationIdentification29'
1008
+ - description: |
1009
+ Organisation
1010
+ Unique and unambiguous way to identify an organisation.
1011
+ required:
1012
+ - OrgId
1013
+ - properties:
1014
+ PrvtId:
1015
+ allOf:
1016
+ - $ref: '#/components/schemas/PersonIdentification13'
1017
+ - description: |
1018
+ PrivateIdentification
1019
+ Unique and unambiguous identification of a person, for example a passport.
1020
+ required:
1021
+ - PrvtId
1022
+ example:
1023
+ OrgId:
1024
+ AnyBIC: BIC
1025
+ PrvtId:
1026
+ DtAndPlcOfBirth:
1027
+ Dt: '2018-01-01'
1028
+ CityOfBirth: City
1029
+ NamePrefix2Code:
1030
+ description: |
1031
+ Specifies the terms used to formally address a person.
1032
+
1033
+ DOCT: Doctor or Dr
1034
+ MADM: Madam
1035
+ MISS: Miss
1036
+ MIST: Mistress
1037
+ MIKS: Mx
1038
+ enum:
1039
+ - DOCT
1040
+ - MADM
1041
+ - MISS
1042
+ - MIST
1043
+ - MIKS
1044
+ type: string
1045
+ example: DOCT
1046
+ PhoneNumber:
1047
+ title: PhoneNumber
1048
+ type: string
1049
+ description: |
1050
+ Double check this regex.
1051
+ pattern: ^\+[0-9]{1,3}-[0-9()+\-]{1,30}$
1052
+ Max2048Text:
1053
+ title: Max2048Text
1054
+ description: |
1055
+ Specifies a character string with a maximum length of 2048 characters.
1056
+ type: string
1057
+ minLength: 1
1058
+ maxLength: 2048
1059
+ example: 2048
1060
+ Max4Text:
1061
+ title: Max4Text
1062
+ description: |
1063
+ Specifies a character string with a maximum length of 4 characters.
1064
+ type: string
1065
+ minLength: 1
1066
+ maxLength: 4
1067
+ example: 1234
1068
+ Max128Text:
1069
+ title: Max128Text
1070
+ description: |
1071
+ Specifies a character string with a maximum length of 128 characters.
1072
+ type: string
1073
+ minLength: 1
1074
+ maxLength: 128
1075
+ example: 12345
1076
+ OtherContact1:
1077
+ title: OtherContact1
1078
+ description: |
1079
+ Communication device number or electronic address used for communication.
1080
+ type: object
1081
+ properties:
1082
+ ChanlTp:
1083
+ allOf:
1084
+ - $ref: '#/components/schemas/Max4Text'
1085
+ - description: |
1086
+ ChannelType
1087
+ Method used to contact the financial institution's contact for the specific tax region.
1088
+ Id:
1089
+ allOf:
1090
+ - $ref: '#/components/schemas/Max128Text'
1091
+ - description: |
1092
+ Identifier
1093
+ Communication value such as phone number or email address.
1094
+ required:
1095
+ - ChanlTp
1096
+ example:
1097
+ ChanlTp: PHON
1098
+ Id: 1234567890
1099
+ PreferredContactMethod1Code:
1100
+ title: PreferredContactMethod1Code
1101
+ description: |
1102
+ Preferred method used to reach the individual contact within an organisation.
1103
+
1104
+ LETT: Letter
1105
+ MAIL: Email
1106
+ PHON: Phone
1107
+ FAXX: Fax
1108
+ CELL: Mobile phone
1109
+ type: string
1110
+ enum:
1111
+ - LETT
1112
+ - MAIL
1113
+ - PHON
1114
+ - FAXX
1115
+ - CELL
1116
+ example: CELL
1117
+ Contact4:
1118
+ title: Contact4
1119
+ description: |
1120
+ Specifies the details of the contact person.
1121
+ type: object
1122
+ properties:
1123
+ NmPrfx:
1124
+ allOf:
1125
+ - $ref: '#/components/schemas/NamePrefix2Code'
1126
+ - description: |
1127
+ NamePrefix
1128
+ Name prefix to be used before the name of the person.
1129
+ Nm:
1130
+ allOf:
1131
+ - $ref: '#/components/schemas/Max140Text'
1132
+ - description: |
1133
+ Name
1134
+ Name by which a party is known and which is usually used to identify that party.
1135
+ PhneNb:
1136
+ allOf:
1137
+ - $ref: '#/components/schemas/PhoneNumber'
1138
+ - description: |
1139
+ PhoneNumber
1140
+ Collection of information that identifies a phone number, as defined by telecom services.
1141
+ MobNb:
1142
+ allOf:
1143
+ - $ref: '#/components/schemas/PhoneNumber'
1144
+ - description: |
1145
+ MobilePhoneNumber
1146
+ Collection of information that identifies a mobile phone number, as defined by telecom services.
1147
+ FaxNb:
1148
+ allOf:
1149
+ - $ref: '#/components/schemas/PhoneNumber'
1150
+ - description: |
1151
+ FaxNumber
1152
+ Collection of information that identifies a fax number, as defined by telecom services.
1153
+ EmailAdr:
1154
+ allOf:
1155
+ - $ref: '#/components/schemas/Max2048Text'
1156
+ - description: |
1157
+ EmailAddress
1158
+ Address for electronic mail (e-mail).
1159
+ EmailPurp:
1160
+ allOf:
1161
+ - $ref: '#/components/schemas/Max35Text'
1162
+ - description: |
1163
+ EmailPurpose
1164
+ Purpose for which an email address may be used.
1165
+ JobTitl:
1166
+ allOf:
1167
+ - $ref: '#/components/schemas/Max35Text'
1168
+ - description: |
1169
+ JobTitle
1170
+ Title of the function.
1171
+ Rspnsblty:
1172
+ allOf:
1173
+ - $ref: '#/components/schemas/Max35Text'
1174
+ - description: |
1175
+ Responsibility
1176
+ Role of a person in an organisation.
1177
+ Dept:
1178
+ allOf:
1179
+ - $ref: '#/components/schemas/Max70Text'
1180
+ - description: |
1181
+ Department
1182
+ Identification of a division of a large organisation or building.
1183
+ Othr:
1184
+ allOf:
1185
+ - $ref: '#/components/schemas/OtherContact1'
1186
+ - description: |
1187
+ Other
1188
+ Contact details in another form.
1189
+ PrefrdMtd:
1190
+ allOf:
1191
+ - $ref: '#/components/schemas/PreferredContactMethod1Code'
1192
+ - description: |
1193
+ PreferredMethod
1194
+ Preferred method used to reach the contact.
1195
+ example:
1196
+ NmPrfx: Mr
1197
+ Nm: John Doe
1198
+ PhneNb: +123-123-321
1199
+ MobNb: +123-123-321
1200
+ FaxNb: +123-123-321
1201
+ EmailAdr: example@example.com
1202
+ PartyIdentification135:
1203
+ title: PartyIdentification135
1204
+ description: |
1205
+ Specifies the identification of a person or an organisation.
1206
+ type: object
1207
+ properties:
1208
+ Nm:
1209
+ allOf:
1210
+ - $ref: '#/components/schemas/Max140Text'
1211
+ - description: |
1212
+ Name
1213
+ Name by which a party is known and which is usually used to identify that party.
1214
+ PstlAdr:
1215
+ allOf:
1216
+ - $ref: '#/components/schemas/PostalAddress24'
1217
+ - description: |
1218
+ PostalAddress
1219
+ Information that locates and identifies a specific address, as defined by postal services.
1220
+ Id:
1221
+ allOf:
1222
+ - $ref: '#/components/schemas/Party38Choice'
1223
+ - description: |
1224
+ Identification
1225
+ Unique and unambiguous way to identify an organisation.
1226
+ CtryOfRes:
1227
+ allOf:
1228
+ - $ref: '#/components/schemas/CountryCode'
1229
+ - description: |
1230
+ CountryOfResidence
1231
+ Country in which a person resides (the place of a person's home). In the case of a company, it is the country from which the affairs of that company are directed.
1232
+ CtctDtls:
1233
+ allOf:
1234
+ - $ref: '#/components/schemas/Contact4'
1235
+ - description: |
1236
+ ContactDetails
1237
+ Set of elements used to indicate how to contact the party.
1238
+ required:
1239
+ - Id
1240
+ example:
1241
+ Nm: John Doe
1242
+ PstlAdr:
1243
+ AdrTp: ADDR
1244
+ Dept: Dept
1245
+ SubDept: SubDept
1246
+ StrtNm: StrtNm
1247
+ BldgNb: BldgNb
1248
+ BldgNm: BldgNm
1249
+ Flr: Flr
1250
+ PstBx: PstBx
1251
+ Room: Room
1252
+ PstCd: PstCd
1253
+ TwnNm: TwnNm
1254
+ TwnLctnNm: TwnLctnNm
1255
+ DstrctNm: DstrctNm
1256
+ CtrySubDvsn: CtrySubDvsn
1257
+ Ctry: Ctry
1258
+ AdrLine: AdrLine
1259
+ Id:
1260
+ OrgId:
1261
+ Othr:
1262
+ Id: 123
1263
+ SchmeNm:
1264
+ Prtry: DfspId
1265
+ CtryOfRes: BE
1266
+ CtctDtls:
1267
+ NmPrfx: Mr
1268
+ Nm: John Doe
1269
+ PhneNb: +123-123-321
1270
+ MobNb: +123-123-321
1271
+ FaxNb: +123-123-321
1272
+ EmailAdr: example@example.com
1273
+ BICFIDec2014Identifier:
1274
+ title: BICFIDec2014Identifier
1275
+ type: string
1276
+ description: |
1277
+ Code allocated to a financial institution by the ISO 9362 Registration
1278
+
1279
+ Authority as described in ISO 9362: 2014
1280
+
1281
+ - "Banking - Banking telecommunication messages - Business identifier code (BIC)".
1282
+ pattern: ^[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}$
1283
+ example: J5BMVH7D
1284
+ ExternalClearingSystemIdentification1Code:
1285
+ title: ExternalClearingSystemIdentification1Code
1286
+ description: |
1287
+ Specifies the external clearing system identification code.
1288
+ type: string
1289
+ minLength: 1
1290
+ maxLength: 5
1291
+ example: 12345
1292
+ ClearingSystemIdentification2Choice:
1293
+ title: ClearingSystemIdentification2Choice
1294
+ description: |
1295
+ Specifies the clearing system identification.
1296
+ type: object
1297
+ anyOf:
1298
+ - properties:
1299
+ Cd:
1300
+ allOf:
1301
+ - $ref: '#/components/schemas/ExternalClearingSystemIdentification1Code'
1302
+ - description: |
1303
+ Code
1304
+ Clearing system identification code, as published in an external list.
1305
+ required:
1306
+ - Cd
1307
+ - properties:
1308
+ Prtry:
1309
+ allOf:
1310
+ - $ref: '#/components/schemas/Max35Text'
1311
+ - description: |
1312
+ Proprietary
1313
+ Proprietary identification of the clearing system.
1314
+ required:
1315
+ - Prtry
1316
+ example:
1317
+ Cd: CHIPS
1318
+ ClearingSystemMemberIdentification2:
1319
+ title: ClearingSystemMemberIdentification2
1320
+ description: |
1321
+ Unique identification, as assigned by a clearing system, to unambiguously identify a member of the clearing system.
1322
+ type: object
1323
+ properties:
1324
+ ClrSysId:
1325
+ allOf:
1326
+ - $ref: '#/components/schemas/ClearingSystemIdentification2Choice'
1327
+ - description: |
1328
+ ClearingSystemIdentification
1329
+ Specification of a pre-agreed offering between clearing agents or the channel through which the payment instruction is processed.
1330
+ MmbId:
1331
+ allOf:
1332
+ - $ref: '#/components/schemas/Max35Text'
1333
+ - description: |
1334
+ MemberIdentification
1335
+ Identification of a member of a clearing system.
1336
+ required:
1337
+ - MmbId
1338
+ example:
1339
+ ClrSysId:
1340
+ Cd: CHQB
1341
+ MmbId: 123456789
1342
+ ExternalFinancialInstitutionIdentification1Code:
1343
+ title: ExternalFinancialInstitutionIdentification1Code
1344
+ description: Specifies the external financial institution identification code.
1345
+ type: string
1346
+ minLength: 1
1347
+ maxLength: 4
1348
+ example: 1234
1349
+ FinancialIdentificationSchemeName1Choice:
1350
+ title: FinancialIdentificationSchemeName1Choice
1351
+ type: object
1352
+ description: |
1353
+ Specifies the name of the identification scheme.
1354
+ anyOf:
1355
+ - properties:
1356
+ Cd:
1357
+ allOf:
1358
+ - $ref: '#/components/schemas/ExternalFinancialInstitutionIdentification1Code'
1359
+ - description: |
1360
+ Code
1361
+ Name of the identification scheme, in a coded form as published in an external list.
1362
+ required:
1363
+ - Cd
1364
+ - properties:
1365
+ Prtry:
1366
+ allOf:
1367
+ - $ref: '#/components/schemas/Max35Text'
1368
+ - description: |
1369
+ Proprietary
1370
+ Name of the identification scheme, in a free text form.
1371
+ required:
1372
+ - Prtry
1373
+ example:
1374
+ Cd: BIC
1375
+ GenericFinancialIdentification1:
1376
+ title: GenericFinancialIdentification1
1377
+ type: object
1378
+ description: |
1379
+ GenericFinancialIdentification
1380
+ Unique and unambiguous identification of a person, which is used to refer to a person in a financial context.
1381
+ properties:
1382
+ Id:
1383
+ allOf:
1384
+ - $ref: '#/components/schemas/Max35Text'
1385
+ - description: |
1386
+ Identification
1387
+ Unique and unambiguous identification of a person.
1388
+ SchmeNm:
1389
+ allOf:
1390
+ - $ref: '#/components/schemas/FinancialIdentificationSchemeName1Choice'
1391
+ - description: |
1392
+ SchemeName
1393
+ Name of the identification scheme.
1394
+ Issr:
1395
+ allOf:
1396
+ - $ref: '#/components/schemas/Max35Text'
1397
+ - description: |
1398
+ Issuer
1399
+ Entity that assigns the identification.
1400
+ required:
1401
+ - Id
1402
+ example:
1403
+ Id: 123
1404
+ SchmeNm:
1405
+ Cd: IBAN
1406
+ Issr: BIC
1407
+ FinancialInstitutionIdentification18:
1408
+ title: FinancialInstitutionIdentification18
1409
+ type: object
1410
+ description: |
1411
+ Information used to identify a financial institution.
1412
+ properties:
1413
+ BICFI:
1414
+ allOf:
1415
+ - $ref: '#/components/schemas/BICFIDec2014Identifier'
1416
+ - description: |
1417
+ BICFI
1418
+ Code allocated to a financial institution by the ISO 9362 Registration Authority as described in ISO 9362 "Banking - Banking telecommunication messages - Business identifier code (BIC)"
1419
+ ClrSysMmbId:
1420
+ allOf:
1421
+ - $ref: '#/components/schemas/ClearingSystemMemberIdentification2'
1422
+ - description: |
1423
+ ClearingSystemMemberIdentification
1424
+ Information used to identify a member within a clearing system
1425
+ LEI:
1426
+ allOf:
1427
+ - $ref: '#/components/schemas/LEIIdentifier'
1428
+ - description: |
1429
+ LEI
1430
+ Legal entity identifier of the financial institution.
1431
+ Nm:
1432
+ allOf:
1433
+ - $ref: '#/components/schemas/Max140Text'
1434
+ - description: |
1435
+ Name
1436
+ Name by which an agent is known and which is usually used to identify that agent
1437
+ PstlAdr:
1438
+ allOf:
1439
+ - $ref: '#/components/schemas/PostalAddress24'
1440
+ - description: |
1441
+ PostalAddress
1442
+ Information that locates and identifies a specific address, as defined by postal services.
1443
+ Othr:
1444
+ allOf:
1445
+ - $ref: '#/components/schemas/GenericFinancialIdentification1'
1446
+ - description: |
1447
+ Other
1448
+ Unique identification of an agent, as assigned by an institution, using an identification scheme.
1449
+ required: []
1450
+ example:
1451
+ BICFI: J5BMVH7D
1452
+ ClrSysMmbId:
1453
+ ClrSysId: 1234
1454
+ MmbId: 123
1455
+ LEI: 123
1456
+ Nm: Name
1457
+ PstlAdr:
1458
+ AdrTp: ADDR
1459
+ Dept: Department
1460
+ SubDept: Sub department
1461
+ StrtNm: Street name
1462
+ BldgNb: Building number
1463
+ PstCd: Post code
1464
+ TwnNm: Town name
1465
+ CtrySubDvsn: Country subdivision
1466
+ Ctry: Country
1467
+ AdrLine: Address line
1468
+ Othr:
1469
+ Id: 123
1470
+ SchmeNm:
1471
+ Cd: 123
1472
+ Prtry: 123
1473
+ Issr: 123
1474
+ BranchData3:
1475
+ title: BranchData3
1476
+ type: object
1477
+ description: |
1478
+ Information that locates and identifies a specific branch of a financial institution.
1479
+ properties:
1480
+ Id:
1481
+ allOf:
1482
+ - $ref: '#/components/schemas/Max35Text'
1483
+ - description: |
1484
+ Identification
1485
+ Unique and unambiguous identification of a branch of a financial institution.
1486
+ LEI:
1487
+ allOf:
1488
+ - $ref: '#/components/schemas/LEIIdentifier'
1489
+ - description: |
1490
+ Legal Entity Identifier
1491
+ Legal entity identification for the branch of the financial institution.
1492
+ Nm:
1493
+ allOf:
1494
+ - $ref: '#/components/schemas/Max140Text'
1495
+ - description: |
1496
+ Name
1497
+ Name by which an agent is known and which is usually used to identify that agent.
1498
+ PstlAdr:
1499
+ allOf:
1500
+ - $ref: '#/components/schemas/PostalAddress24'
1501
+ - description: |
1502
+ Postal Address
1503
+ Information that locates and identifies a specific address, as defined by postal services.
1504
+ example:
1505
+ Id: 123
1506
+ Nm: Name
1507
+ PstlAdr:
1508
+ AdrTp: ADDR
1509
+ Dept: Department
1510
+ SubDept: Sub department
1511
+ StrtNm: Street name
1512
+ BldgNb: Building number
1513
+ PstCd: Post code
1514
+ TwnNm: Town name
1515
+ CtrySubDvsn: Country subdivision
1516
+ Ctry: Country
1517
+ AdrLine: Address line
1518
+ BranchAndFinancialInstitutionIdentification6:
1519
+ title: BranchAndFinancialInstitutionIdentification6
1520
+ type: object
1521
+ description: |
1522
+ Unique and unambiguous identification of a financial institution or a branch of a financial institution.
1523
+ properties:
1524
+ FinInstnId:
1525
+ allOf:
1526
+ - $ref: '#/components/schemas/FinancialInstitutionIdentification18'
1527
+ - description: |
1528
+ FinancialInstitutionIdentification
1529
+ Unique and unambiguous identification of a financial institution, as assigned under an internationally recognised or proprietary identification scheme.
1530
+ BrnchId:
1531
+ allOf:
1532
+ - $ref: '#/components/schemas/BranchData3'
1533
+ - description: |
1534
+ BranchIdentification
1535
+ Definition: Identifies a specific branch of a financial institution.
1536
+ Usage: This component should be used in case the identification information in the financial institution component does not provide identification up to branch level.
1537
+ required:
1538
+ - FinInstnId
1539
+ example:
1540
+ FinInstnId:
1541
+ BICFI: J5BMVH7D
1542
+ BrnchId:
1543
+ Id: 123
1544
+ Nm: Name
1545
+ PstlAdr:
1546
+ AdrTp: ADDR
1547
+ Dept: Department
1548
+ SubDept: Sub department
1549
+ StrtNm: Street name
1550
+ BldgNb: Building number
1551
+ PstCd: Post code
1552
+ TwnNm: Town name
1553
+ CtrySubDvsn: Country subdivision
1554
+ Ctry: Country
1555
+ AdrLine: Address line
1556
+ Party40Choice:
1557
+ title: Party40Choice
1558
+ description: |
1559
+ Identification of a person, an organisation or a financial institution.
1560
+ type: object
1561
+ anyOf:
1562
+ - properties:
1563
+ Pty:
1564
+ allOf:
1565
+ - $ref: '#/components/schemas/PartyIdentification135'
1566
+ - description: |
1567
+ Party
1568
+ Identification of a person or an organisation.
1569
+ required:
1570
+ - Pty
1571
+ - properties:
1572
+ Agt:
1573
+ allOf:
1574
+ - $ref: '#/components/schemas/BranchAndFinancialInstitutionIdentification6'
1575
+ - description: |
1576
+ Agent
1577
+ Identification of a financial institution.
1578
+ required:
1579
+ - Agt
1580
+ example:
1581
+ Pty:
1582
+ Nm: Name
1583
+ PstlAdr:
1584
+ Ctry: US
1585
+ AdrLine:
1586
+ - Line1
1587
+ - Line2
1588
+ Id:
1589
+ OrgId:
1590
+ AnyBIC: BIC
1591
+ Agt:
1592
+ FinInstnId:
1593
+ BICFI: BUKBGB22
1594
+ BrnchId:
1595
+ Id: 12345
1596
+ Nm: Oxford Street Branch
1597
+ PstlAdr:
1598
+ Ctry: GB
1599
+ AdrLine:
1600
+ - 1 Oxford Street
1601
+ - London
1602
+ - UK
1603
+ IdentificationAssignment3:
1604
+ title: IdentificationAssignment3
1605
+ type: object
1606
+ description: |
1607
+ IdentificationAssignment
1608
+ Information that unambiguously identifies a message, as assigned by the assignor to the assignee.
1609
+ properties:
1610
+ MsgId:
1611
+ allOf:
1612
+ - $ref: '#/components/schemas/Max35Text'
1613
+ - description: |
1614
+ MessageIdentification
1615
+ Unique identification, as assigned by the assigner, to unambiguously identify the message.
1616
+ CreDtTm:
1617
+ allOf:
1618
+ - $ref: '#/components/schemas/ISODateTime'
1619
+ - description: |
1620
+ CreationDateTime
1621
+ Date and time at which the identification assignment was created.
1622
+ Assgnr:
1623
+ allOf:
1624
+ - $ref: '#/components/schemas/Party40Choice'
1625
+ - description: |
1626
+ Assignor
1627
+ Party that assigns the identification assignment to another party. This is also the sender of the message.
1628
+ Assgne:
1629
+ allOf:
1630
+ - $ref: '#/components/schemas/Party40Choice'
1631
+ - description: |
1632
+ Assignee
1633
+ Party that the identification assignment is assigned to. This is also the receiver of the message.
1634
+ required:
1635
+ - MsgId
1636
+ - CreDtTm
1637
+ - Assgnr
1638
+ - Assgne
1639
+ example:
1640
+ MsgId: 123
1641
+ CreDtTm: '2020-01-01T00:00:00Z'
1642
+ Assgnr:
1643
+ OrgId:
1644
+ Othr:
1645
+ Id: 123
1646
+ SchmeNm:
1647
+ Cd: BIC
1648
+ Issr: BIC
1649
+ Assgne:
1650
+ OrgId:
1651
+ Othr:
1652
+ Id: 123
1653
+ SchmeNm:
1654
+ Cd: BIC
1655
+ Issr: BIC
1656
+ IdentificationVerificationIndicator:
1657
+ title: IdentificationVerificationIndicator
1658
+ type: boolean
1659
+ example: true
1660
+ description: |
1661
+ Definition: Identifies whether the party and/or account information received is correct.
1662
+
1663
+ • Meaning When True: Indicates that the identification information received is correct.
1664
+ • Meaning When False: Indicates that the identification information received is incorrect
1665
+ ExternalVerificationReason1Code:
1666
+ title: ExternalVerificationReason1Code
1667
+ description: Specifies the external verification reason code.
1668
+ type: string
1669
+ minLength: 1
1670
+ maxLength: 4
1671
+ example: 1234
1672
+ VerificationReason1Choice:
1673
+ title: VerificationReason1Choice
1674
+ type: object
1675
+ description: |
1676
+ Choice of format for the verification reason.
1677
+ Only one, between the coded and the proprietary, can be chosen.
1678
+ anyOf:
1679
+ - properties:
1680
+ Cd:
1681
+ allOf:
1682
+ - $ref: '#/components/schemas/ExternalVerificationReason1Code'
1683
+ - description: |
1684
+ Code
1685
+ Reason why the verified identification information is incorrect, as published in an external reason code list.
1686
+ required:
1687
+ - Cd
1688
+ - properties:
1689
+ Prtry:
1690
+ allOf:
1691
+ - $ref: '#/components/schemas/Max35Text'
1692
+ - description: |
1693
+ Proprietary
1694
+ Reason why the verified identification information is incorrect, in a free text form.
1695
+ required:
1696
+ - Prtry
1697
+ example:
1698
+ Cd: AGNT
1699
+ IBAN2007Identifier:
1700
+ title: IBAN2007Identifier
1701
+ description: |
1702
+ The International Bank Account Number is a code used internationally by financial institutions to uniquely identify the account of a customer at a financial institution as described in the 2007 edition of the ISO 13616 standard "Banking and related financial services -
1703
+ International Bank Account Number (IBAN)" and replaced by the more recent edition of the standard.
1704
+ type: string
1705
+ example: FR1420041010050500013M02606
1706
+ pattern: ^[A-Z]{2,2}[0-9]{2,2}[a-zA-Z0-9]{1,30}$
1707
+ Max34Text:
1708
+ title: Max34Text
1709
+ description: |
1710
+ Specifies a character string with a maximum length of 34 characters.
1711
+ type: string
1712
+ minLength: 1
1713
+ maxLength: 34
1714
+ example: 1.2345678901234568e+33
1715
+ ExternalAccountIdentification1Code:
1716
+ title: ExternalAccountIdentification1Code
1717
+ description: |
1718
+ Specifies the external account identification scheme name code in the format of character string with a maximum length of 4 characters.
1719
+ type: string
1720
+ minLength: 1
1721
+ maxLength: 4
1722
+ example: 1234
1723
+ AccountSchemeName1Choice:
1724
+ title: AccountSchemeName1Choice
1725
+ type: object
1726
+ description: |
1727
+ Sets of elements to identify a name of the identification scheme.
1728
+ anyOf:
1729
+ - properties:
1730
+ Cd:
1731
+ allOf:
1732
+ - $ref: '#/components/schemas/ExternalAccountIdentification1Code'
1733
+ - description: |
1734
+ Code
1735
+ Name of the identification scheme, in a coded form as published in an external list.
1736
+ required:
1737
+ - Cd
1738
+ - properties:
1739
+ Prtry:
1740
+ allOf:
1741
+ - $ref: '#/components/schemas/Max35Text'
1742
+ - description: |
1743
+ Proprietary
1744
+ Name of the identification scheme, in a free text form.
1745
+ required:
1746
+ - Prtry
1747
+ example:
1748
+ Cd: 1111
1749
+ GenericAccountIdentification1:
1750
+ title: GenericAccountIdentification1
1751
+ type: object
1752
+ description: |
1753
+ GenericAccountIdentification
1754
+ Unique and unambiguous identification of an account, as assigned by the account servicer.
1755
+ properties:
1756
+ Id:
1757
+ allOf:
1758
+ - $ref: '#/components/schemas/Max34Text'
1759
+ - description: |
1760
+ Identification
1761
+ Identification assigned by an institution.
1762
+ SchmeNm:
1763
+ allOf:
1764
+ - $ref: '#/components/schemas/AccountSchemeName1Choice'
1765
+ - description: |
1766
+ SchemeName
1767
+ Name of the identification scheme.
1768
+ Issr:
1769
+ allOf:
1770
+ - $ref: '#/components/schemas/Max35Text'
1771
+ - description: |
1772
+ Issuer
1773
+ Entity that assigns the identification.
1774
+ required:
1775
+ - Id
1776
+ example:
1777
+ Id: 123
1778
+ SchmeNm:
1779
+ Cd: IBAN
1780
+ Issr: BIC
1781
+ AccountIdentification4Choice:
1782
+ title: AccountIdentification4Choice
1783
+ type: object
1784
+ description: |
1785
+ Specifies the unique identification of an account as assigned by the account servicer.
1786
+ anyOf:
1787
+ - properties:
1788
+ IBAN:
1789
+ allOf:
1790
+ - $ref: '#/components/schemas/IBAN2007Identifier'
1791
+ - description: |
1792
+ IBAN
1793
+ International Bank Account Number (IBAN) - identifier used internationally by financial institutions to uniquely identify the account of a customer. Further specifications of the format and content of the IBAN can be found in the standard ISO 13616 "Banking and related financial services - International Bank Account Number (IBAN)" version 1997-10-01, or later revisions.
1794
+ required:
1795
+ - IBAN
1796
+ - properties:
1797
+ Othr:
1798
+ allOf:
1799
+ - $ref: '#/components/schemas/GenericAccountIdentification1'
1800
+ - description: |
1801
+ Other
1802
+ Unique identification of an account, as assigned by the account servicer, using an identification scheme.
1803
+ required:
1804
+ - Othr
1805
+ example:
1806
+ IBAN: BE71096123456769
1807
+ ExternalCashAccountType1Code:
1808
+ title: ExternalCashAccountType1Code
1809
+ description: |
1810
+ Specifies the nature, or use, of the cash account in the format of character string with a maximum length of 4 characters.
1811
+ type: string
1812
+ minLength: 1
1813
+ maxLength: 4
1814
+ example: 1234
1815
+ CashAccountType2Choice:
1816
+ title: CashAccountType2Choice
1817
+ description: |
1818
+ Specifies the nature, or use of the account.
1819
+ type: object
1820
+ anyOf:
1821
+ - properties:
1822
+ Cd:
1823
+ allOf:
1824
+ - $ref: '#/components/schemas/ExternalCashAccountType1Code'
1825
+ - description: |
1826
+ Code
1827
+ Account type, in a coded form.
1828
+ required:
1829
+ - Cd
1830
+ - properties:
1831
+ Prtry:
1832
+ allOf:
1833
+ - $ref: '#/components/schemas/Max35Text'
1834
+ - description: |
1835
+ Proprietary
1836
+ Nature or use of the account in a proprietary form.
1837
+ required:
1838
+ - Prtry
1839
+ example:
1840
+ Cd: CACC
1841
+ ActiveOrHistoricCurrencyCode:
1842
+ title: ActiveOrHistoricCurrencyCode
1843
+ type: string
1844
+ description: |
1845
+ A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
1846
+ pattern: ^[A-Z]{3,3}$
1847
+ example: USD
1848
+ ExternalProxyAccountType1Code:
1849
+ title: ExternalProxyAccountType1Code
1850
+ description: Specifies the external proxy account type code.
1851
+ type: string
1852
+ minLength: 1
1853
+ maxLength: 4
1854
+ example: 1234
1855
+ ProxyAccountType1Choice:
1856
+ title: ProxyAccountType1Choice
1857
+ description: |
1858
+ Specifies the type of the proxy account.
1859
+ type: object
1860
+ anyOf:
1861
+ - properties:
1862
+ Cd:
1863
+ allOf:
1864
+ - $ref: '#/components/schemas/ExternalProxyAccountType1Code'
1865
+ - description: |
1866
+ Code
1867
+ Proxy account type, in a coded form as published in an external list.
1868
+ required:
1869
+ - Cd
1870
+ - properties:
1871
+ Prtry:
1872
+ allOf:
1873
+ - $ref: '#/components/schemas/Max35Text'
1874
+ - description: |
1875
+ Proprietary
1876
+ Proxy account type, in a proprietary form.
1877
+ required:
1878
+ - Prtry
1879
+ example:
1880
+ Cd: EMAIL
1881
+ ProxyAccountIdentification1:
1882
+ title: ProxyAccountIdentification1
1883
+ description: |
1884
+ Information related to a proxy identification of the account.
1885
+ type: object
1886
+ properties:
1887
+ Tp:
1888
+ allOf:
1889
+ - $ref: '#/components/schemas/ProxyAccountType1Choice'
1890
+ - description: |
1891
+ Type
1892
+ Type of the proxy identification.
1893
+ Id:
1894
+ allOf:
1895
+ - $ref: '#/components/schemas/Max2048Text'
1896
+ - description: |
1897
+ Identification
1898
+ Identification used to indicate the account identification under another specified name.
1899
+ required:
1900
+ - Id
1901
+ example:
1902
+ Tp:
1903
+ Cd: IBAN
1904
+ Id: 123
1905
+ CashAccount40:
1906
+ title: CashAccount40
1907
+ type: object
1908
+ description: |
1909
+ Provides the details to identify an account.
1910
+ properties:
1911
+ Id:
1912
+ allOf:
1913
+ - $ref: '#/components/schemas/AccountIdentification4Choice'
1914
+ - description: |
1915
+ Identification
1916
+ Unique and unambiguous identification for the account between the account owner and the account servicer.
1917
+ Tp:
1918
+ allOf:
1919
+ - $ref: '#/components/schemas/CashAccountType2Choice'
1920
+ - description: |
1921
+ Type
1922
+ Specifies the nature, or use of the account.
1923
+ Ccy:
1924
+ allOf:
1925
+ - $ref: '#/components/schemas/ActiveOrHistoricCurrencyCode'
1926
+ - description: |
1927
+ Currency
1928
+ Identification of the currency in which the account is held.
1929
+ Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.
1930
+ Nm:
1931
+ allOf:
1932
+ - $ref: '#/components/schemas/Max70Text'
1933
+ - description: |
1934
+ Name
1935
+ Name of the account, as assigned by the account servicing institution, in agreement with the account owner in order to provide an additional means of identification of the account.
1936
+ Usage: The account name is different from the account owner name. The account name is used in certain user communities to provide a means of identifying the account, in addition to the account owner's identity and the account number.
1937
+ Prxy:
1938
+ allOf:
1939
+ - $ref: '#/components/schemas/ProxyAccountIdentification1'
1940
+ - description: |
1941
+ Proxy
1942
+ Specifies an alternate assumed name for the identification of the account.
1943
+ example:
1944
+ Id:
1945
+ IBAN: BE71096123456769
1946
+ Tp:
1947
+ Cd: CACC
1948
+ Ccy: EUR
1949
+ Nm: My account
1950
+ Prxy:
1951
+ Id: 12345
1952
+ IdentificationInformation4:
1953
+ title: IdentificationInformation4
1954
+ type: object
1955
+ description: |
1956
+ Information that locates and identifies a specific party or account.
1957
+ properties:
1958
+ Pty:
1959
+ allOf:
1960
+ - $ref: '#/components/schemas/PartyIdentification135'
1961
+ - description: |
1962
+ Party
1963
+ Account owner that owes an amount of money or to whom an amount of money is due.
1964
+ Acct:
1965
+ allOf:
1966
+ - $ref: '#/components/schemas/CashAccount40'
1967
+ - description: |
1968
+ Account
1969
+ Unambiguous identification of the account of a party.
1970
+ Agt:
1971
+ allOf:
1972
+ - $ref: '#/components/schemas/BranchAndFinancialInstitutionIdentification6'
1973
+ - description: |
1974
+ Agent
1975
+ Financial institution servicing an account for a party.
1976
+ required:
1977
+ - Pty
1978
+ example:
1979
+ Pty:
1980
+ Id:
1981
+ OrgId:
1982
+ AnyBIC:
1983
+ BICFI: BICFI
1984
+ CtryOfRes: FI
1985
+ Acct:
1986
+ Id:
1987
+ IBAN: FI2112345600000785
1988
+ Agt:
1989
+ FinInstnId:
1990
+ BICFI: BICFI
1991
+ VerificationReport4:
1992
+ title: VerificationReport4
1993
+ type: object
1994
+ description: |-
1995
+ VerificationReport
1996
+ Provides information about the verification of party and/or account identification information.
1997
+ properties:
1998
+ OrgnlId:
1999
+ allOf:
2000
+ - $ref: '#/components/schemas/Max35Text'
2001
+ - description: |
2002
+ OriginalIdentification
2003
+ Unique identification, as assigned by a sending party, to unambiguously identify the party and account identification information group within the original message.
2004
+ Vrfctn:
2005
+ allOf:
2006
+ - $ref: '#/components/schemas/IdentificationVerificationIndicator'
2007
+ - description: |
2008
+ Verification
2009
+ Identifies whether the party and/or account information received is correct. Boolean value.
2010
+ Rsn:
2011
+ allOf:
2012
+ - $ref: '#/components/schemas/VerificationReason1Choice'
2013
+ - description: |
2014
+ Reason
2015
+ Specifies the reason why the verified identification information is incorrect.
2016
+ OrgnlPtyAndAcctId:
2017
+ allOf:
2018
+ - $ref: '#/components/schemas/IdentificationInformation4'
2019
+ - description: |
2020
+ OriginalPartyAndAccountIdentification
2021
+ Provides party and/or account identification information as given in the original message.
2022
+ UpdtdPtyAndAcctId:
2023
+ allOf:
2024
+ - $ref: '#/components/schemas/IdentificationInformation4'
2025
+ - description: |
2026
+ UpdatedPartyAndAccountIdentification
2027
+ Provides party and/or account identification information.
2028
+ required:
2029
+ - OrgnlId
2030
+ - Vrfctn
2031
+ example:
2032
+ OrgnlId: 1.2345678901234568e+33
2033
+ Vrfctn: true
2034
+ OrgnlPtyAndAcctId:
2035
+ Nm: John Doe
2036
+ PstlAdr:
2037
+ AdrTp: ADDR
2038
+ Dept: Dept
2039
+ SubDept: SubDept
2040
+ StrtNm: 1234 Elm St
2041
+ BldgNb: 1234
2042
+ PstCd: 12345
2043
+ TwnNm: Anytown
2044
+ CtrySubDvsn: CA
2045
+ Ctry: US
2046
+ Id:
2047
+ OrgId:
2048
+ AnyBIC: ABCDUS33
2049
+ Othr:
2050
+ Id: 123456789
2051
+ Issr: ABA
2052
+ UpdtdPtyAndAcctId:
2053
+ Nm: John Doe
2054
+ PstlAdr:
2055
+ AdrTp: ADDR
2056
+ Dept: Dept
2057
+ SubDept: SubDept
2058
+ StrtNm: 1234 Elm St
2059
+ BldgNb: 1234
2060
+ PstCd: 12345
2061
+ TwnNm: Anytown
2062
+ CtrySubDvsn: CA
2063
+ Ctry: US
2064
+ Id:
2065
+ OrgId:
2066
+ AnyBIC: ABCDUS33
2067
+ Othr:
2068
+ Id: 123456789
2069
+ Issr: ABA
2070
+ Max350Text:
2071
+ title: Max350Text
2072
+ description: |
2073
+ Specifies a character string with a maximum length of 350 characters.
2074
+ type: string
2075
+ minLength: 1
2076
+ maxLength: 350
2077
+ example: 350
2078
+ SupplementaryDataEnvelope1:
2079
+ title: SupplementaryDataEnvelope1
2080
+ description: |
2081
+ SupplementaryDataEnvelope1
2082
+ Technical component that contains the validated supplementary data information. This technical envelope allows to segregate the supplementary data information from any other information.
2083
+ type: object
2084
+ SupplementaryData1:
2085
+ title: SupplementaryData1
2086
+ description: |
2087
+ Additional information that cannot be captured in the structured fields and/or any other specific block.
2088
+ type: object
2089
+ properties:
2090
+ PlcAndNm:
2091
+ allOf:
2092
+ - $ref: '#/components/schemas/Max350Text'
2093
+ - description: |
2094
+ PlaceAndName
2095
+ Unambiguous reference to the location where the supplementary data must be inserted in the message instance.
2096
+ Envlp:
2097
+ allOf:
2098
+ - $ref: '#/components/schemas/SupplementaryDataEnvelope1'
2099
+ - description: |
2100
+ Envelope
2101
+ Technical element wrapping the supplementary data.
2102
+ Technical component that contains the validated supplementary data information. This technical envelope allows to segregate the supplementary data information from any other information.
2103
+ required:
2104
+ - Envlp
2105
+ example:
2106
+ PlcAndNm: Additional information
2107
+ Envlp:
2108
+ Cd: CH03
2109
+ Prtry: Additional information
2110
+ GetParties_IdentificationVerificationReportV03:
2111
+ title: GetParties_IdentificationVerificationReportV03
2112
+ type: object
2113
+ properties:
2114
+ Assgnmt:
2115
+ allOf:
2116
+ - $ref: '#/components/schemas/IdentificationAssignment3'
2117
+ - description: |
2118
+ Assignment
2119
+ Identifies the identification assignment.
2120
+ Rpt:
2121
+ allOf:
2122
+ - $ref: '#/components/schemas/VerificationReport4'
2123
+ - description: |
2124
+ Report
2125
+ Information concerning the verification of the identification data for which verification was requested.
2126
+ SplmtryData:
2127
+ allOf:
2128
+ - $ref: '#/components/schemas/SupplementaryData1'
2129
+ - description: |
2130
+ SupplementaryData
2131
+ Additional information that cannot be captured in the structured elements and/or any other specific block.
2132
+ required:
2133
+ - Assgnmt
2134
+ - Rpt
2135
+ example:
2136
+ Assgnmt:
2137
+ MsgId: 123
2138
+ CreDtTm: '2020-01-01T00:00:00Z'
2139
+ Assgnr:
2140
+ OrgId:
2141
+ Othr:
2142
+ Id: 123
2143
+ SchmeNm:
2144
+ Cd: BIC
2145
+ Issr: BIC
2146
+ Assgne:
2147
+ OrgId:
2148
+ Othr:
2149
+ Id: DFSPID
2150
+ Rpt:
2151
+ OrgnlId: 12345678
2152
+ Vrfctn: true
2153
+ UpdtdPtyAndAcctId:
2154
+ Pty:
2155
+ Nm: John Doe
2156
+ PstlAdr:
2157
+ AdrTp: ADDR
2158
+ Dept: Dept
2159
+ SubDept: SubDept
2160
+ StrtNm: StrtNm
2161
+ BldgNb: BldgNb
2162
+ BldgNm: BldgNm
2163
+ Flr: Flr
2164
+ PstBx: PstBx
2165
+ Room: Room
2166
+ PstCd: PstCd
2167
+ TwnNm: TwnNm
2168
+ TwnLctnNm: TwnLctnNm
2169
+ DstrctNm: DstrctNm
2170
+ CtrySubDvsn: CtrySubDvsn
2171
+ Ctry: Ctry
2172
+ AdrLine: AdrLine
2173
+ Id:
2174
+ OrgId:
2175
+ Othr:
2176
+ Id: 18761231234
2177
+ SchmeNm:
2178
+ Prtry: MSISDN
2179
+ CtryOfRes: BE
2180
+ CtctDtls:
2181
+ NmPrfx: Mr
2182
+ Nm: John Doe
2183
+ PhneNb: +123-123-321
2184
+ MobNb: +123-123-321
2185
+ FaxNb: +123-123-321
2186
+ EmailAdr: example@example.com
2187
+ GetPartiesError_IdentificationVerificationReportV03:
2188
+ title: GetPartiesError_IdentificationVerificationReportV03
2189
+ type: object
2190
+ properties:
2191
+ Assgnmt:
2192
+ allOf:
2193
+ - $ref: '#/components/schemas/IdentificationAssignment3'
2194
+ - description: |
2195
+ Assignment
2196
+ Information related to the identification assignment.
2197
+ Rpt:
2198
+ allOf:
2199
+ - $ref: '#/components/schemas/VerificationReport4'
2200
+ - description: |
2201
+ Report
2202
+ Information concerning the verification of the identification data for which verification was requested.
2203
+ SplmtryData:
2204
+ allOf:
2205
+ - $ref: '#/components/schemas/SupplementaryData1'
2206
+ - description: |
2207
+ SupplementaryData
2208
+ Additional information that cannot be captured in the structured elements and/or any other specific block.
2209
+ required:
2210
+ - Assgnmt
2211
+ - Rpt
2212
+ example:
2213
+ Assgnmt:
2214
+ Id: 123
2215
+ CreDtTm: '2013-03-07T16:30:00'
2216
+ Assgnr:
2217
+ Id:
2218
+ Id: 123
2219
+ SchmeNm:
2220
+ Cd: IBAN
2221
+ Issr: BIC
2222
+ Assgne:
2223
+ Id:
2224
+ Id: 123
2225
+ SchmeNm:
2226
+ Cd: IBAN
2227
+ Issr: BIC
2228
+ Rpt:
2229
+ Id: 123
2230
+ CreDtTm: '2013-03-07T16:30:00'
2231
+ RptgPty:
2232
+ Id:
2233
+ Id: 123
2234
+ SchmeNm:
2235
+ Cd: IBAN
2236
+ Issr: BIC
2237
+ RptdPty:
2238
+ Id:
2239
+ Id: 123
2240
+ SchmeNm:
2241
+ Cd: IBAN
2242
+ Issr: BIC
2243
+ RptdDoc:
2244
+ Nb: 123
2245
+ RltdDt: '2013-03-07'
2246
+ RltdDtTp:
2247
+ Cd: 123
2248
+ Rsn:
2249
+ Cd: 123
2250
+ Prtry: 123
2251
+ SplmtryData:
2252
+ PlcAndNm: 123
2253
+ Envlp: 123
2254
+ RltdDt: '2013-03-07'
2255
+ RltdDtTp:
2256
+ Cd: 123