@mojaloop/api-snippets 17.0.2-snapshot.0 → 17.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -38,493 +38,19 @@ paths:
38
38
  content:
39
39
  application/json:
40
40
  schema:
41
- description: A request for a bulk quote.
42
- properties: &ref_53
43
- bulkQuoteId:
44
- description: A Mojaloop API bulk quote identifier (UUID).
45
- pattern: >-
46
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
47
- type: string
48
- expiration:
49
- description: An ISO-8601 formatted timestamp.
50
- pattern: >-
51
- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
52
- type: string
53
- from:
54
- properties: &ref_1
55
- dateOfBirth:
56
- description: Date of birth in the form YYYY-MM-DD.
57
- pattern: >-
58
- ^(?:[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)$
59
- type: string
60
- displayName:
61
- description: Display name of the sender, if known.
62
- type: string
63
- extensionList:
64
- items: &ref_12
65
- properties: &ref_29
66
- key:
67
- maxLength: 32
68
- minLength: 1
69
- type: string
70
- value:
71
- maxLength: 128
72
- minLength: 1
73
- type: string
74
- type: object
75
- maxItems: 16
76
- minItems: 0
77
- type: array
78
- firstName:
79
- description: Party first name.
80
- type: string
81
- fspId:
82
- description: >-
83
- Mojaloop scheme FSPID of the DFSP which owns the party
84
- account.
85
- type: string
86
- idSubValue:
87
- maxLength: 128
88
- minLength: 1
89
- type: string
90
- idType:
91
- enum: &ref_21
92
- - MSISDN
93
- - ACCOUNT_NO
94
- - EMAIL
95
- - PERSONAL_ID
96
- - BUSINESS
97
- - DEVICE
98
- - ACCOUNT_ID
99
- - IBAN
100
- - ALIAS
101
- type: string
102
- idValue:
103
- description: The identifier string used to identify the sender.
104
- type: string
105
- lastName:
106
- description: Party last name.
107
- type: string
108
- merchantClassificationCode:
109
- description: >-
110
- Up to 4 digits specifying the sender's merchant
111
- classification, if known and applicable.
112
- type: string
113
- middleName:
114
- description: Party middle name.
115
- type: string
116
- type:
117
- enum: &ref_22
118
- - CONSUMER
119
- - AGENT
120
- - BUSINESS
121
- - DEVICE
122
- type: string
123
- required: &ref_2
124
- - idType
125
- - idValue
126
- type: object
127
- geoCode:
128
- description: >-
129
- Indicates the geographic location from where the transaction
130
- was initiated.
131
- properties: &ref_19
132
- latitude:
133
- description: >-
134
- The API data type Latitude is a JSON String in a lexical
135
- format that is restricted by a regular expression for
136
- interoperability reasons.
137
- pattern: >-
138
- ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$
139
- type: string
140
- longitude:
141
- description: >-
142
- The API data type Longitude is a JSON String in a
143
- lexical format that is restricted by a regular
144
- expression for interoperability reasons.
145
- pattern: >-
146
- ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
147
- type: string
148
- required: &ref_20
149
- - latitude
150
- - longitude
151
- type: object
152
- individualQuotes:
153
- items:
154
- description: Data model for individual quote in a bulk quote request.
155
- properties: &ref_36
156
- amount:
157
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
158
- type: string
159
- amountType:
160
- enum: &ref_8
161
- - SEND
162
- - RECEIVE
163
- type: string
164
- currency:
165
- enum: &ref_0
166
- - AED
167
- - AFN
168
- - ALL
169
- - AMD
170
- - ANG
171
- - AOA
172
- - ARS
173
- - AUD
174
- - AWG
175
- - AZN
176
- - BAM
177
- - BBD
178
- - BDT
179
- - BGN
180
- - BHD
181
- - BIF
182
- - BMD
183
- - BND
184
- - BOB
185
- - BRL
186
- - BSD
187
- - BTN
188
- - BWP
189
- - BYN
190
- - BZD
191
- - CAD
192
- - CDF
193
- - CHF
194
- - CLP
195
- - CNY
196
- - COP
197
- - CRC
198
- - CUC
199
- - CUP
200
- - CVE
201
- - CZK
202
- - DJF
203
- - DKK
204
- - DOP
205
- - DZD
206
- - EGP
207
- - ERN
208
- - ETB
209
- - EUR
210
- - FJD
211
- - FKP
212
- - GBP
213
- - GEL
214
- - GGP
215
- - GHS
216
- - GIP
217
- - GMD
218
- - GNF
219
- - GTQ
220
- - GYD
221
- - HKD
222
- - HNL
223
- - HRK
224
- - HTG
225
- - HUF
226
- - IDR
227
- - ILS
228
- - IMP
229
- - INR
230
- - IQD
231
- - IRR
232
- - ISK
233
- - JEP
234
- - JMD
235
- - JOD
236
- - JPY
237
- - KES
238
- - KGS
239
- - KHR
240
- - KMF
241
- - KPW
242
- - KRW
243
- - KWD
244
- - KYD
245
- - KZT
246
- - LAK
247
- - LBP
248
- - LKR
249
- - LRD
250
- - LSL
251
- - LYD
252
- - MAD
253
- - MDL
254
- - MGA
255
- - MKD
256
- - MMK
257
- - MNT
258
- - MOP
259
- - MRO
260
- - MUR
261
- - MVR
262
- - MWK
263
- - MXN
264
- - MYR
265
- - MZN
266
- - NAD
267
- - NGN
268
- - NIO
269
- - NOK
270
- - NPR
271
- - NZD
272
- - OMR
273
- - PAB
274
- - PEN
275
- - PGK
276
- - PHP
277
- - PKR
278
- - PLN
279
- - PYG
280
- - QAR
281
- - RON
282
- - RSD
283
- - RUB
284
- - RWF
285
- - SAR
286
- - SBD
287
- - SCR
288
- - SDG
289
- - SEK
290
- - SGD
291
- - SHP
292
- - SLL
293
- - SOS
294
- - SPL
295
- - SRD
296
- - STD
297
- - SVC
298
- - SYP
299
- - SZL
300
- - THB
301
- - TJS
302
- - TMT
303
- - TND
304
- - TOP
305
- - TRY
306
- - TTD
307
- - TVD
308
- - TWD
309
- - TZS
310
- - UAH
311
- - UGX
312
- - USD
313
- - UYU
314
- - UZS
315
- - VEF
316
- - VND
317
- - VUV
318
- - WST
319
- - XAF
320
- - XCD
321
- - XDR
322
- - XOF
323
- - XPF
324
- - XTS
325
- - XXX
326
- - YER
327
- - ZAR
328
- - ZMW
329
- - ZWD
330
- maxLength: 3
331
- minLength: 3
332
- type: string
333
- feesAmount:
334
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
335
- type: string
336
- feesCurrency:
337
- enum: *ref_0
338
- maxLength: 3
339
- minLength: 3
340
- type: string
341
- initiator:
342
- enum: &ref_9
343
- - PAYER
344
- - PAYEE
345
- type: string
346
- initiatorType:
347
- enum: &ref_10
348
- - CONSUMER
349
- - AGENT
350
- - BUSINESS
351
- - DEVICE
352
- type: string
353
- note:
354
- description: An optional note associated with the quote.
355
- maxLength: 128
356
- minLength: 1
357
- type: string
358
- quoteId:
359
- description: A Mojaloop API quote identifier (UUID).
360
- pattern: >-
361
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
362
- type: string
363
- subScenario:
364
- description: >-
365
- Possible sub-scenario, defined locally within the
366
- scheme (UndefinedEnum Type). Based on FSPIOP
367
- TransactionSubScenario.
368
- example: LOCALLY_DEFINED_SUBSCENARIO
369
- pattern: ^[A-Z_]{1,32}$
370
- title: transactionSubScenario
371
- type: string
372
- to:
373
- properties: *ref_1
374
- required: *ref_2
375
- type: object
376
- transactionId:
377
- description: >-
378
- ID of the transaction, the ID is decided by the Payer
379
- FSP during the creation of the quote.
380
- pattern: >-
381
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
382
- type: string
383
- transactionType:
384
- enum: &ref_11
385
- - TRANSFER
386
- - DEPOSIT
387
- - PAYMENT
388
- type: string
389
- required: &ref_37
390
- - quoteId
391
- - transactionId
392
- - to
393
- - amountType
394
- - amount
395
- - currency
396
- - transactionType
397
- - initiator
398
- - initiatorType
399
- type: object
400
- maxItems: 1000
401
- minItems: 1
402
- type: array
403
- required: &ref_54
404
- - bulkQuoteId
405
- - from
406
- - individualQuotes
407
- type: object
41
+ $ref: '#/components/schemas/bulkQuoteRequest'
408
42
  description: Incoming request for a bulk quotation.
409
43
  responses:
410
44
  '200':
411
45
  content:
412
46
  application/json:
413
47
  schema:
414
- description: A response to a request for a bulk quote.
415
- properties: &ref_4
416
- bulkQuoteId:
417
- description: A Mojaloop API bulk quote identifier (UUID).
418
- pattern: >-
419
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
420
- type: string
421
- expiration:
422
- description: An ISO-8601 formatted timestamp.
423
- pattern: >-
424
- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
425
- type: string
426
- individualQuoteResults:
427
- description: >-
428
- Fees for each individual transaction, if any of them are
429
- charged per transaction.
430
- items:
431
- oneOf:
432
- - description: >-
433
- Data model for successful individual quote in a bulk
434
- quote response.
435
- properties: &ref_40
436
- payeeFspCommissionAmount:
437
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
438
- type: string
439
- payeeFspCommissionAmountCurrency:
440
- enum: *ref_0
441
- maxLength: 3
442
- minLength: 3
443
- type: string
444
- payeeFspFeeAmount:
445
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
446
- type: string
447
- payeeFspFeeAmountCurrency:
448
- enum: *ref_0
449
- maxLength: 3
450
- minLength: 3
451
- type: string
452
- payeeReceiveAmount:
453
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
454
- type: string
455
- payeeReceiveAmountCurrency:
456
- enum: *ref_0
457
- maxLength: 3
458
- minLength: 3
459
- type: string
460
- quoteId:
461
- description: A Mojaloop API quote identifier (UUID).
462
- pattern: >-
463
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
464
- type: string
465
- transferAmount:
466
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
467
- type: string
468
- transferAmountCurrency:
469
- enum: *ref_0
470
- maxLength: 3
471
- minLength: 3
472
- type: string
473
- required: &ref_41
474
- - quoteId
475
- type: object
476
- - description: >-
477
- Data model for failed individual quote in a bulk
478
- quote response.
479
- properties: &ref_38
480
- errorResponse:
481
- properties: &ref_3
482
- message:
483
- description: Error message text
484
- type: string
485
- statusCode:
486
- description: >
487
- Backend error code from FSP. Ideally,
488
- statusCode is FSPIOP conforming. SDK will
489
- use status code to retrieve an FSPIOP error
490
- with the same code.
491
-
492
- Otherwise, a suitable generic FSPIOP will be
493
- used with the errorResponse in the FSPIOP
494
- error message.
495
- type: string
496
- type: object
497
- quoteId:
498
- description: A Mojaloop API quote identifier (UUID).
499
- pattern: >-
500
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
501
- type: string
502
- required: &ref_39
503
- - quoteId
504
- - errorResponse
505
- type: object
506
- maxItems: 1000
507
- minItems: 1
508
- type: array
509
- required: &ref_5
510
- - bulkQuoteId
511
- - individualQuoteResults
512
- type: object
48
+ $ref: '#/components/schemas/bulkQuoteResponse'
513
49
  description: A response to the bulk quote request.
514
50
  '400':
515
- content: &ref_6
516
- application/json:
517
- schema:
518
- properties: *ref_3
519
- type: object
520
- description: Malformed or missing required headers or parameters.
51
+ $ref: '#/components/responses/400'
521
52
  '500':
522
- content: &ref_7
523
- application/json:
524
- schema:
525
- properties: *ref_3
526
- type: object
527
- description: An error occurred processing the request.
53
+ $ref: '#/components/responses/500'
528
54
  summary: Requests a bulk quote.
529
55
  tags:
530
56
  - BulkQuotes
@@ -532,32 +58,20 @@ paths:
532
58
  get:
533
59
  operationId: BackendBulkQuotesGet
534
60
  parameters:
535
- - description: The identifier value.
536
- in: path
537
- name: idValue
538
- required: true
539
- schema: &ref_13
540
- type: string
61
+ - $ref: '#/components/parameters/idValue'
541
62
  responses:
542
63
  '200':
543
64
  content:
544
65
  application/json:
545
66
  schema:
546
- description: A response to a request for a bulk quote.
547
- properties: *ref_4
548
- required: *ref_5
549
- type: object
67
+ $ref: '#/components/schemas/bulkQuoteResponse'
550
68
  description: Response containing details of the requested bulk quote.
551
69
  '400':
552
- content: *ref_6
553
- description: Malformed or missing required headers or parameters.
70
+ $ref: '#/components/responses/400'
554
71
  '404':
555
- description: >-
556
- The party specified by the provided identifier type and value is not
557
- known to the server.
72
+ $ref: '#/components/responses/404'
558
73
  '500':
559
- content: *ref_7
560
- description: An error occurred processing the request.
74
+ $ref: '#/components/responses/500'
561
75
  summary: >-
562
76
  Requests information relating to a bulk quote identified by the
563
77
  specified identifier value.
@@ -574,85 +88,19 @@ paths:
574
88
  `bulkTransactionId` that was used for the creation of the bulk transfer.
575
89
  operationId: BackendBulkTransactionsPut
576
90
  parameters:
577
- - description: Identifier of the bulk transaction to continue as returned in.
578
- in: path
579
- name: bulkTransactionId
580
- required: true
581
- schema: &ref_30
582
- description: >-
583
- Identifier that correlates all messages of the same sequence. The
584
- API data type UUID (Universally Unique Identifier) is a JSON
585
- String in canonical format, conforming to [RFC
586
- 4122](https://tools.ietf.org/html/rfc4122), that is restricted by
587
- a regular expression for interoperability reasons. A UUID is
588
- always 36 characters long, 32 hexadecimal symbols and 4 dashes
589
- (‘-‘).
590
- example: b51ec534-ee48-4575-b6a9-ead2955b8069
591
- pattern: >-
592
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
593
- title: CorrelationId
594
- type: string
91
+ - $ref: '#/components/parameters/bulkTransactionId'
595
92
  requestBody:
596
93
  content:
597
94
  application/json:
598
95
  schema:
599
- properties:
600
- bulkHomeTransactionID:
601
- description: >-
602
- Transaction ID from the DFSP backend, used to reconcile
603
- transactions between the Switch and DFSP backend systems.
604
- type: string
605
- individualTransferResults:
606
- description: >-
607
- List of individual transfers in a bulk transfer with accept
608
- party information.
609
- items:
610
- description: >-
611
- Data model for the 'individualTransfer' while accepting
612
- party or quote.
613
- properties:
614
- homeTransactionId:
615
- description: >-
616
- Transaction ID from the DFSP backend, used to
617
- reconcile transactions between the Switch and DFSP
618
- backend systems.
619
- type: string
620
- transactionId:
621
- description: >-
622
- Identifier that correlates all messages of the same
623
- sequence. The API data type UUID (Universally Unique
624
- Identifier) is a JSON String in canonical format,
625
- conforming to [RFC
626
- 4122](https://tools.ietf.org/html/rfc4122), that is
627
- restricted by a regular expression for
628
- interoperability reasons. A UUID is always 36
629
- characters long, 32 hexadecimal symbols and 4 dashes
630
- (‘-‘).
631
- example: b51ec534-ee48-4575-b6a9-ead2955b8069
632
- pattern: >-
633
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
634
- title: CorrelationId
635
- type: string
636
- required:
637
- - homeTransactionId
638
- type: object
639
- minItems: 1
640
- type: array
641
- required:
642
- - bulkHomeTransactionID
643
- - individualTransferResults
644
- type: object
645
- description: Bulk transaction request body.
646
- required: true
96
+ $ref: '#/components/schemas/bulkTransactionResponse'
647
97
  responses:
648
98
  '202':
649
99
  description: Bulk transaction information successfully amended.
650
100
  '400':
651
- content: *ref_6
652
- description: Malformed or missing required headers or parameters.
101
+ $ref: '#/components/responses/400'
653
102
  '500':
654
- content: *ref_7
655
- description: An error occurred processing the request.
103
+ $ref: '#/components/responses/500'
656
104
  summary: Callbacks for the bulk transaction request.
657
105
  tags:
658
106
  - BulkTransactionsPut
@@ -663,142 +111,19 @@ paths:
663
111
  content:
664
112
  application/json:
665
113
  schema:
666
- properties: &ref_55
667
- bulkQuote:
668
- description: A response to a request for a bulk quote.
669
- properties: *ref_4
670
- required: *ref_5
671
- type: object
672
- bulkTransferId:
673
- description: A Mojaloop API transfer identifier (UUID).
674
- pattern: >-
675
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
676
- type: string
677
- from:
678
- properties: *ref_1
679
- required: *ref_2
680
- type: object
681
- individualTransfers:
682
- items:
683
- description: >-
684
- Data model for individual transfer in a bulk transfer
685
- request.
686
- properties: &ref_42
687
- amount:
688
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
689
- type: string
690
- amountType:
691
- enum: *ref_8
692
- type: string
693
- currency:
694
- enum: *ref_0
695
- maxLength: 3
696
- minLength: 3
697
- type: string
698
- feesAmount:
699
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
700
- type: string
701
- feesCurrency:
702
- enum: *ref_0
703
- maxLength: 3
704
- minLength: 3
705
- type: string
706
- initiator:
707
- enum: *ref_9
708
- type: string
709
- initiatorType:
710
- enum: *ref_10
711
- type: string
712
- note:
713
- description: An optional note associated with the quote.
714
- maxLength: 128
715
- minLength: 1
716
- type: string
717
- subScenario:
718
- description: >-
719
- Possible sub-scenario, defined locally within the
720
- scheme (UndefinedEnum Type). Based on FSPIOP
721
- TransactionSubScenario.
722
- example: LOCALLY_DEFINED_SUBSCENARIO
723
- pattern: ^[A-Z_]{1,32}$
724
- title: transactionSubScenario
725
- type: string
726
- to:
727
- properties: *ref_1
728
- required: *ref_2
729
- type: object
730
- transactionType:
731
- enum: *ref_11
732
- type: string
733
- transferId:
734
- description: A Mojaloop API transfer identifier (UUID).
735
- pattern: >-
736
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
737
- type: string
738
- required: &ref_43
739
- - transferId
740
- - amount
741
- - currency
742
- type: object
743
- maxItems: 1000
744
- minItems: 1
745
- type: array
746
- required: &ref_56
747
- - bulkTransferId
748
- - individualTransfers
749
- type: object
114
+ $ref: '#/components/schemas/bulkTransferRequest'
750
115
  description: An incoming bulk transfer request.
751
116
  responses:
752
117
  '200':
753
118
  content:
754
119
  application/json:
755
120
  schema:
756
- properties: &ref_14
757
- bulkTransferId:
758
- description: A Mojaloop API transfer identifier (UUID).
759
- pattern: >-
760
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
761
- type: string
762
- homeTransactionId:
763
- description: >-
764
- Transaction ID from the DFSP backend, used to reconcile
765
- transactions between the switch and DFSP backend systems.
766
- type: string
767
- individualTransferResults:
768
- items:
769
- description: >-
770
- Data model for individual transfer in a bulk transfer
771
- response.
772
- properties: &ref_44
773
- errorResponse:
774
- properties: *ref_3
775
- type: object
776
- extensionList:
777
- items: *ref_12
778
- maxItems: 16
779
- minItems: 0
780
- type: array
781
- transferId:
782
- description: A Mojaloop API transfer identifier (UUID).
783
- pattern: >-
784
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
785
- type: string
786
- required: &ref_45
787
- - transferId
788
- type: object
789
- maxItems: 1000
790
- minItems: 1
791
- type: array
792
- required: &ref_15
793
- - homeTransactionId
794
- type: object
121
+ $ref: '#/components/schemas/bulkTransferResponse'
795
122
  description: The bulk transfer was accepted.
796
123
  '400':
797
- content: *ref_6
798
- description: Malformed or missing required headers or parameters.
124
+ $ref: '#/components/responses/400'
799
125
  '500':
800
- content: *ref_7
801
- description: An error occurred processing the request.
126
+ $ref: '#/components/responses/500'
802
127
  summary: >-
803
128
  Execute bulk transfer of funds from an external account to internal
804
129
  accounts.
@@ -808,30 +133,20 @@ paths:
808
133
  get:
809
134
  operationId: BackendBulkTransfersGet
810
135
  parameters:
811
- - description: The identifier value.
812
- in: path
813
- name: idValue
814
- required: true
815
- schema: *ref_13
136
+ - $ref: '#/components/parameters/idValue'
816
137
  responses:
817
138
  '200':
818
139
  content:
819
140
  application/json:
820
141
  schema:
821
- properties: *ref_14
822
- required: *ref_15
823
- type: object
142
+ $ref: '#/components/schemas/bulkTransferResponse'
824
143
  description: Response containing details of the requested bulk transfer.
825
144
  '400':
826
- content: *ref_6
827
- description: Malformed or missing required headers or parameters.
145
+ $ref: '#/components/responses/400'
828
146
  '404':
829
- description: >-
830
- The party specified by the provided identifier type and value is not
831
- known to the server.
147
+ $ref: '#/components/responses/404'
832
148
  '500':
833
- content: *ref_7
834
- description: An error occurred processing the request.
149
+ $ref: '#/components/responses/500'
835
150
  summary: >-
836
151
  Requests information relating to a bulk transfer identified by the
837
152
  specified identifier value.
@@ -841,36 +156,20 @@ paths:
841
156
  get:
842
157
  operationId: BackendOtpGet
843
158
  parameters:
844
- - in: path
845
- name: requestToPayId
846
- required: true
847
- schema: &ref_31
848
- maxLength: 128
849
- minLength: 1
850
- type: string
159
+ - $ref: '#/components/parameters/requestToPayId'
851
160
  responses:
852
161
  '200':
853
162
  content:
854
163
  application/json:
855
164
  schema:
856
- properties: &ref_65
857
- otpValue:
858
- description: OTP value.
859
- type: string
860
- required: &ref_66
861
- - otpValue
862
- type: object
165
+ $ref: '#/components/schemas/otpDetails'
863
166
  description: Response containing details of the OTP.
864
167
  '400':
865
- content: *ref_6
866
- description: Malformed or missing required headers or parameters.
168
+ $ref: '#/components/responses/400'
867
169
  '404':
868
- description: >-
869
- The party specified by the provided identifier type and value is not
870
- known to the server.
170
+ $ref: '#/components/responses/404'
871
171
  '500':
872
- content: *ref_7
873
- description: An error occurred processing the request.
172
+ $ref: '#/components/responses/500'
874
173
  summary: Requests OTP.
875
174
  tags:
876
175
  - OTP
@@ -882,42 +181,21 @@ paths:
882
181
  `{idValue}`, is located.
883
182
  operationId: BackendParticipantsGetByTypeAndID
884
183
  parameters:
885
- - description: >-
886
- The type of the party identifier. For example, `MSISDN`,
887
- `PERSONAL_ID`.
888
- in: path
889
- name: idType
890
- required: true
891
- schema: &ref_16
892
- type: string
893
- - description: The identifier value.
894
- in: path
895
- name: idValue
896
- required: true
897
- schema: *ref_13
184
+ - $ref: '#/components/parameters/idType'
185
+ - $ref: '#/components/parameters/idValue'
898
186
  responses:
899
187
  '200':
900
188
  content:
901
189
  application/json:
902
190
  schema:
903
- properties: &ref_17
904
- fspId:
905
- description: FSP identifier.
906
- maxLength: 32
907
- minLength: 1
908
- type: string
909
- type: object
191
+ $ref: '#/components/schemas/participantsResponse'
910
192
  description: Response containing details of the requested party.
911
193
  '400':
912
- content: *ref_6
913
- description: Malformed or missing required headers or parameters.
194
+ $ref: '#/components/responses/400'
914
195
  '404':
915
- description: >-
916
- The party specified by the provided identifier type and value is not
917
- known to the server.
196
+ $ref: '#/components/responses/404'
918
197
  '500':
919
- content: *ref_7
920
- description: An error occurred processing the request.
198
+ $ref: '#/components/responses/500'
921
199
  summary: >-
922
200
  Asks for the identifier (fspId) of the scheme participant (FSP) that can
923
201
  handle transfers for the specified identifier type and value.
@@ -931,44 +209,22 @@ paths:
931
209
  `{idType}`, `{idValue}` and `{idSubValue}` is located.
932
210
  operationId: BackendParticipantsGetByTypeIDAndSubId
933
211
  parameters:
934
- - description: >-
935
- The type of the party identifier. For example, `MSISDN`,
936
- `PERSONAL_ID`.
937
- in: path
938
- name: idType
939
- required: true
940
- schema: *ref_16
941
- - description: The identifier value.
942
- in: path
943
- name: idValue
944
- required: true
945
- schema: *ref_13
946
- - description: >-
947
- A sub-identifier of the party identifier, or a sub-type of the party
948
- identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
949
- in: path
950
- name: idSubValue
951
- required: true
952
- schema: &ref_18
953
- type: string
212
+ - $ref: '#/components/parameters/idType'
213
+ - $ref: '#/components/parameters/idValue'
214
+ - $ref: '#/components/parameters/idSubValue'
954
215
  responses:
955
216
  '200':
956
217
  content:
957
218
  application/json:
958
219
  schema:
959
- properties: *ref_17
960
- type: object
220
+ $ref: '#/components/schemas/participantsResponse'
961
221
  description: Response containing details of the requested party.
962
222
  '400':
963
- content: *ref_6
964
- description: Malformed or missing required headers or parameters.
223
+ $ref: '#/components/responses/400'
965
224
  '404':
966
- description: >-
967
- The party specified by the provided identifier type and value is not
968
- known to the server.
225
+ $ref: '#/components/responses/404'
969
226
  '500':
970
- content: *ref_7
971
- description: An error occurred processing the request.
227
+ $ref: '#/components/responses/500'
972
228
  summary: >-
973
229
  Asks for the identifier (fspId) of the scheme participant (FSP) that can
974
230
  handle transfers for the specified identifier type and value.
@@ -982,37 +238,21 @@ paths:
982
238
  `{idType}` and `{idValue}`.
983
239
  operationId: BackendPartiesGetByTypeAndID
984
240
  parameters:
985
- - description: >-
986
- The type of the party identifier. For example, `MSISDN`,
987
- `PERSONAL_ID`.
988
- in: path
989
- name: idType
990
- required: true
991
- schema: *ref_16
992
- - description: The identifier value.
993
- in: path
994
- name: idValue
995
- required: true
996
- schema: *ref_13
241
+ - $ref: '#/components/parameters/idType'
242
+ - $ref: '#/components/parameters/idValue'
997
243
  responses:
998
244
  '200':
999
245
  content:
1000
246
  application/json:
1001
247
  schema:
1002
- properties: *ref_1
1003
- required: *ref_2
1004
- type: object
248
+ $ref: '#/components/schemas/transferParty'
1005
249
  description: Response containing details of the requested party.
1006
250
  '400':
1007
- content: *ref_6
1008
- description: Malformed or missing required headers or parameters.
251
+ $ref: '#/components/responses/400'
1009
252
  '404':
1010
- description: >-
1011
- The party specified by the provided identifier type and value is not
1012
- known to the server.
253
+ $ref: '#/components/responses/404'
1013
254
  '500':
1014
- content: *ref_7
1015
- description: An error occurred processing the request.
255
+ $ref: '#/components/responses/500'
1016
256
  summary: >-
1017
257
  Requests information relating to a transfer party identified by the
1018
258
  specified identifier type and value.
@@ -1026,44 +266,22 @@ paths:
1026
266
  identified by `{idType}`, `{idValue}` and `{idSubValue}`.
1027
267
  operationId: BackendPartiesGetByTypeIdAndSubId
1028
268
  parameters:
1029
- - description: >-
1030
- The type of the party identifier. For example, `MSISDN`,
1031
- `PERSONAL_ID`.
1032
- in: path
1033
- name: idType
1034
- required: true
1035
- schema: *ref_16
1036
- - description: The identifier value.
1037
- in: path
1038
- name: idValue
1039
- required: true
1040
- schema: *ref_13
1041
- - description: >-
1042
- A sub-identifier of the party identifier, or a sub-type of the party
1043
- identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
1044
- in: path
1045
- name: idSubValue
1046
- required: true
1047
- schema: *ref_18
269
+ - $ref: '#/components/parameters/idType'
270
+ - $ref: '#/components/parameters/idValue'
271
+ - $ref: '#/components/parameters/idSubValue'
1048
272
  responses:
1049
273
  '200':
1050
274
  content:
1051
275
  application/json:
1052
276
  schema:
1053
- properties: *ref_1
1054
- required: *ref_2
1055
- type: object
277
+ $ref: '#/components/schemas/transferParty'
1056
278
  description: Response containing details of the requested party.
1057
279
  '400':
1058
- content: *ref_6
1059
- description: Malformed or missing required headers or parameters.
280
+ $ref: '#/components/responses/400'
1060
281
  '404':
1061
- description: >-
1062
- The party specified by the provided identifier type and value is not
1063
- known to the server.
282
+ $ref: '#/components/responses/404'
1064
283
  '500':
1065
- content: *ref_7
1066
- description: An error occurred processing the request.
284
+ $ref: '#/components/responses/500'
1067
285
  summary: >-
1068
286
  Requests information relating to a transfer party identified by the
1069
287
  specified identifier type, value and subId value.
@@ -1079,219 +297,19 @@ paths:
1079
297
  content:
1080
298
  application/json:
1081
299
  schema:
1082
- description: A request for a quote for transfer from the DFSP backend.
1083
- properties: &ref_67
1084
- amount:
1085
- description: >-
1086
- Depending on `amountType`. If SEND - The amount the Payer
1087
- would like to send, that is, the amount that should be
1088
- withdrawn from the Payer account including any fees. The
1089
- amount is updated by each participating entity in the
1090
- transaction. If RECEIVE - The amount the Payee should
1091
- receive, that is, the amount that should be sent to the
1092
- receiver exclusive any fees. The amount is not updated by
1093
- any of the participating entities.
1094
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1095
- type: string
1096
- amountType:
1097
- description: SEND for send amount, RECEIVE for receive amount.
1098
- enum: *ref_8
1099
- type: string
1100
- currency:
1101
- enum: *ref_0
1102
- maxLength: 3
1103
- minLength: 3
1104
- type: string
1105
- expiration:
1106
- description: An ISO-8601 formatted timestamp.
1107
- pattern: >-
1108
- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
1109
- type: string
1110
- extensionList:
1111
- items: *ref_12
1112
- maxItems: 16
1113
- minItems: 0
1114
- type: array
1115
- feesAmount:
1116
- description: >-
1117
- The fees in the transaction. The fees element should be
1118
- empty if fees should be non-disclosed. The fees element
1119
- should be non-empty if fees should be disclosed.
1120
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1121
- type: string
1122
- feesCurrency:
1123
- enum: *ref_0
1124
- maxLength: 3
1125
- minLength: 3
1126
- type: string
1127
- from:
1128
- description: >-
1129
- Information about the Payer in the proposed financial
1130
- transaction.
1131
- properties: *ref_1
1132
- required: *ref_2
1133
- type: object
1134
- geoCode:
1135
- description: >-
1136
- Indicates the geographic location from where the transaction
1137
- was initiated.
1138
- properties: *ref_19
1139
- required: *ref_20
1140
- type: object
1141
- initiator:
1142
- description: >-
1143
- Specifies if the initiator of the transfer is the Payer or
1144
- Payee.
1145
- enum: *ref_9
1146
- type: string
1147
- initiatorType:
1148
- description: Specifies the type of the transaction initiator.
1149
- enum: *ref_10
1150
- type: string
1151
- note:
1152
- description: An optional note associated with the requested transfer.
1153
- maxLength: 128
1154
- minLength: 1
1155
- type: string
1156
- quoteId:
1157
- description: A Mojaloop API quote identifier (UUID).
1158
- pattern: >-
1159
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1160
- type: string
1161
- subScenario:
1162
- description: >-
1163
- Possible sub-scenario, defined locally within the scheme
1164
- (UndefinedEnum Type). Based on FSPIOP
1165
- TransactionSubScenario.
1166
- example: LOCALLY_DEFINED_SUBSCENARIO
1167
- pattern: ^[A-Z_]{1,32}$
1168
- title: transactionSubScenario
1169
- type: string
1170
- to:
1171
- description: >-
1172
- Information about the Payee in the proposed financial
1173
- transaction.
1174
- properties: *ref_1
1175
- required: *ref_2
1176
- type: object
1177
- transactionId:
1178
- description: >-
1179
- ID of the transaction, the ID is decided by the Payer FSP
1180
- during the creation of the quote.
1181
- pattern: >-
1182
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1183
- type: string
1184
- transactionType:
1185
- description: Type of transaction for which the quote is requested.
1186
- enum: *ref_11
1187
- type: string
1188
- required: &ref_68
1189
- - quoteId
1190
- - transactionId
1191
- - to
1192
- - from
1193
- - amountType
1194
- - amount
1195
- - currency
1196
- - transactionType
1197
- - initiator
1198
- - initiatorType
1199
- type: object
300
+ $ref: '#/components/schemas/quoteRequest'
1200
301
  description: Request for a transfer quotation.
1201
302
  responses:
1202
303
  '200':
1203
304
  content:
1204
305
  application/json:
1205
306
  schema:
1206
- description: A response to a request for a quote.
1207
- properties: &ref_25
1208
- expiration:
1209
- description: An ISO-8601 formatted timestamp.
1210
- pattern: >-
1211
- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
1212
- type: string
1213
- extensionList:
1214
- items: *ref_12
1215
- maxItems: 16
1216
- minItems: 0
1217
- type: array
1218
- geoCode:
1219
- description: >-
1220
- Indicates the geographic location from where the
1221
- transaction was initiated.
1222
- properties: *ref_19
1223
- required: *ref_20
1224
- type: object
1225
- payeeFspCommissionAmount:
1226
- description: Transaction commission from the Payee FSP.
1227
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1228
- type: string
1229
- payeeFspCommissionAmountCurrency:
1230
- description: Currency of the `payeeFspCommissionAmount`.
1231
- enum: *ref_0
1232
- maxLength: 3
1233
- minLength: 3
1234
- type: string
1235
- payeeFspFeeAmount:
1236
- description: Payee FSP’s part of the transaction fee.
1237
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1238
- type: string
1239
- payeeFspFeeAmountCurrency:
1240
- description: The currency of the `payeeFspFeeAmount`.
1241
- enum: *ref_0
1242
- maxLength: 3
1243
- minLength: 3
1244
- type: string
1245
- payeeReceiveAmount:
1246
- description: >-
1247
- The amount that the Payee should receive in the end-to-end
1248
- transaction. Optional as the Payee FSP might not want to
1249
- disclose any optional Payee fees.
1250
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1251
- type: string
1252
- payeeReceiveAmountCurrency:
1253
- description: The currency of the `payeeReceiveAmount`.
1254
- enum: *ref_0
1255
- maxLength: 3
1256
- minLength: 3
1257
- type: string
1258
- quoteId:
1259
- description: A Mojaloop API quote identifier (UUID).
1260
- pattern: >-
1261
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1262
- type: string
1263
- transactionId:
1264
- description: >-
1265
- ID of the transaction, the ID is decided by the Payer FSP
1266
- during the creation of the quote.
1267
- pattern: >-
1268
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1269
- type: string
1270
- transferAmount:
1271
- description: >-
1272
- The amount of money that the Payer FSP should transfer to
1273
- the Payee FSP.
1274
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1275
- type: string
1276
- transferAmountCurrency:
1277
- description: The currency of the `transferAmount`.
1278
- enum: *ref_0
1279
- maxLength: 3
1280
- minLength: 3
1281
- type: string
1282
- required: &ref_26
1283
- - quoteId
1284
- - transactionId
1285
- - transferAmount
1286
- - transferAmountCurrency
1287
- type: object
307
+ $ref: '#/components/schemas/quoteResponse'
1288
308
  description: A response to the transfer quotation request.
1289
309
  '400':
1290
- content: *ref_6
1291
- description: Malformed or missing required headers or parameters.
310
+ $ref: '#/components/responses/400'
1292
311
  '500':
1293
- content: *ref_7
1294
- description: An error occurred processing the request.
312
+ $ref: '#/components/responses/500'
1295
313
  summary: Requests a quote for the specified transfer.
1296
314
  tags:
1297
315
  - Quotes
@@ -1302,107 +320,19 @@ paths:
1302
320
  content:
1303
321
  application/json:
1304
322
  schema:
1305
- description: A request for a pull based transfer.
1306
- properties: &ref_70
1307
- amount:
1308
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1309
- type: string
1310
- currency:
1311
- enum: *ref_0
1312
- maxLength: 3
1313
- minLength: 3
1314
- type: string
1315
- expiration:
1316
- description: An ISO-8601 formatted timestamp.
1317
- pattern: >-
1318
- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
1319
- type: string
1320
- from:
1321
- properties: *ref_1
1322
- required: *ref_2
1323
- type: object
1324
- geoCode:
1325
- description: >-
1326
- Indicates the geographic location from where the transaction
1327
- was initiated.
1328
- properties: *ref_19
1329
- required: *ref_20
1330
- type: object
1331
- initiator:
1332
- enum: *ref_9
1333
- type: string
1334
- initiatorType:
1335
- enum: *ref_10
1336
- type: string
1337
- note:
1338
- description: An optional note associated with the requested transfer.
1339
- maxLength: 128
1340
- minLength: 1
1341
- type: string
1342
- to:
1343
- properties: *ref_1
1344
- required: *ref_2
1345
- type: object
1346
- transactionRequestId:
1347
- description: A Mojaloop API transaction request identifier (UUID).
1348
- pattern: >-
1349
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1350
- type: string
1351
- transactionType:
1352
- enum: *ref_11
1353
- type: string
1354
- subScenario:
1355
- description: >-
1356
- Possible sub-scenario, defined locally within the scheme
1357
- (UndefinedEnum Type). Based on FSPIOP
1358
- TransactionSubScenario.
1359
- example: LOCALLY_DEFINED_SUBSCENARIO
1360
- pattern: ^[A-Z_]{1,32}$
1361
- title: transactionSubScenario
1362
- type: string
1363
- required: &ref_71
1364
- - transactionRequestId
1365
- - to
1366
- - from
1367
- - amount
1368
- - currency
1369
- - transactionType
1370
- - initiator
1371
- - initiatorType
1372
- type: object
323
+ $ref: '#/components/schemas/transactionRequest'
1373
324
  description: Request for Transaction Request.
1374
325
  responses:
1375
326
  '200':
1376
327
  content:
1377
328
  application/json:
1378
329
  schema:
1379
- description: A response to a request for a quote.
1380
- properties: &ref_72
1381
- transactionId:
1382
- description: >-
1383
- ID of the transaction, the ID is decided by the Payer FSP
1384
- during the creation of the quote.
1385
- pattern: >-
1386
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1387
- type: string
1388
- transferAmount:
1389
- enum: &ref_74
1390
- - RECEIVED
1391
- - PENDING
1392
- - ACCEPTED
1393
- - REJECTED
1394
- type: string
1395
- required: &ref_73
1396
- - transactionId
1397
- - transactionRequestState
1398
- type: object
330
+ $ref: '#/components/schemas/transactionRequestResponse'
1399
331
  description: A response to the transfer transaction request.
1400
332
  '400':
1401
- content: *ref_6
1402
- description: Malformed or missing required headers or parameters.
333
+ $ref: '#/components/responses/400'
1403
334
  '500':
1404
- content: *ref_7
1405
- description: An error occurred processing the request.
335
+ $ref: '#/components/responses/500'
1406
336
  summary: Transaction request that supports pull based transfers.
1407
337
  tags:
1408
338
  - TransactionRequest
@@ -1416,485 +346,19 @@ paths:
1416
346
  content:
1417
347
  application/json:
1418
348
  schema:
1419
- properties: &ref_80
1420
- amount:
1421
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1422
- type: string
1423
- amountType:
1424
- enum: *ref_8
1425
- type: string
1426
- currency:
1427
- enum: *ref_0
1428
- maxLength: 3
1429
- minLength: 3
1430
- type: string
1431
- from:
1432
- properties: *ref_1
1433
- required: *ref_2
1434
- type: object
1435
- ilpPacket:
1436
- properties:
1437
- data:
1438
- description: Object containing transfer object.
1439
- properties: &ref_62
1440
- amount:
1441
- description: >-
1442
- Object containing Amount and Currency of the
1443
- transfer.
1444
- properties: &ref_51
1445
- amount:
1446
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1447
- type: string
1448
- currency:
1449
- enum: *ref_0
1450
- maxLength: 3
1451
- minLength: 3
1452
- type: string
1453
- required: &ref_52
1454
- - amount
1455
- - currency
1456
- type: object
1457
- payee:
1458
- description: Data model for the complex type Party.
1459
- properties: &ref_23
1460
- merchantClassificationCode:
1461
- description: >-
1462
- A limited set of pre-defined numbers. This list
1463
- would be a limited set of numbers identifying a
1464
- set of popular merchant types like School Fees,
1465
- Pubs and Restaurants, Groceries, etc.
1466
- pattern: ^[\d]{1,4}$
1467
- title: MerchantClassificationCode
1468
- type: string
1469
- name:
1470
- description: >-
1471
- Name of the Party. Could be a real name or a
1472
- nickname.
1473
- maxLength: 128
1474
- minLength: 1
1475
- title: PartyName
1476
- type: string
1477
- partyIdInfo:
1478
- description: Data model for the complex type PartyIdInfo.
1479
- properties: &ref_47
1480
- extensionList:
1481
- description: >-
1482
- Data model for the complex type
1483
- ExtensionList
1484
- properties: &ref_34
1485
- extension:
1486
- description: Number of Extension elements
1487
- items:
1488
- description: >-
1489
- Data model for the complex type
1490
- Extension
1491
- properties: &ref_32
1492
- key:
1493
- description: Extension key.
1494
- maxLength: 32
1495
- minLength: 1
1496
- title: ExtensionKey
1497
- type: string
1498
- value:
1499
- description: Extension value.
1500
- maxLength: 128
1501
- minLength: 1
1502
- title: ExtensionValue
1503
- type: string
1504
- required: &ref_33
1505
- - key
1506
- - value
1507
- title: Extension
1508
- type: object
1509
- maxItems: 16
1510
- minItems: 1
1511
- type: array
1512
- required: &ref_35
1513
- - extension
1514
- title: ExtensionList
1515
- type: object
1516
- fspId:
1517
- description: FSP identifier.
1518
- maxLength: 32
1519
- minLength: 1
1520
- title: FspId
1521
- type: string
1522
- partyIdType:
1523
- description: >
1524
- This is a variant based on FSPIOP
1525
- `PartyIdType` specification.
1526
-
1527
- Main difference being the CONSENT and
1528
- THIRD_PARTY_LINK enums.
1529
-
1530
-
1531
- Below are the allowed values for the
1532
- enumeration.
1533
-
1534
- - MSISDN - An MSISDN (Mobile Station
1535
- International Subscriber Directory
1536
-
1537
- Number, that is, the phone number) is used
1538
- as reference to a participant.
1539
-
1540
- The MSISDN identifier should be in
1541
- international format according to the
1542
-
1543
- [ITU-T E.164
1544
- standard](https://www.itu.int/rec/T-REC-E.164/en).
1545
-
1546
- Optionally, the MSISDN may be prefixed by a
1547
- single plus sign, indicating the
1548
-
1549
- international prefix.
1550
-
1551
- - EMAIL - An email is used as reference to a
1552
-
1553
- participant. The format of the email should
1554
- be according to the informational
1555
-
1556
- [RFC
1557
- 3696](https://tools.ietf.org/html/rfc3696).
1558
-
1559
- - PERSONAL_ID - A personal identifier is
1560
- used as reference to a participant.
1561
-
1562
- Examples of personal identification are
1563
- passport number, birth certificate
1564
-
1565
- number, and national registration number.
1566
- The identifier number is added in
1567
-
1568
- the PartyIdentifier element. The personal
1569
- identifier type is added in the
1570
-
1571
- PartySubIdOrType element.
1572
-
1573
- - BUSINESS - A specific Business (for
1574
- example, an organization or a company)
1575
-
1576
- is used as reference to a participant. The
1577
- BUSINESS identifier can be in any
1578
-
1579
- format. To make a transaction connected to a
1580
- specific username or bill number
1581
-
1582
- in a Business, the PartySubIdOrType element
1583
- should be used.
1584
-
1585
- - DEVICE - A specific device (for example, a
1586
- POS or ATM) ID connected to a
1587
-
1588
- specific business or organization is used as
1589
- reference to a Party.
1590
-
1591
- For referencing a specific device under a
1592
- specific business or organization,
1593
-
1594
- use the PartySubIdOrType element.
1595
-
1596
- - ACCOUNT_ID - A bank account number or FSP
1597
- account ID should be used as
1598
-
1599
- reference to a participant. The ACCOUNT_ID
1600
- identifier can be in any format,
1601
-
1602
- as formats can greatly differ depending on
1603
- country and FSP.
1604
-
1605
- - IBAN - A bank account number or FSP
1606
- account ID is used as reference to a
1607
-
1608
- participant. The IBAN identifier can consist
1609
- of up to 34 alphanumeric
1610
-
1611
- characters and should be entered without
1612
- whitespace.
1613
-
1614
- - ALIAS An alias is used as reference to a
1615
- participant. The alias should be
1616
-
1617
- created in the FSP as an alternative
1618
- reference to an account owner.
1619
-
1620
- Another example of an alias is a username in
1621
- the FSP system.
1622
-
1623
- The ALIAS identifier can be in any format.
1624
- It is also possible to use the
1625
-
1626
- PartySubIdOrType element for identifying an
1627
- account under an Alias defined
1628
-
1629
- by the PartyIdentifier.
1630
-
1631
- - CONSENT - TBD
1632
-
1633
- - THIRD_PARTY_LINK - TBD
1634
- enum: &ref_49
1635
- - MSISDN
1636
- - EMAIL
1637
- - PERSONAL_ID
1638
- - BUSINESS
1639
- - DEVICE
1640
- - ACCOUNT_ID
1641
- - IBAN
1642
- - ALIAS
1643
- - CONSENT
1644
- - THIRD_PARTY_LINK
1645
- example: PERSONAL_ID
1646
- title: PartyIdType
1647
- type: string
1648
- partyIdentifier:
1649
- description: Identifier of the Party.
1650
- example: '16135551212'
1651
- maxLength: 128
1652
- minLength: 1
1653
- title: PartyIdentifier
1654
- type: string
1655
- partySubIdOrType:
1656
- description: >-
1657
- Either a sub-identifier of a
1658
- PartyIdentifier, or a sub-type of the
1659
- PartyIdType, normally a
1660
- PersonalIdentifierType.
1661
- maxLength: 128
1662
- minLength: 1
1663
- title: PartySubIdOrType
1664
- type: string
1665
- required: &ref_48
1666
- - partyIdType
1667
- - partyIdentifier
1668
- title: PartyIdInfo
1669
- type: object
1670
- personalInfo:
1671
- description: >-
1672
- Data model for the complex type
1673
- PartyPersonalInfo.
1674
- properties: &ref_50
1675
- complexName:
1676
- description: >-
1677
- Data model for the complex type
1678
- PartyComplexName.
1679
- properties: &ref_46
1680
- displayName:
1681
- description: Display name of the sender if known
1682
- type: string
1683
- firstName:
1684
- description: First name of the Party (Name Type).
1685
- example: Henrik
1686
- maxLength: 128
1687
- minLength: 1
1688
- pattern: >-
1689
- ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
1690
- .,''-]{1,128}$
1691
- title: FirstName
1692
- type: string
1693
- idSubValue:
1694
- description: >-
1695
- The sub identifier string used to
1696
- identify the sender
1697
- type: string
1698
- idType:
1699
- enum: *ref_21
1700
- type: string
1701
- idValue:
1702
- description: >-
1703
- The identifier string used to identify
1704
- the sender
1705
- type: string
1706
- lastName:
1707
- description: Last name of the Party (Name Type).
1708
- example: Karlsson
1709
- maxLength: 128
1710
- minLength: 1
1711
- pattern: >-
1712
- ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
1713
- .,''-]{1,128}$
1714
- title: LastName
1715
- type: string
1716
- middleName:
1717
- description: Middle name of the Party (Name Type).
1718
- example: Johannes
1719
- maxLength: 128
1720
- minLength: 1
1721
- pattern: >-
1722
- ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
1723
- .,''-]{1,128}$
1724
- title: MiddleName
1725
- type: string
1726
- type:
1727
- enum: *ref_22
1728
- type: string
1729
- title: PartyComplexName
1730
- type: object
1731
- dateOfBirth:
1732
- description: Date of Birth of the Party.
1733
- example: '1966-06-16'
1734
- pattern: >-
1735
- ^(?:[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)$
1736
- title: DateofBirth (type Date)
1737
- type: string
1738
- title: PartyPersonalInfo
1739
- type: object
1740
- required: &ref_24
1741
- - partyIdInfo
1742
- title: Party
1743
- type: object
1744
- payer:
1745
- description: Data model for the complex type Party.
1746
- properties: *ref_23
1747
- required: *ref_24
1748
- title: Party
1749
- type: object
1750
- quoteId:
1751
- description: A Mojaloop API quote identifier (UUID).
1752
- pattern: >-
1753
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1754
- type: string
1755
- transactionId:
1756
- description: >-
1757
- ID of the transaction, the ID is decided by the
1758
- Payer FSP during the creation of the quote.
1759
- pattern: >-
1760
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1761
- type: string
1762
- transactionType:
1763
- description: Object containing transfer object.
1764
- properties: &ref_75
1765
- initiator:
1766
- enum: *ref_9
1767
- type: string
1768
- initiatorType:
1769
- description: Specifies the type of the transaction initiator.
1770
- enum: *ref_10
1771
- type: string
1772
- scenario:
1773
- enum: &ref_69
1774
- - TRANSFER
1775
- type: string
1776
- subScenario:
1777
- description: >-
1778
- Possible sub-scenario, defined locally within
1779
- the scheme (UndefinedEnum Type). Based on FSPIOP
1780
- TransactionSubScenario.
1781
- example: LOCALLY_DEFINED_SUBSCENARIO
1782
- pattern: ^[A-Z_]{1,32}$
1783
- title: transactionSubScenario
1784
- type: string
1785
- required: &ref_76
1786
- - scenario
1787
- - initiator
1788
- - initiatorType
1789
- type: object
1790
- required: &ref_63
1791
- - quoteId
1792
- - transactionId
1793
- - payer
1794
- - payee
1795
- - amount
1796
- - transactionType
1797
- type: object
1798
- required:
1799
- - data
1800
- type: object
1801
- note:
1802
- maxLength: 128
1803
- type: string
1804
- quote:
1805
- description: A response to a request for a quote.
1806
- properties: *ref_25
1807
- required: *ref_26
1808
- type: object
1809
- quoteRequestExtensions:
1810
- items: *ref_12
1811
- maxItems: 16
1812
- minItems: 0
1813
- type: array
1814
- subScenario:
1815
- description: >-
1816
- Possible sub-scenario, defined locally within the scheme
1817
- (UndefinedEnum Type). Based on FSPIOP
1818
- TransactionSubScenario.
1819
- example: LOCALLY_DEFINED_SUBSCENARIO
1820
- pattern: ^[A-Z_]{1,32}$
1821
- title: transactionSubScenario
1822
- type: string
1823
- to:
1824
- properties: *ref_1
1825
- required: *ref_2
1826
- type: object
1827
- transactionType:
1828
- enum: *ref_11
1829
- type: string
1830
- transferId:
1831
- description: A Mojaloop API transfer identifier (UUID).
1832
- pattern: >-
1833
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1834
- type: string
1835
- required: &ref_81
1836
- - transferId
1837
- - quote
1838
- - from
1839
- - to
1840
- - amountType
1841
- - currency
1842
- - amount
1843
- - transactionType
1844
- - ilpPacket
1845
- type: object
349
+ $ref: '#/components/schemas/transferRequest'
1846
350
  description: An incoming transfer request.
1847
351
  responses:
1848
352
  '200':
1849
353
  content:
1850
354
  application/json:
1851
355
  schema:
1852
- properties: &ref_82
1853
- completedTimestamp:
1854
- description: An ISO-8601 formatted timestamp.
1855
- example: '2020-05-19T08:38:08.699-04:00'
1856
- pattern: >-
1857
- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
1858
- type: string
1859
- fulfilment:
1860
- description: >-
1861
- Fulfilment that must be attached to the transfer by the
1862
- Payee.
1863
- example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
1864
- maxLength: 48
1865
- pattern: ^[A-Za-z0-9-_]{43}$
1866
- title: ilpFulfilment
1867
- type: string
1868
- homeTransactionId:
1869
- description: >-
1870
- Transaction ID from the DFSP backend, used to reconcile
1871
- transactions between the Switch and DFSP backend systems.
1872
- type: string
1873
- transferState:
1874
- description: >
1875
- Below are the allowed values for the enumeration -
1876
- RECEIVED DFSP has received the transfer. - RESERVED DFSP
1877
- has reserved the transfer. - COMMITTED DFSP has
1878
- successfully performed the transfer. - ABORTED DFSP has
1879
- aborted the transfer due a rejection or failure to perform
1880
- the transfer.
1881
- example: ABORTED
1882
- enum: &ref_27
1883
- - RECEIVED
1884
- - RESERVED
1885
- - COMMITTED
1886
- - ABORTED
1887
- type: string
1888
- required: &ref_83
1889
- - homeTransactionId
1890
- type: object
356
+ $ref: '#/components/schemas/transferResponse'
1891
357
  description: The transfer was accepted.
1892
358
  '400':
1893
- content: *ref_6
1894
- description: Malformed or missing required headers or parameters.
359
+ $ref: '#/components/responses/400'
1895
360
  '500':
1896
- content: *ref_7
1897
- description: An error occurred processing the request.
361
+ $ref: '#/components/responses/500'
1898
362
  summary: Transfers funds from an external account to an internal account.
1899
363
  tags:
1900
364
  - Transfers
@@ -1907,91 +371,16 @@ paths:
1907
371
  for the creation of the transfer.
1908
372
  operationId: BackendTransfersGet
1909
373
  parameters:
1910
- - in: path
1911
- name: transferId
1912
- required: true
1913
- schema: &ref_28
1914
- type: string
374
+ - $ref: '#/components/parameters/transferId'
1915
375
  responses:
1916
376
  '200':
1917
377
  content:
1918
378
  application/json:
1919
379
  schema:
1920
- properties: &ref_77
1921
- amount:
1922
- pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1923
- type: string
1924
- amountType:
1925
- enum: *ref_8
1926
- type: string
1927
- currency:
1928
- enum: *ref_0
1929
- maxLength: 3
1930
- minLength: 3
1931
- type: string
1932
- extensions:
1933
- items: *ref_12
1934
- maxItems: 16
1935
- minItems: 0
1936
- type: array
1937
- from:
1938
- properties: *ref_1
1939
- required: *ref_2
1940
- type: object
1941
- homeTransactionId:
1942
- description: >-
1943
- Transaction ID from the DFSP backend, used to reconcile
1944
- transactions between the Switch and DFSP backend systems.
1945
- type: string
1946
- note:
1947
- maxLength: 128
1948
- type: string
1949
- subScenario:
1950
- description: >-
1951
- Possible sub-scenario, defined locally within the scheme
1952
- (UndefinedEnum Type). Based on FSPIOP
1953
- TransactionSubScenario.
1954
- example: LOCALLY_DEFINED_SUBSCENARIO
1955
- pattern: ^[A-Z_]{1,32}$
1956
- title: transactionSubScenario
1957
- type: string
1958
- timestamp:
1959
- description: An ISO-8601 formatted timestamp.
1960
- pattern: >-
1961
- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
1962
- type: string
1963
- to:
1964
- properties: *ref_1
1965
- required: *ref_2
1966
- type: object
1967
- transactionType:
1968
- enum: *ref_11
1969
- type: string
1970
- transferState:
1971
- description: >
1972
- Below are the allowed values for the enumeration -
1973
- RECEIVED DFSP has received the transfer. - RESERVED DFSP
1974
- has reserved the transfer. - COMMITTED DFSP has
1975
- successfully performed the transfer. - ABORTED DFSP has
1976
- aborted the transfer due a rejection or failure to perform
1977
- the transfer.
1978
- enum: *ref_27
1979
- type: string
1980
- required: &ref_78
1981
- - homeTransactionId
1982
- - from
1983
- - to
1984
- - amountType
1985
- - currency
1986
- - amount
1987
- - transferState
1988
- - transactionType
1989
- - timestamp
1990
- type: object
380
+ $ref: '#/components/schemas/transferDetailsResponse'
1991
381
  description: The transfer was accepted.
1992
382
  '500':
1993
- content: *ref_7
1994
- description: An error occurred processing the request.
383
+ $ref: '#/components/responses/500'
1995
384
  summary: Retrieves information for a specific transfer.
1996
385
  tags:
1997
386
  - Transfers
@@ -2001,190 +390,23 @@ paths:
2001
390
  notification for transfer being fulfiled when the FSP is a Payee.
2002
391
  operationId: BackendTransfersPut
2003
392
  parameters:
2004
- - in: path
2005
- name: transferId
2006
- required: true
2007
- schema: *ref_28
393
+ - $ref: '#/components/parameters/transferId'
2008
394
  requestBody:
2009
395
  content:
2010
396
  application/json:
2011
397
  schema:
2012
- description: PUT /transfers/{transferId} object.
2013
- properties: &ref_61
2014
- currentState:
2015
- enum: &ref_84
2016
- - ERROR_OCCURRED
2017
- - WAITING_FOR_PARTY_ACCEPTANCE
2018
- - WAITING_FOR_QUOTE_ACCEPTANCE
2019
- - COMPLETED
2020
- type: string
2021
- direction:
2022
- enum:
2023
- - INBOUND
2024
- type: string
2025
- finalNotification:
2026
- properties:
2027
- completedTimestamp:
2028
- description: An ISO-8601 formatted timestamp.
2029
- example: '2020-05-19T08:38:08.699-04:00'
2030
- pattern: >-
2031
- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
2032
- type: string
2033
- extensionList:
2034
- description: Optional extension, specific to deployment.
2035
- items: *ref_12
2036
- maxItems: 16
2037
- minItems: 0
2038
- type: array
2039
- transferState:
2040
- description: >
2041
- Below are the allowed values for the enumeration -
2042
- RECEIVED DFSP has received the transfer. - RESERVED DFSP
2043
- has reserved the transfer. - COMMITTED DFSP has
2044
- successfully performed the transfer. - ABORTED DFSP has
2045
- aborted the transfer due a rejection or failure to
2046
- perform the transfer.
2047
- example: COMMITTED
2048
- enum: *ref_27
2049
- type: string
2050
- required:
2051
- - completedTimestamp
2052
- - transferState
2053
- type: object
2054
- fulfil:
2055
- properties:
2056
- body:
2057
- type: object
2058
- headers:
2059
- type: object
2060
- type: object
2061
- initiatedTimestamp:
2062
- description: An ISO-8601 formatted timestamp.
2063
- pattern: >-
2064
- ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
2065
- type: string
2066
- lastError:
2067
- description: >-
2068
- This object represents a Mojaloop API error received at any
2069
- time during the transfer process.
2070
- properties: &ref_79
2071
- httpStatusCode:
2072
- description: >-
2073
- The HTTP status code returned to the caller. This is the
2074
- same as the actual HTTP status code returned with the
2075
- response.
2076
- type: integer
2077
- mojaloopError:
2078
- description: >-
2079
- If a transfer process results in an error callback
2080
- during the asynchronous Mojaloop API exchange, this
2081
- property will contain the underlying Mojaloop API error
2082
- object.
2083
- properties: &ref_64
2084
- errorInformation:
2085
- description: A Mojaloop API error information construct.
2086
- properties: &ref_57
2087
- errorCode:
2088
- description: >
2089
- The API data type errorCode is a JSON String of
2090
- four characters, consisting of digits only.
2091
- Negative numbers are not allowed. A leading zero
2092
- is not allowed. Each error code in the API is a
2093
- four-digit number, for example, 1234, where the
2094
- first number (1 in the example) represents the
2095
- high-level error category, the second number (2
2096
- in the example) represents the low-level error
2097
- category, and the last two numbers (34 in the
2098
- example) represents the specific error.
2099
- pattern: ^[1-9]\d{3}$
2100
- title: ErrorCode
2101
- type: string
2102
- errorDescription:
2103
- description: Error description string.
2104
- maxLength: 128
2105
- minLength: 1
2106
- title: ErrorDescription
2107
- type: string
2108
- extensionList:
2109
- description: Data model for the complex type ExtensionList.
2110
- properties: &ref_59
2111
- extension:
2112
- description: Number of Extension elements.
2113
- items:
2114
- properties: *ref_29
2115
- type: object
2116
- maxItems: 16
2117
- minItems: 1
2118
- type: array
2119
- required: &ref_60
2120
- - extension
2121
- type: object
2122
- required: &ref_58
2123
- - errorCode
2124
- - errorDescription
2125
- title: ErrorInformation
2126
- type: object
2127
- type: object
2128
- type: object
2129
- prepare:
2130
- properties:
2131
- body:
2132
- type: object
2133
- headers:
2134
- type: object
2135
- type: object
2136
- quote:
2137
- properties:
2138
- fulfilment:
2139
- type: string
2140
- internalRequest:
2141
- type: object
2142
- mojaloopResponse:
2143
- type: object
2144
- request:
2145
- type: object
2146
- response:
2147
- type: object
2148
- type: object
2149
- quoteRequest:
2150
- properties:
2151
- body:
2152
- type: object
2153
- headers:
2154
- type: object
2155
- type: object
2156
- quoteResponse:
2157
- properties:
2158
- body:
2159
- type: object
2160
- headers:
2161
- type: object
2162
- type: object
2163
- transferId:
2164
- description: A Mojaloop API transfer identifier (UUID).
2165
- pattern: >-
2166
- ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2167
- type: string
2168
- title: TransfersIDPatchResponse
2169
- type: object
398
+ $ref: '#/components/schemas/fulfilNotification'
2170
399
  description: An incoming notification for fulfiled transfer.
2171
400
  responses:
2172
401
  '200':
2173
402
  description: The notification was accepted.
2174
403
  '500':
2175
- content: *ref_7
2176
- description: An error occurred processing the request.
404
+ $ref: '#/components/responses/500'
2177
405
  summary: Receive notification for a specific transfer.
2178
406
  tags:
2179
407
  - Transfers
2180
408
  components:
2181
409
  parameters:
2182
- bulkTransactionId:
2183
- description: Identifier of the bulk transaction to continue as returned in.
2184
- in: path
2185
- name: bulkTransactionId
2186
- required: true
2187
- schema: *ref_30
2188
410
  idSubValue:
2189
411
  description: >-
2190
412
  A sub-identifier of the party identifier, or a sub-type of the party
@@ -2192,292 +414,254 @@ components:
2192
414
  in: path
2193
415
  name: idSubValue
2194
416
  required: true
2195
- schema: *ref_18
417
+ schema:
418
+ type: string
2196
419
  idType:
2197
420
  description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.
2198
421
  in: path
2199
422
  name: idType
2200
423
  required: true
2201
- schema: *ref_16
424
+ schema:
425
+ type: string
2202
426
  idValue:
2203
427
  description: The identifier value.
2204
428
  in: path
2205
429
  name: idValue
2206
430
  required: true
2207
- schema: *ref_13
431
+ schema:
432
+ type: string
2208
433
  requestToPayId:
2209
434
  in: path
2210
435
  name: requestToPayId
2211
436
  required: true
2212
- schema: *ref_31
437
+ schema:
438
+ maxLength: 128
439
+ minLength: 1
440
+ type: string
2213
441
  transferId:
2214
442
  in: path
2215
443
  name: transferId
2216
444
  required: true
2217
- schema: *ref_28
445
+ schema:
446
+ type: string
447
+ bulkTransactionId:
448
+ name: bulkTransactionId
449
+ in: path
450
+ required: true
451
+ schema:
452
+ $ref: '#/components/schemas/CorrelationId'
453
+ description: >-
454
+ Identifier of the bulk transaction to continue as returned in the
455
+ response to a `POST /bulkTransaction` request.
2218
456
  responses:
2219
457
  '400':
2220
- content: *ref_6
458
+ content:
459
+ application/json:
460
+ schema:
461
+ $ref: '#/components/schemas/errorResponse'
2221
462
  description: Malformed or missing required headers or parameters.
2222
463
  '404':
2223
464
  description: >-
2224
465
  The party specified by the provided identifier type and value is not
2225
466
  known to the server.
2226
467
  '500':
2227
- content: *ref_7
468
+ content:
469
+ application/json:
470
+ schema:
471
+ $ref: '#/components/schemas/errorResponse'
2228
472
  description: An error occurred processing the request.
2229
473
  schemas:
2230
474
  DateOfBirth:
2231
- description: Date of Birth of the Party.
2232
- example: '1966-06-16'
2233
- pattern: >-
2234
- ^(?:[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)$
2235
475
  title: DateofBirth (type Date)
2236
476
  type: string
2237
- Extension:
2238
- description: Data model for the complex type Extension
2239
- properties: *ref_32
2240
- required: *ref_33
2241
- title: Extension
2242
- type: object
2243
- ExtensionKey:
2244
- description: Extension key.
2245
- maxLength: 32
2246
- minLength: 1
2247
- title: ExtensionKey
477
+ pattern: >-
478
+ ^(?:[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)$
479
+ description: Date of Birth of the Party.
480
+ example: '1966-06-16'
481
+ FirstName:
482
+ title: FirstName
2248
483
  type: string
2249
- ExtensionList:
2250
- description: Data model for the complex type ExtensionList
2251
- properties: *ref_34
2252
- required: *ref_35
2253
- title: ExtensionList
2254
- type: object
2255
- ExtensionValue:
2256
- description: Extension value.
2257
- maxLength: 128
2258
484
  minLength: 1
2259
- title: ExtensionValue
2260
- type: string
2261
- FirstName:
2262
- description: First name of the Party (Name Type).
2263
- example: Henrik
2264
485
  maxLength: 128
2265
- minLength: 1
2266
486
  pattern: >-
2267
487
  ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2268
488
  .,''-]{1,128}$
2269
- title: FirstName
2270
- type: string
489
+ description: First name of the Party (Name Type).
490
+ example: Henrik
2271
491
  FspId:
2272
- description: FSP identifier.
2273
- maxLength: 32
2274
- minLength: 1
2275
492
  title: FspId
2276
493
  type: string
494
+ minLength: 1
495
+ maxLength: 32
496
+ description: FSP identifier.
2277
497
  IndividualQuote:
2278
498
  description: Data model for individual quote in a bulk quote request.
2279
- properties: *ref_36
2280
- required: *ref_37
499
+ properties:
500
+ amount:
501
+ $ref: '#/components/schemas/money'
502
+ amountType:
503
+ $ref: '#/components/schemas/amountType'
504
+ currency:
505
+ $ref: '#/components/schemas/currency'
506
+ feesAmount:
507
+ $ref: '#/components/schemas/money'
508
+ feesCurrency:
509
+ $ref: '#/components/schemas/currency'
510
+ initiator:
511
+ $ref: '#/components/schemas/initiator'
512
+ initiatorType:
513
+ $ref: '#/components/schemas/initiatorType'
514
+ note:
515
+ description: An optional note associated with the quote.
516
+ maxLength: 128
517
+ minLength: 1
518
+ type: string
519
+ quoteId:
520
+ $ref: '#/components/schemas/quoteId'
521
+ subScenario:
522
+ $ref: '#/components/schemas/TransactionSubScenario'
523
+ to:
524
+ $ref: '#/components/schemas/transferParty'
525
+ transactionId:
526
+ $ref: '#/components/schemas/transactionId'
527
+ transactionType:
528
+ $ref: '#/components/schemas/transactionType'
529
+ required:
530
+ - quoteId
531
+ - transactionId
532
+ - to
533
+ - amountType
534
+ - amount
535
+ - currency
536
+ - transactionType
537
+ - initiator
538
+ - initiatorType
2281
539
  type: object
2282
540
  IndividualQuoteResultFailed:
2283
541
  description: Data model for failed individual quote in a bulk quote response.
2284
- properties: *ref_38
2285
- required: *ref_39
542
+ properties:
543
+ errorResponse:
544
+ $ref: '#/components/schemas/errorResponse'
545
+ quoteId:
546
+ $ref: '#/components/schemas/quoteId'
547
+ required:
548
+ - quoteId
549
+ - errorResponse
2286
550
  type: object
2287
551
  IndividualQuoteResultSuccess:
2288
552
  description: Data model for successful individual quote in a bulk quote response.
2289
- properties: *ref_40
2290
- required: *ref_41
553
+ properties:
554
+ payeeFspCommissionAmount:
555
+ $ref: '#/components/schemas/money'
556
+ payeeFspCommissionAmountCurrency:
557
+ $ref: '#/components/schemas/currency'
558
+ payeeFspFeeAmount:
559
+ $ref: '#/components/schemas/money'
560
+ payeeFspFeeAmountCurrency:
561
+ $ref: '#/components/schemas/currency'
562
+ payeeReceiveAmount:
563
+ $ref: '#/components/schemas/money'
564
+ payeeReceiveAmountCurrency:
565
+ $ref: '#/components/schemas/currency'
566
+ quoteId:
567
+ $ref: '#/components/schemas/quoteId'
568
+ transferAmount:
569
+ $ref: '#/components/schemas/money'
570
+ transferAmountCurrency:
571
+ $ref: '#/components/schemas/currency'
572
+ required:
573
+ - quoteId
2291
574
  type: object
2292
575
  IndividualTransfer:
2293
576
  description: Data model for individual transfer in a bulk transfer request.
2294
- properties: *ref_42
2295
- required: *ref_43
577
+ properties:
578
+ amount:
579
+ $ref: '#/components/schemas/money'
580
+ amountType:
581
+ $ref: '#/components/schemas/amountType'
582
+ currency:
583
+ $ref: '#/components/schemas/currency'
584
+ feesAmount:
585
+ $ref: '#/components/schemas/money'
586
+ feesCurrency:
587
+ $ref: '#/components/schemas/currency'
588
+ initiator:
589
+ $ref: '#/components/schemas/initiator'
590
+ initiatorType:
591
+ $ref: '#/components/schemas/initiatorType'
592
+ note:
593
+ description: An optional note associated with the quote.
594
+ maxLength: 128
595
+ minLength: 1
596
+ type: string
597
+ subScenario:
598
+ $ref: '#/components/schemas/TransactionSubScenario'
599
+ to:
600
+ $ref: '#/components/schemas/transferParty'
601
+ transactionType:
602
+ $ref: '#/components/schemas/transactionType'
603
+ transferId:
604
+ $ref: '#/components/schemas/transferId'
605
+ required:
606
+ - transferId
607
+ - amount
608
+ - currency
2296
609
  type: object
2297
610
  IndividualTransferResult:
2298
611
  description: Data model for individual transfer in a bulk transfer response.
2299
- properties: *ref_44
2300
- required: *ref_45
612
+ properties:
613
+ errorResponse:
614
+ $ref: '#/components/schemas/errorResponse'
615
+ extensionList:
616
+ $ref: '#/components/schemas/extensionList'
617
+ transferId:
618
+ $ref: '#/components/schemas/transferId'
619
+ required:
620
+ - transferId
2301
621
  type: object
2302
622
  LastName:
2303
- description: Last name of the Party (Name Type).
2304
- example: Karlsson
2305
- maxLength: 128
623
+ title: LastName
624
+ type: string
2306
625
  minLength: 1
626
+ maxLength: 128
2307
627
  pattern: >-
2308
628
  ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2309
629
  .,''-]{1,128}$
2310
- title: LastName
2311
- type: string
630
+ description: Last name of the Party (Name Type).
631
+ example: Karlsson
2312
632
  MerchantClassificationCode:
633
+ title: MerchantClassificationCode
634
+ type: string
635
+ pattern: ^[\d]{1,4}$
2313
636
  description: >-
2314
637
  A limited set of pre-defined numbers. This list would be a limited set
2315
638
  of numbers identifying a set of popular merchant types like School Fees,
2316
639
  Pubs and Restaurants, Groceries, etc.
2317
- pattern: ^[\d]{1,4}$
2318
- title: MerchantClassificationCode
2319
- type: string
2320
640
  MiddleName:
2321
- description: Middle name of the Party (Name Type).
2322
- example: Johannes
2323
- maxLength: 128
2324
- minLength: 1
2325
- pattern: >-
2326
- ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2327
- .,''-]{1,128}$
2328
641
  title: MiddleName
2329
642
  type: string
2330
- Party:
2331
- description: Data model for the complex type Party.
2332
- properties: *ref_23
2333
- required: *ref_24
2334
- title: Party
2335
- type: object
2336
- PartyComplexName:
2337
- description: Data model for the complex type PartyComplexName.
2338
- properties: *ref_46
2339
- title: PartyComplexName
2340
- type: object
2341
- PartyIdInfo:
2342
- description: Data model for the complex type PartyIdInfo.
2343
- properties: *ref_47
2344
- required: *ref_48
2345
- title: PartyIdInfo
2346
- type: object
2347
- PartyIdType:
2348
- description: >
2349
- This is a variant based on FSPIOP `PartyIdType` specification.
2350
-
2351
- Main difference being the CONSENT and THIRD_PARTY_LINK enums.
2352
-
2353
-
2354
- Below are the allowed values for the enumeration.
2355
-
2356
- - MSISDN - An MSISDN (Mobile Station International Subscriber Directory
2357
-
2358
- Number, that is, the phone number) is used as reference to a
2359
- participant.
2360
-
2361
- The MSISDN identifier should be in international format according to the
2362
-
2363
- [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).
2364
-
2365
- Optionally, the MSISDN may be prefixed by a single plus sign, indicating
2366
- the
2367
-
2368
- international prefix.
2369
-
2370
- - EMAIL - An email is used as reference to a
2371
-
2372
- participant. The format of the email should be according to the
2373
- informational
2374
-
2375
- [RFC 3696](https://tools.ietf.org/html/rfc3696).
2376
-
2377
- - PERSONAL_ID - A personal identifier is used as reference to a
2378
- participant.
2379
-
2380
- Examples of personal identification are passport number, birth
2381
- certificate
2382
-
2383
- number, and national registration number. The identifier number is added
2384
- in
2385
-
2386
- the PartyIdentifier element. The personal identifier type is added in
2387
- the
2388
-
2389
- PartySubIdOrType element.
2390
-
2391
- - BUSINESS - A specific Business (for example, an organization or a
2392
- company)
2393
-
2394
- is used as reference to a participant. The BUSINESS identifier can be in
2395
- any
2396
-
2397
- format. To make a transaction connected to a specific username or bill
2398
- number
2399
-
2400
- in a Business, the PartySubIdOrType element should be used.
2401
-
2402
- - DEVICE - A specific device (for example, a POS or ATM) ID connected to
2403
- a
2404
-
2405
- specific business or organization is used as reference to a Party.
2406
-
2407
- For referencing a specific device under a specific business or
2408
- organization,
2409
-
2410
- use the PartySubIdOrType element.
2411
-
2412
- - ACCOUNT_ID - A bank account number or FSP account ID should be used as
2413
-
2414
- reference to a participant. The ACCOUNT_ID identifier can be in any
2415
- format,
2416
-
2417
- as formats can greatly differ depending on country and FSP.
2418
-
2419
- - IBAN - A bank account number or FSP account ID is used as reference to
2420
- a
2421
-
2422
- participant. The IBAN identifier can consist of up to 34 alphanumeric
2423
-
2424
- characters and should be entered without whitespace.
2425
-
2426
- - ALIAS An alias is used as reference to a participant. The alias should
2427
- be
2428
-
2429
- created in the FSP as an alternative reference to an account owner.
2430
-
2431
- Another example of an alias is a username in the FSP system.
2432
-
2433
- The ALIAS identifier can be in any format. It is also possible to use
2434
- the
2435
-
2436
- PartySubIdOrType element for identifying an account under an Alias
2437
- defined
2438
-
2439
- by the PartyIdentifier.
2440
-
2441
- - CONSENT - TBD
2442
-
2443
- - THIRD_PARTY_LINK - TBD
2444
- enum: *ref_49
2445
- example: PERSONAL_ID
2446
- title: PartyIdType
2447
- type: string
2448
- PartyIdentifier:
2449
- description: Identifier of the Party.
2450
- example: '16135551212'
2451
- maxLength: 128
2452
643
  minLength: 1
2453
- title: PartyIdentifier
2454
- type: string
2455
- PartyName:
2456
- description: Name of the Party. Could be a real name or a nickname.
2457
644
  maxLength: 128
2458
- minLength: 1
2459
- title: PartyName
2460
- type: string
2461
- PartyPersonalInfo:
2462
- description: Data model for the complex type PartyPersonalInfo.
2463
- properties: *ref_50
2464
- title: PartyPersonalInfo
2465
- type: object
2466
- PartySubIdOrType:
2467
- description: >-
2468
- Either a sub-identifier of a PartyIdentifier, or a sub-type of the
2469
- PartyIdType, normally a PersonalIdentifierType.
2470
- maxLength: 128
2471
- minLength: 1
2472
- title: PartySubIdOrType
2473
- type: string
645
+ pattern: >-
646
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
647
+ .,''-]{1,128}$
648
+ description: Middle name of the Party (Name Type).
649
+ example: Johannes
2474
650
  amountCurrency:
2475
651
  description: Object containing Amount and Currency of the transfer.
2476
- properties: *ref_51
2477
- required: *ref_52
652
+ properties:
653
+ amount:
654
+ $ref: '#/components/schemas/money'
655
+ currency:
656
+ $ref: '#/components/schemas/currency'
657
+ required:
658
+ - amount
659
+ - currency
2478
660
  type: object
2479
661
  amountType:
2480
- enum: *ref_8
662
+ enum:
663
+ - SEND
664
+ - RECEIVE
2481
665
  type: string
2482
666
  bulkQuoteId:
2483
667
  description: A Mojaloop API bulk quote identifier (UUID).
@@ -2486,13 +670,47 @@ components:
2486
670
  type: string
2487
671
  bulkQuoteRequest:
2488
672
  description: A request for a bulk quote.
2489
- properties: *ref_53
2490
- required: *ref_54
673
+ properties:
674
+ bulkQuoteId:
675
+ $ref: '#/components/schemas/bulkQuoteId'
676
+ expiration:
677
+ $ref: '#/components/schemas/timestamp'
678
+ from:
679
+ $ref: '#/components/schemas/transferParty'
680
+ geoCode:
681
+ $ref: '#/components/schemas/geoCode'
682
+ individualQuotes:
683
+ items:
684
+ $ref: '#/components/schemas/IndividualQuote'
685
+ maxItems: 1000
686
+ minItems: 1
687
+ type: array
688
+ required:
689
+ - bulkQuoteId
690
+ - from
691
+ - individualQuotes
2491
692
  type: object
2492
693
  bulkQuoteResponse:
2493
694
  description: A response to a request for a bulk quote.
2494
- properties: *ref_4
2495
- required: *ref_5
695
+ properties:
696
+ bulkQuoteId:
697
+ $ref: '#/components/schemas/bulkQuoteId'
698
+ expiration:
699
+ $ref: '#/components/schemas/timestamp'
700
+ individualQuoteResults:
701
+ description: >-
702
+ Fees for each individual transaction, if any of them are charged per
703
+ transaction.
704
+ items:
705
+ oneOf:
706
+ - $ref: '#/components/schemas/IndividualQuoteResultSuccess'
707
+ - $ref: '#/components/schemas/IndividualQuoteResultFailed'
708
+ maxItems: 1000
709
+ minItems: 1
710
+ type: array
711
+ required:
712
+ - bulkQuoteId
713
+ - individualQuoteResults
2496
714
  type: object
2497
715
  bulkTransferId:
2498
716
  description: A Mojaloop API transfer identifier (UUID).
@@ -2500,15 +718,207 @@ components:
2500
718
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2501
719
  type: string
2502
720
  bulkTransferRequest:
2503
- properties: *ref_55
2504
- required: *ref_56
721
+ properties:
722
+ bulkQuote:
723
+ $ref: '#/components/schemas/bulkQuoteResponse'
724
+ bulkTransferId:
725
+ $ref: '#/components/schemas/bulkTransferId'
726
+ from:
727
+ $ref: '#/components/schemas/transferParty'
728
+ individualTransfers:
729
+ items:
730
+ $ref: '#/components/schemas/IndividualTransfer'
731
+ maxItems: 1000
732
+ minItems: 1
733
+ type: array
734
+ required:
735
+ - bulkTransferId
736
+ - individualTransfers
2505
737
  type: object
2506
738
  bulkTransferResponse:
2507
- properties: *ref_14
2508
- required: *ref_15
739
+ properties:
740
+ bulkTransferId:
741
+ $ref: '#/components/schemas/bulkTransferId'
742
+ homeTransactionId:
743
+ description: >-
744
+ Transaction ID from the DFSP backend, used to reconcile transactions
745
+ between the switch and DFSP backend systems.
746
+ type: string
747
+ individualTransferResults:
748
+ items:
749
+ $ref: '#/components/schemas/IndividualTransferResult'
750
+ maxItems: 1000
751
+ minItems: 1
752
+ type: array
753
+ required:
754
+ - homeTransactionId
2509
755
  type: object
2510
756
  currency:
2511
- enum: *ref_0
757
+ enum:
758
+ - AED
759
+ - AFN
760
+ - ALL
761
+ - AMD
762
+ - ANG
763
+ - AOA
764
+ - ARS
765
+ - AUD
766
+ - AWG
767
+ - AZN
768
+ - BAM
769
+ - BBD
770
+ - BDT
771
+ - BGN
772
+ - BHD
773
+ - BIF
774
+ - BMD
775
+ - BND
776
+ - BOB
777
+ - BRL
778
+ - BSD
779
+ - BTN
780
+ - BWP
781
+ - BYN
782
+ - BZD
783
+ - CAD
784
+ - CDF
785
+ - CHF
786
+ - CLP
787
+ - CNY
788
+ - COP
789
+ - CRC
790
+ - CUC
791
+ - CUP
792
+ - CVE
793
+ - CZK
794
+ - DJF
795
+ - DKK
796
+ - DOP
797
+ - DZD
798
+ - EGP
799
+ - ERN
800
+ - ETB
801
+ - EUR
802
+ - FJD
803
+ - FKP
804
+ - GBP
805
+ - GEL
806
+ - GGP
807
+ - GHS
808
+ - GIP
809
+ - GMD
810
+ - GNF
811
+ - GTQ
812
+ - GYD
813
+ - HKD
814
+ - HNL
815
+ - HRK
816
+ - HTG
817
+ - HUF
818
+ - IDR
819
+ - ILS
820
+ - IMP
821
+ - INR
822
+ - IQD
823
+ - IRR
824
+ - ISK
825
+ - JEP
826
+ - JMD
827
+ - JOD
828
+ - JPY
829
+ - KES
830
+ - KGS
831
+ - KHR
832
+ - KMF
833
+ - KPW
834
+ - KRW
835
+ - KWD
836
+ - KYD
837
+ - KZT
838
+ - LAK
839
+ - LBP
840
+ - LKR
841
+ - LRD
842
+ - LSL
843
+ - LYD
844
+ - MAD
845
+ - MDL
846
+ - MGA
847
+ - MKD
848
+ - MMK
849
+ - MNT
850
+ - MOP
851
+ - MRO
852
+ - MUR
853
+ - MVR
854
+ - MWK
855
+ - MXN
856
+ - MYR
857
+ - MZN
858
+ - NAD
859
+ - NGN
860
+ - NIO
861
+ - NOK
862
+ - NPR
863
+ - NZD
864
+ - OMR
865
+ - PAB
866
+ - PEN
867
+ - PGK
868
+ - PHP
869
+ - PKR
870
+ - PLN
871
+ - PYG
872
+ - QAR
873
+ - RON
874
+ - RSD
875
+ - RUB
876
+ - RWF
877
+ - SAR
878
+ - SBD
879
+ - SCR
880
+ - SDG
881
+ - SEK
882
+ - SGD
883
+ - SHP
884
+ - SLL
885
+ - SOS
886
+ - SPL
887
+ - SRD
888
+ - STD
889
+ - SVC
890
+ - SYP
891
+ - SZL
892
+ - THB
893
+ - TJS
894
+ - TMT
895
+ - TND
896
+ - TOP
897
+ - TRY
898
+ - TTD
899
+ - TVD
900
+ - TWD
901
+ - TZS
902
+ - UAH
903
+ - UGX
904
+ - USD
905
+ - UYU
906
+ - UZS
907
+ - VEF
908
+ - VND
909
+ - VUV
910
+ - WST
911
+ - XAF
912
+ - XCD
913
+ - XDR
914
+ - XOF
915
+ - XPF
916
+ - XTS
917
+ - XXX
918
+ - YER
919
+ - ZAR
920
+ - ZMW
921
+ - ZWD
2512
922
  maxLength: 3
2513
923
  minLength: 3
2514
924
  type: string
@@ -2537,25 +947,62 @@ components:
2537
947
  type: string
2538
948
  errorInformation:
2539
949
  description: A Mojaloop API error information construct.
2540
- properties: *ref_57
2541
- required: *ref_58
950
+ properties:
951
+ errorCode:
952
+ $ref: '#/components/schemas/errorCode'
953
+ errorDescription:
954
+ $ref: '#/components/schemas/errorDescription'
955
+ extensionList:
956
+ $ref: '#/components/schemas/extensionListComplex'
957
+ required:
958
+ - errorCode
959
+ - errorDescription
2542
960
  title: ErrorInformation
2543
961
  type: object
2544
962
  errorResponse:
2545
- properties: *ref_3
963
+ properties:
964
+ message:
965
+ description: Error message text
966
+ type: string
967
+ statusCode:
968
+ description: >
969
+ Backend error code from FSP. Ideally, statusCode is FSPIOP
970
+ conforming. SDK will use status code to retrieve an FSPIOP error
971
+ with the same code.
972
+
973
+ Otherwise, a suitable generic FSPIOP will be used with the
974
+ errorResponse in the FSPIOP error message.
975
+ type: string
2546
976
  type: object
2547
977
  extensionItem:
2548
- properties: *ref_29
978
+ properties:
979
+ key:
980
+ maxLength: 32
981
+ minLength: 1
982
+ type: string
983
+ value:
984
+ maxLength: 128
985
+ minLength: 1
986
+ type: string
2549
987
  type: object
2550
988
  extensionList:
2551
- items: *ref_12
989
+ items:
990
+ $ref: '#/components/schemas/extensionItem'
2552
991
  maxItems: 16
2553
992
  minItems: 0
2554
993
  type: array
2555
994
  extensionListComplex:
2556
995
  description: Data model for the complex type ExtensionList.
2557
- properties: *ref_59
2558
- required: *ref_60
996
+ properties:
997
+ extension:
998
+ description: Number of Extension elements.
999
+ items:
1000
+ $ref: '#/components/schemas/extensionItem'
1001
+ maxItems: 16
1002
+ minItems: 1
1003
+ type: array
1004
+ required:
1005
+ - extension
2559
1006
  type: object
2560
1007
  fspId:
2561
1008
  description: FSP identifier.
@@ -2564,7 +1011,72 @@ components:
2564
1011
  type: string
2565
1012
  fulfilNotification:
2566
1013
  description: PUT /transfers/{transferId} object.
2567
- properties: *ref_61
1014
+ properties:
1015
+ currentState:
1016
+ $ref: '#/components/schemas/transferStatus'
1017
+ direction:
1018
+ enum:
1019
+ - INBOUND
1020
+ type: string
1021
+ finalNotification:
1022
+ properties:
1023
+ completedTimestamp:
1024
+ $ref: '#/components/schemas/timestamp'
1025
+ extensionList:
1026
+ $ref: '#/components/schemas/extensionList'
1027
+ transferState:
1028
+ $ref: '#/components/schemas/transferState'
1029
+ required:
1030
+ - completedTimestamp
1031
+ - transferState
1032
+ type: object
1033
+ fulfil:
1034
+ properties:
1035
+ body:
1036
+ type: object
1037
+ headers:
1038
+ type: object
1039
+ type: object
1040
+ initiatedTimestamp:
1041
+ $ref: '#/components/schemas/timestamp'
1042
+ lastError:
1043
+ $ref: '#/components/schemas/transferError'
1044
+ prepare:
1045
+ properties:
1046
+ body:
1047
+ type: object
1048
+ headers:
1049
+ type: object
1050
+ type: object
1051
+ quote:
1052
+ properties:
1053
+ fulfilment:
1054
+ type: string
1055
+ internalRequest:
1056
+ type: object
1057
+ mojaloopResponse:
1058
+ type: object
1059
+ request:
1060
+ type: object
1061
+ response:
1062
+ type: object
1063
+ type: object
1064
+ quoteRequest:
1065
+ properties:
1066
+ body:
1067
+ type: object
1068
+ headers:
1069
+ type: object
1070
+ type: object
1071
+ quoteResponse:
1072
+ properties:
1073
+ body:
1074
+ type: object
1075
+ headers:
1076
+ type: object
1077
+ type: object
1078
+ transferId:
1079
+ $ref: '#/components/schemas/transferId'
2568
1080
  title: TransfersIDPatchResponse
2569
1081
  type: object
2570
1082
  generalError:
@@ -2576,38 +1088,70 @@ components:
2576
1088
  description: >-
2577
1089
  Indicates the geographic location from where the transaction was
2578
1090
  initiated.
2579
- properties: *ref_19
2580
- required: *ref_20
1091
+ properties:
1092
+ latitude:
1093
+ $ref: '#/components/schemas/latitude'
1094
+ longitude:
1095
+ $ref: '#/components/schemas/longitude'
1096
+ required:
1097
+ - latitude
1098
+ - longitude
2581
1099
  type: object
2582
1100
  idSubValue:
2583
1101
  maxLength: 128
2584
1102
  minLength: 1
2585
1103
  type: string
2586
1104
  idType:
2587
- enum: *ref_21
1105
+ enum:
1106
+ - MSISDN
1107
+ - ACCOUNT_NO
1108
+ - EMAIL
1109
+ - PERSONAL_ID
1110
+ - BUSINESS
1111
+ - DEVICE
1112
+ - ACCOUNT_ID
1113
+ - IBAN
1114
+ - ALIAS
2588
1115
  type: string
2589
1116
  idValue:
2590
1117
  description: Identifier of the party.
2591
1118
  maxLength: 128
2592
1119
  minLength: 1
2593
1120
  type: string
2594
- ilpFulfilment:
2595
- description: Fulfilment that must be attached to the transfer by the Payee.
2596
- example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
2597
- maxLength: 48
2598
- pattern: ^[A-Za-z0-9-_]{43}$
2599
- title: ilpFulfilment
2600
- type: string
2601
1121
  ilpPacketData:
2602
1122
  description: Object containing transfer object.
2603
- properties: *ref_62
2604
- required: *ref_63
1123
+ properties:
1124
+ amount:
1125
+ $ref: '#/components/schemas/amountCurrency'
1126
+ payee:
1127
+ $ref: '#/components/schemas/Party'
1128
+ payer:
1129
+ $ref: '#/components/schemas/Party'
1130
+ quoteId:
1131
+ $ref: '#/components/schemas/quoteId'
1132
+ transactionId:
1133
+ $ref: '#/components/schemas/transactionId'
1134
+ transactionType:
1135
+ $ref: '#/components/schemas/transactionTypeObject'
1136
+ required:
1137
+ - quoteId
1138
+ - transactionId
1139
+ - payer
1140
+ - payee
1141
+ - amount
1142
+ - transactionType
2605
1143
  type: object
2606
1144
  initiator:
2607
- enum: *ref_9
1145
+ enum:
1146
+ - PAYER
1147
+ - PAYEE
2608
1148
  type: string
2609
1149
  initiatorType:
2610
- enum: *ref_10
1150
+ enum:
1151
+ - CONSUMER
1152
+ - AGENT
1153
+ - BUSINESS
1154
+ - DEVICE
2611
1155
  type: string
2612
1156
  latitude:
2613
1157
  description: >-
@@ -2623,21 +1167,28 @@ components:
2623
1167
  pattern: >-
2624
1168
  ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
2625
1169
  type: string
2626
- mojaloopError:
2627
- properties: *ref_64
2628
- type: object
2629
1170
  money:
2630
1171
  pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
2631
1172
  type: string
2632
1173
  otpDetails:
2633
- properties: *ref_65
2634
- required: *ref_66
1174
+ properties:
1175
+ otpValue:
1176
+ description: OTP value.
1177
+ type: string
1178
+ required:
1179
+ - otpValue
2635
1180
  type: object
2636
1181
  participantsResponse:
2637
- properties: *ref_17
1182
+ properties:
1183
+ fspId:
1184
+ $ref: '#/components/schemas/fspId'
2638
1185
  type: object
2639
1186
  payerType:
2640
- enum: *ref_22
1187
+ enum:
1188
+ - CONSUMER
1189
+ - AGENT
1190
+ - BUSINESS
1191
+ - DEVICE
2641
1192
  type: string
2642
1193
  quoteId:
2643
1194
  description: A Mojaloop API quote identifier (UUID).
@@ -2646,16 +1197,94 @@ components:
2646
1197
  type: string
2647
1198
  quoteRequest:
2648
1199
  description: A request for a quote for transfer from the DFSP backend.
2649
- properties: *ref_67
2650
- required: *ref_68
1200
+ properties:
1201
+ amount:
1202
+ $ref: '#/components/schemas/money'
1203
+ amountType:
1204
+ $ref: '#/components/schemas/amountType'
1205
+ currency:
1206
+ $ref: '#/components/schemas/currency'
1207
+ expiration:
1208
+ $ref: '#/components/schemas/timestamp'
1209
+ extensionList:
1210
+ $ref: '#/components/schemas/extensionList'
1211
+ feesAmount:
1212
+ $ref: '#/components/schemas/money'
1213
+ feesCurrency:
1214
+ $ref: '#/components/schemas/currency'
1215
+ from:
1216
+ $ref: '#/components/schemas/transferParty'
1217
+ geoCode:
1218
+ $ref: '#/components/schemas/geoCode'
1219
+ initiator:
1220
+ $ref: '#/components/schemas/initiator'
1221
+ initiatorType:
1222
+ $ref: '#/components/schemas/initiatorType'
1223
+ note:
1224
+ description: An optional note associated with the requested transfer.
1225
+ maxLength: 128
1226
+ minLength: 1
1227
+ type: string
1228
+ quoteId:
1229
+ $ref: '#/components/schemas/quoteId'
1230
+ subScenario:
1231
+ $ref: '#/components/schemas/TransactionSubScenario'
1232
+ to:
1233
+ $ref: '#/components/schemas/transferParty'
1234
+ transactionId:
1235
+ $ref: '#/components/schemas/transactionId'
1236
+ transactionType:
1237
+ $ref: '#/components/schemas/transactionType'
1238
+ required:
1239
+ - quoteId
1240
+ - transactionId
1241
+ - to
1242
+ - from
1243
+ - amountType
1244
+ - amount
1245
+ - currency
1246
+ - transactionType
1247
+ - initiator
1248
+ - initiatorType
2651
1249
  type: object
2652
1250
  quoteResponse:
2653
1251
  description: A response to a request for a quote.
2654
- properties: *ref_25
2655
- required: *ref_26
1252
+ properties:
1253
+ expiration:
1254
+ $ref: '#/components/schemas/timestamp'
1255
+ extensionList:
1256
+ $ref: '#/components/schemas/extensionList'
1257
+ geoCode:
1258
+ $ref: '#/components/schemas/geoCode'
1259
+ payeeFspCommissionAmount:
1260
+ $ref: '#/components/schemas/money'
1261
+ payeeFspCommissionAmountCurrency:
1262
+ $ref: '#/components/schemas/currency'
1263
+ payeeFspFeeAmount:
1264
+ $ref: '#/components/schemas/money'
1265
+ payeeFspFeeAmountCurrency:
1266
+ $ref: '#/components/schemas/currency'
1267
+ payeeReceiveAmount:
1268
+ $ref: '#/components/schemas/money'
1269
+ payeeReceiveAmountCurrency:
1270
+ $ref: '#/components/schemas/currency'
1271
+ quoteId:
1272
+ $ref: '#/components/schemas/quoteId'
1273
+ transactionId:
1274
+ $ref: '#/components/schemas/transactionId'
1275
+ transferAmount:
1276
+ $ref: '#/components/schemas/money'
1277
+ transferAmountCurrency:
1278
+ $ref: '#/components/schemas/currency'
1279
+ required:
1280
+ - quoteId
1281
+ - transactionId
1282
+ - transferAmount
1283
+ - transferAmountCurrency
2656
1284
  type: object
2657
1285
  scenario:
2658
- enum: *ref_69
1286
+ enum:
1287
+ - TRANSFER
2659
1288
  type: string
2660
1289
  timestamp:
2661
1290
  description: An ISO-8601 formatted timestamp.
@@ -2671,8 +1300,43 @@ components:
2671
1300
  type: string
2672
1301
  transactionRequest:
2673
1302
  description: A request for a pull based transfer.
2674
- properties: *ref_70
2675
- required: *ref_71
1303
+ properties:
1304
+ amount:
1305
+ $ref: '#/components/schemas/money'
1306
+ currency:
1307
+ $ref: '#/components/schemas/currency'
1308
+ expiration:
1309
+ $ref: '#/components/schemas/timestamp'
1310
+ from:
1311
+ $ref: '#/components/schemas/transferParty'
1312
+ geoCode:
1313
+ $ref: '#/components/schemas/geoCode'
1314
+ initiator:
1315
+ $ref: '#/components/schemas/initiator'
1316
+ initiatorType:
1317
+ $ref: '#/components/schemas/initiatorType'
1318
+ note:
1319
+ description: An optional note associated with the requested transfer.
1320
+ maxLength: 128
1321
+ minLength: 1
1322
+ type: string
1323
+ to:
1324
+ $ref: '#/components/schemas/transferParty'
1325
+ transactionRequestId:
1326
+ $ref: '#/components/schemas/transactionRequestId'
1327
+ transactionType:
1328
+ $ref: '#/components/schemas/transactionType'
1329
+ subScenario:
1330
+ $ref: '#/components/schemas/TransactionSubScenario'
1331
+ required:
1332
+ - transactionRequestId
1333
+ - to
1334
+ - from
1335
+ - amount
1336
+ - currency
1337
+ - transactionType
1338
+ - initiator
1339
+ - initiatorType
2676
1340
  type: object
2677
1341
  transactionRequestId:
2678
1342
  description: A Mojaloop API transaction request identifier (UUID).
@@ -2681,11 +1345,21 @@ components:
2681
1345
  type: string
2682
1346
  transactionRequestResponse:
2683
1347
  description: A response to a request for a quote.
2684
- properties: *ref_72
2685
- required: *ref_73
1348
+ properties:
1349
+ transactionId:
1350
+ $ref: '#/components/schemas/transactionId'
1351
+ transferAmount:
1352
+ $ref: '#/components/schemas/transactionRequestState'
1353
+ required:
1354
+ - transactionId
1355
+ - transactionRequestState
2686
1356
  type: object
2687
1357
  transactionRequestState:
2688
- enum: *ref_74
1358
+ enum:
1359
+ - RECEIVED
1360
+ - PENDING
1361
+ - ACCEPTED
1362
+ - REJECTED
2689
1363
  type: string
2690
1364
  transactionSubScenario:
2691
1365
  description: >-
@@ -2696,22 +1370,67 @@ components:
2696
1370
  title: transactionSubScenario
2697
1371
  type: string
2698
1372
  transactionType:
2699
- enum: *ref_11
1373
+ enum:
1374
+ - TRANSFER
1375
+ - DEPOSIT
1376
+ - PAYMENT
2700
1377
  type: string
2701
1378
  transactionTypeObject:
2702
1379
  description: Object containing transfer object.
2703
- properties: *ref_75
2704
- required: *ref_76
1380
+ properties:
1381
+ initiator:
1382
+ $ref: '#/components/schemas/initiator'
1383
+ initiatorType:
1384
+ $ref: '#/components/schemas/initiatorType'
1385
+ scenario:
1386
+ $ref: '#/components/schemas/scenario'
1387
+ subScenario:
1388
+ $ref: '#/components/schemas/TransactionSubScenario'
1389
+ required:
1390
+ - scenario
1391
+ - initiator
1392
+ - initiatorType
2705
1393
  type: object
2706
1394
  transferDetailsResponse:
2707
- properties: *ref_77
2708
- required: *ref_78
2709
- type: object
2710
- transferError:
2711
- description: >-
2712
- This object represents a Mojaloop API error received at any time during
2713
- the transfer process.
2714
- properties: *ref_79
1395
+ properties:
1396
+ amount:
1397
+ $ref: '#/components/schemas/money'
1398
+ amountType:
1399
+ $ref: '#/components/schemas/amountType'
1400
+ currency:
1401
+ $ref: '#/components/schemas/currency'
1402
+ extensions:
1403
+ $ref: '#/components/schemas/extensionList'
1404
+ from:
1405
+ $ref: '#/components/schemas/transferParty'
1406
+ homeTransactionId:
1407
+ description: >-
1408
+ Transaction ID from the DFSP backend, used to reconcile transactions
1409
+ between the Switch and DFSP backend systems.
1410
+ type: string
1411
+ note:
1412
+ maxLength: 128
1413
+ type: string
1414
+ subScenario:
1415
+ $ref: '#/components/schemas/TransactionSubScenario'
1416
+ timestamp:
1417
+ $ref: '#/components/schemas/timestamp'
1418
+ to:
1419
+ $ref: '#/components/schemas/transferParty'
1420
+ transactionType:
1421
+ $ref: '#/components/schemas/transactionType'
1422
+ transferState:
1423
+ $ref: '#/components/schemas/transferState'
1424
+ required:
1425
+ - homeTransactionId
1426
+ - from
1427
+ - to
1428
+ - amountType
1429
+ - currency
1430
+ - amount
1431
+ - transferState
1432
+ - transactionType
1433
+ - timestamp
2715
1434
  type: object
2716
1435
  transferId:
2717
1436
  description: A Mojaloop API transfer identifier (UUID).
@@ -2719,16 +1438,102 @@ components:
2719
1438
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2720
1439
  type: string
2721
1440
  transferParty:
2722
- properties: *ref_1
2723
- required: *ref_2
1441
+ properties:
1442
+ dateOfBirth:
1443
+ $ref: '#/components/schemas/dateOfBirth'
1444
+ displayName:
1445
+ description: Display name of the sender, if known.
1446
+ type: string
1447
+ extensionList:
1448
+ $ref: '#/components/schemas/extensionList'
1449
+ firstName:
1450
+ description: Party first name.
1451
+ type: string
1452
+ fspId:
1453
+ description: Mojaloop scheme FSPID of the DFSP which owns the party account.
1454
+ type: string
1455
+ idSubValue:
1456
+ $ref: '#/components/schemas/idSubValue'
1457
+ idType:
1458
+ $ref: '#/components/schemas/idType'
1459
+ idValue:
1460
+ description: The identifier string used to identify the sender.
1461
+ type: string
1462
+ lastName:
1463
+ description: Party last name.
1464
+ type: string
1465
+ merchantClassificationCode:
1466
+ description: >-
1467
+ Up to 4 digits specifying the sender's merchant classification, if
1468
+ known and applicable.
1469
+ type: string
1470
+ middleName:
1471
+ description: Party middle name.
1472
+ type: string
1473
+ type:
1474
+ $ref: '#/components/schemas/payerType'
1475
+ required:
1476
+ - idType
1477
+ - idValue
2724
1478
  type: object
2725
1479
  transferRequest:
2726
- properties: *ref_80
2727
- required: *ref_81
1480
+ properties:
1481
+ amount:
1482
+ $ref: '#/components/schemas/money'
1483
+ amountType:
1484
+ $ref: '#/components/schemas/amountType'
1485
+ currency:
1486
+ $ref: '#/components/schemas/currency'
1487
+ from:
1488
+ $ref: '#/components/schemas/transferParty'
1489
+ ilpPacket:
1490
+ properties:
1491
+ data:
1492
+ $ref: '#/components/schemas/ilpPacketData'
1493
+ required:
1494
+ - data
1495
+ type: object
1496
+ note:
1497
+ maxLength: 128
1498
+ type: string
1499
+ quote:
1500
+ $ref: '#/components/schemas/quoteResponse'
1501
+ quoteRequestExtensions:
1502
+ $ref: '#/components/schemas/extensionList'
1503
+ subScenario:
1504
+ $ref: '#/components/schemas/TransactionSubScenario'
1505
+ to:
1506
+ $ref: '#/components/schemas/transferParty'
1507
+ transactionType:
1508
+ $ref: '#/components/schemas/transactionType'
1509
+ transferId:
1510
+ $ref: '#/components/schemas/transferId'
1511
+ required:
1512
+ - transferId
1513
+ - quote
1514
+ - from
1515
+ - to
1516
+ - amountType
1517
+ - currency
1518
+ - amount
1519
+ - transactionType
1520
+ - ilpPacket
2728
1521
  type: object
2729
1522
  transferResponse:
2730
- properties: *ref_82
2731
- required: *ref_83
1523
+ properties:
1524
+ completedTimestamp:
1525
+ $ref: '#/components/schemas/timestamp'
1526
+ fulfilment:
1527
+ $ref: '#/components/schemas/IlpFulfilment'
1528
+ homeTransactionId:
1529
+ description: >-
1530
+ Transaction ID from the DFSP backend, used to reconcile transactions
1531
+ between the Switch and DFSP backend systems.
1532
+ type: string
1533
+ transferState:
1534
+ $ref: '#/components/schemas/transferState'
1535
+ required:
1536
+ - homeTransactionId
2732
1537
  type: object
2733
1538
  transferState:
2734
1539
  description: >
@@ -2737,8 +1542,679 @@ components:
2737
1542
  COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP
2738
1543
  has aborted the transfer due a rejection or failure to perform the
2739
1544
  transfer.
2740
- enum: *ref_27
1545
+ enum:
1546
+ - RECEIVED
1547
+ - RESERVED
1548
+ - COMMITTED
1549
+ - ABORTED
2741
1550
  type: string
2742
1551
  transferStatus:
2743
- enum: *ref_84
1552
+ enum:
1553
+ - ERROR_OCCURRED
1554
+ - WAITING_FOR_PARTY_ACCEPTANCE
1555
+ - WAITING_FOR_QUOTE_ACCEPTANCE
1556
+ - COMPLETED
1557
+ type: string
1558
+ TransactionSubScenario:
1559
+ title: TransactionSubScenario
1560
+ type: string
1561
+ pattern: ^[A-Z_]{1,32}$
1562
+ description: >-
1563
+ Possible sub-scenario, defined locally within the scheme (UndefinedEnum
1564
+ Type).
1565
+ example: LOCALLY_DEFINED_SUBSCENARIO
1566
+ CorrelationId:
1567
+ title: CorrelationId
1568
+ type: string
1569
+ pattern: >-
1570
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1571
+ description: >-
1572
+ Identifier that correlates all messages of the same sequence. The API
1573
+ data type UUID (Universally Unique Identifier) is a JSON String in
1574
+ canonical format, conforming to [RFC
1575
+ 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a
1576
+ regular expression for interoperability reasons. A UUID is always 36
1577
+ characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).
1578
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
1579
+ bulkTransactionStatus:
1580
+ type: string
1581
+ enum:
1582
+ - ERROR_OCCURRED
1583
+ - WAITING_FOR_PARTY_ACCEPTANCE
1584
+ - WAITING_FOR_QUOTE_ACCEPTANCE
1585
+ - COMPLETED
1586
+ autoAcceptPartyOption:
1587
+ type: object
1588
+ required:
1589
+ - enabled
1590
+ properties:
1591
+ enabled:
1592
+ type: boolean
1593
+ enum:
1594
+ - false
1595
+ - true
1596
+ Currency:
1597
+ title: Currency
1598
+ description: >-
1599
+ The currency codes defined in [ISO
1600
+ 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter
1601
+ alphabetic codes are used as the standard naming representation for
1602
+ currencies.
1603
+ type: string
1604
+ minLength: 3
1605
+ maxLength: 3
1606
+ enum:
1607
+ - AED
1608
+ - AFN
1609
+ - ALL
1610
+ - AMD
1611
+ - ANG
1612
+ - AOA
1613
+ - ARS
1614
+ - AUD
1615
+ - AWG
1616
+ - AZN
1617
+ - BAM
1618
+ - BBD
1619
+ - BDT
1620
+ - BGN
1621
+ - BHD
1622
+ - BIF
1623
+ - BMD
1624
+ - BND
1625
+ - BOB
1626
+ - BRL
1627
+ - BSD
1628
+ - BTN
1629
+ - BWP
1630
+ - BYN
1631
+ - BZD
1632
+ - CAD
1633
+ - CDF
1634
+ - CHF
1635
+ - CLP
1636
+ - CNY
1637
+ - COP
1638
+ - CRC
1639
+ - CUC
1640
+ - CUP
1641
+ - CVE
1642
+ - CZK
1643
+ - DJF
1644
+ - DKK
1645
+ - DOP
1646
+ - DZD
1647
+ - EGP
1648
+ - ERN
1649
+ - ETB
1650
+ - EUR
1651
+ - FJD
1652
+ - FKP
1653
+ - GBP
1654
+ - GEL
1655
+ - GGP
1656
+ - GHS
1657
+ - GIP
1658
+ - GMD
1659
+ - GNF
1660
+ - GTQ
1661
+ - GYD
1662
+ - HKD
1663
+ - HNL
1664
+ - HRK
1665
+ - HTG
1666
+ - HUF
1667
+ - IDR
1668
+ - ILS
1669
+ - IMP
1670
+ - INR
1671
+ - IQD
1672
+ - IRR
1673
+ - ISK
1674
+ - JEP
1675
+ - JMD
1676
+ - JOD
1677
+ - JPY
1678
+ - KES
1679
+ - KGS
1680
+ - KHR
1681
+ - KMF
1682
+ - KPW
1683
+ - KRW
1684
+ - KWD
1685
+ - KYD
1686
+ - KZT
1687
+ - LAK
1688
+ - LBP
1689
+ - LKR
1690
+ - LRD
1691
+ - LSL
1692
+ - LYD
1693
+ - MAD
1694
+ - MDL
1695
+ - MGA
1696
+ - MKD
1697
+ - MMK
1698
+ - MNT
1699
+ - MOP
1700
+ - MRO
1701
+ - MUR
1702
+ - MVR
1703
+ - MWK
1704
+ - MXN
1705
+ - MYR
1706
+ - MZN
1707
+ - NAD
1708
+ - NGN
1709
+ - NIO
1710
+ - NOK
1711
+ - NPR
1712
+ - NZD
1713
+ - OMR
1714
+ - PAB
1715
+ - PEN
1716
+ - PGK
1717
+ - PHP
1718
+ - PKR
1719
+ - PLN
1720
+ - PYG
1721
+ - QAR
1722
+ - RON
1723
+ - RSD
1724
+ - RUB
1725
+ - RWF
1726
+ - SAR
1727
+ - SBD
1728
+ - SCR
1729
+ - SDG
1730
+ - SEK
1731
+ - SGD
1732
+ - SHP
1733
+ - SLL
1734
+ - SOS
1735
+ - SPL
1736
+ - SRD
1737
+ - STD
1738
+ - SVC
1739
+ - SYP
1740
+ - SZL
1741
+ - THB
1742
+ - TJS
1743
+ - TMT
1744
+ - TND
1745
+ - TOP
1746
+ - TRY
1747
+ - TTD
1748
+ - TVD
1749
+ - TWD
1750
+ - TZS
1751
+ - UAH
1752
+ - UGX
1753
+ - USD
1754
+ - UYU
1755
+ - UZS
1756
+ - VEF
1757
+ - VND
1758
+ - VUV
1759
+ - WST
1760
+ - XAF
1761
+ - XCD
1762
+ - XDR
1763
+ - XOF
1764
+ - XPF
1765
+ - XTS
1766
+ - XXX
1767
+ - YER
1768
+ - ZAR
1769
+ - ZMW
1770
+ - ZWD
1771
+ Amount:
1772
+ title: Amount
1773
+ type: string
1774
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1775
+ description: >-
1776
+ The API data type Amount is a JSON String in a canonical format that is
1777
+ restricted by a regular expression for interoperability reasons. This
1778
+ pattern does not allow any trailing zeroes at all, but allows an amount
1779
+ without a minor currency unit. It also only allows four digits in the
1780
+ minor currency unit; a negative value is not allowed. Using more than 18
1781
+ digits in the major currency unit is not allowed.
1782
+ example: '123.45'
1783
+ bulkPerTransferFeeLimit:
1784
+ type: object
1785
+ required:
1786
+ - currency
1787
+ - amount
1788
+ properties:
1789
+ currency:
1790
+ $ref: '#/components/schemas/Currency'
1791
+ amount:
1792
+ $ref: '#/components/schemas/Amount'
1793
+ autoAcceptQuote:
1794
+ type: object
1795
+ required:
1796
+ - enabled
1797
+ properties:
1798
+ enabled:
1799
+ type: boolean
1800
+ enum:
1801
+ - true
1802
+ - false
1803
+ perTransferFeeLimits:
1804
+ type: array
1805
+ minItems: 0
1806
+ items:
1807
+ $ref: '#/components/schemas/bulkPerTransferFeeLimit'
1808
+ DateTime:
1809
+ title: DateTime
1810
+ type: string
1811
+ pattern: >-
1812
+ ^(?:[1-9]\d{3}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1\d|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[1-9]\d(?:0[48]|[2468][048]|[13579][26])|(?:[2468][048]|[13579][26])00)-02-29)T(?:[01]\d|2[0-3]):[0-5]\d:[0-5]\d(?:(\.\d{3}))(?:Z|[+-][01]\d:[0-5]\d)$
1813
+ description: >-
1814
+ The API data type DateTime is a JSON String in a lexical format that is
1815
+ restricted by a regular expression for interoperability reasons. The
1816
+ format is according to [ISO
1817
+ 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed
1818
+ in a combined date, time and time zone format. A more readable version
1819
+ of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are
1820
+ "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z
1821
+ indicates Zulu time zone, same as UTC).
1822
+ example: '2016-05-24T08:38:08.699-04:00'
1823
+ bulkTransactionOptions:
1824
+ type: object
1825
+ required:
1826
+ - autoAcceptParty
1827
+ - autoAcceptQuote
1828
+ - bulkExpiration
1829
+ properties:
1830
+ onlyValidateParty:
1831
+ description: >-
1832
+ Set to true if only party validation is required. This means the
1833
+ quotes and transfers will not run. This is useful for only party
1834
+ resolution.
1835
+ type: boolean
1836
+ autoAcceptParty:
1837
+ $ref: '#/components/schemas/autoAcceptPartyOption'
1838
+ autoAcceptQuote:
1839
+ description: >-
1840
+ Set to true if the quote response is accepted without confirmation
1841
+ from the payer. The fees applied by the payee will be acceptable to
1842
+ the payer abiding by the limits set by optional
1843
+ 'perTransferFeeLimits' array.
1844
+ type: object
1845
+ oneOf:
1846
+ - $ref: '#/components/schemas/autoAcceptQuote'
1847
+ skipPartyLookup:
1848
+ description: >-
1849
+ Set to true if supplying an FSPID for the payee party and no party
1850
+ resolution is needed. This may be useful if a previous party
1851
+ resolution has been performed.
1852
+ type: boolean
1853
+ synchronous:
1854
+ description: >-
1855
+ Set to true if the bulkTransfer requests need be handled
1856
+ synchronous. Otherwise the requests will be handled asynchronously,
1857
+ meaning there will be callbacks whenever the processing is done
1858
+ type: boolean
1859
+ bulkExpiration:
1860
+ $ref: '#/components/schemas/DateTime'
1861
+ PartyIdType:
1862
+ title: PartyIdType
1863
+ type: string
1864
+ enum:
1865
+ - MSISDN
1866
+ - EMAIL
1867
+ - PERSONAL_ID
1868
+ - BUSINESS
1869
+ - DEVICE
1870
+ - ACCOUNT_ID
1871
+ - IBAN
1872
+ - ALIAS
1873
+ description: >-
1874
+ Below are the allowed values for the enumeration.
1875
+
1876
+ - MSISDN - An MSISDN (Mobile Station International Subscriber Directory
1877
+ Number, that is, the phone number) is used as reference to a
1878
+ participant. The MSISDN identifier should be in international format
1879
+ according to the [ITU-T E.164
1880
+ standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the
1881
+ MSISDN may be prefixed by a single plus sign, indicating the
1882
+ international prefix.
1883
+
1884
+ - EMAIL - An email is used as reference to a participant. The format of
1885
+ the email should be according to the informational [RFC
1886
+ 3696](https://tools.ietf.org/html/rfc3696).
1887
+
1888
+ - PERSONAL_ID - A personal identifier is used as reference to a
1889
+ participant. Examples of personal identification are passport number,
1890
+ birth certificate number, and national registration number. The
1891
+ identifier number is added in the PartyIdentifier element. The personal
1892
+ identifier type is added in the PartySubIdOrType element.
1893
+
1894
+ - BUSINESS - A specific Business (for example, an organization or a
1895
+ company) is used as reference to a participant. The BUSINESS identifier
1896
+ can be in any format. To make a transaction connected to a specific
1897
+ username or bill number in a Business, the PartySubIdOrType element
1898
+ should be used.
1899
+
1900
+ - DEVICE - A specific device (for example, a POS or ATM) ID connected to
1901
+ a specific business or organization is used as reference to a Party. For
1902
+ referencing a specific device under a specific business or organization,
1903
+ use the PartySubIdOrType element.
1904
+
1905
+ - ACCOUNT_ID - A bank account number or FSP account ID should be used as
1906
+ reference to a participant. The ACCOUNT_ID identifier can be in any
1907
+ format, as formats can greatly differ depending on country and FSP.
1908
+
1909
+ - IBAN - A bank account number or FSP account ID is used as reference to
1910
+ a participant. The IBAN identifier can consist of up to 34 alphanumeric
1911
+ characters and should be entered without whitespace.
1912
+
1913
+ - ALIAS An alias is used as reference to a participant. The alias should
1914
+ be created in the FSP as an alternative reference to an account owner.
1915
+ Another example of an alias is a username in the FSP system. The ALIAS
1916
+ identifier can be in any format. It is also possible to use the
1917
+ PartySubIdOrType element for identifying an account under an Alias
1918
+ defined by the PartyIdentifier.
1919
+ PartyIdentifier:
1920
+ title: PartyIdentifier
1921
+ type: string
1922
+ minLength: 1
1923
+ maxLength: 128
1924
+ description: Identifier of the Party.
1925
+ example: '16135551212'
1926
+ PartySubIdOrType:
1927
+ title: PartySubIdOrType
1928
+ type: string
1929
+ minLength: 1
1930
+ maxLength: 128
1931
+ description: >-
1932
+ Either a sub-identifier of a PartyIdentifier, or a sub-type of the
1933
+ PartyIdType, normally a PersonalIdentifierType.
1934
+ ExtensionKey:
1935
+ title: ExtensionKey
1936
+ type: string
1937
+ minLength: 1
1938
+ maxLength: 32
1939
+ description: Extension key.
1940
+ ExtensionValue:
1941
+ title: ExtensionValue
1942
+ type: string
1943
+ minLength: 1
1944
+ maxLength: 128
1945
+ description: Extension value.
1946
+ Extension:
1947
+ title: Extension
1948
+ type: object
1949
+ description: Data model for the complex type Extension.
1950
+ properties:
1951
+ key:
1952
+ $ref: '#/components/schemas/ExtensionKey'
1953
+ value:
1954
+ $ref: '#/components/schemas/ExtensionValue'
1955
+ required:
1956
+ - key
1957
+ - value
1958
+ ExtensionList:
1959
+ title: ExtensionList
1960
+ type: object
1961
+ description: >-
1962
+ Data model for the complex type ExtensionList. An optional list of
1963
+ extensions, specific to deployment.
1964
+ properties:
1965
+ extension:
1966
+ type: array
1967
+ items:
1968
+ $ref: '#/components/schemas/Extension'
1969
+ minItems: 1
1970
+ maxItems: 16
1971
+ description: Number of Extension elements.
1972
+ required:
1973
+ - extension
1974
+ PartyIdInfo:
1975
+ title: PartyIdInfo
1976
+ type: object
1977
+ description: >-
1978
+ Data model for the complex type PartyIdInfo. An ExtensionList element
1979
+ has been added to this reqeust in version v1.1
1980
+ properties:
1981
+ partyIdType:
1982
+ $ref: '#/components/schemas/PartyIdType'
1983
+ partyIdentifier:
1984
+ $ref: '#/components/schemas/PartyIdentifier'
1985
+ partySubIdOrType:
1986
+ $ref: '#/components/schemas/PartySubIdOrType'
1987
+ fspId:
1988
+ $ref: '#/components/schemas/FspId'
1989
+ extensionList:
1990
+ $ref: '#/components/schemas/ExtensionList'
1991
+ required:
1992
+ - partyIdType
1993
+ - partyIdentifier
1994
+ PartyName:
1995
+ title: PartyName
2744
1996
  type: string
1997
+ minLength: 1
1998
+ maxLength: 128
1999
+ description: Name of the Party. Could be a real name or a nickname.
2000
+ PartyComplexName:
2001
+ title: PartyComplexName
2002
+ type: object
2003
+ description: Data model for the complex type PartyComplexName.
2004
+ properties:
2005
+ firstName:
2006
+ $ref: '#/components/schemas/FirstName'
2007
+ middleName:
2008
+ $ref: '#/components/schemas/MiddleName'
2009
+ lastName:
2010
+ $ref: '#/components/schemas/LastName'
2011
+ PartyPersonalInfo:
2012
+ title: PartyPersonalInfo
2013
+ type: object
2014
+ description: Data model for the complex type PartyPersonalInfo.
2015
+ properties:
2016
+ complexName:
2017
+ $ref: '#/components/schemas/PartyComplexName'
2018
+ dateOfBirth:
2019
+ $ref: '#/components/schemas/DateOfBirth'
2020
+ Party:
2021
+ title: Party
2022
+ type: object
2023
+ description: Data model for the complex type Party.
2024
+ properties:
2025
+ partyIdInfo:
2026
+ $ref: '#/components/schemas/PartyIdInfo'
2027
+ merchantClassificationCode:
2028
+ $ref: '#/components/schemas/MerchantClassificationCode'
2029
+ name:
2030
+ $ref: '#/components/schemas/PartyName'
2031
+ personalInfo:
2032
+ $ref: '#/components/schemas/PartyPersonalInfo'
2033
+ required:
2034
+ - partyIdInfo
2035
+ AmountType:
2036
+ title: AmountType
2037
+ type: string
2038
+ enum:
2039
+ - SEND
2040
+ - RECEIVE
2041
+ description: >-
2042
+ Below are the allowed values for the enumeration AmountType.
2043
+
2044
+ - SEND - Amount the Payer would like to send, that is, the amount that
2045
+ should be withdrawn from the Payer account including any fees.
2046
+
2047
+ - RECEIVE - Amount the Payer would like the Payee to receive, that is,
2048
+ the amount that should be sent to the receiver exclusive of any fees.
2049
+ example: RECEIVE
2050
+ Note:
2051
+ title: Note
2052
+ type: string
2053
+ minLength: 1
2054
+ maxLength: 128
2055
+ description: Memo assigned to transaction.
2056
+ example: Note sent to Payee.
2057
+ IlpFulfilment:
2058
+ title: IlpFulfilment
2059
+ type: string
2060
+ pattern: ^[A-Za-z0-9-_]{43}$
2061
+ maxLength: 48
2062
+ description: Fulfilment that must be attached to the transfer by the Payee.
2063
+ example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
2064
+ TransferState:
2065
+ title: TransferState
2066
+ type: string
2067
+ enum:
2068
+ - RECEIVED
2069
+ - RESERVED
2070
+ - COMMITTED
2071
+ - ABORTED
2072
+ description: >-
2073
+ Below are the allowed values for the enumeration.
2074
+
2075
+ - RECEIVED - Next ledger has received the transfer.
2076
+
2077
+ - RESERVED - Next ledger has reserved the transfer.
2078
+
2079
+ - COMMITTED - Next ledger has successfully performed the transfer.
2080
+
2081
+ - ABORTED - Next ledger has aborted the transfer due to a rejection or
2082
+ failure to perform the transfer.
2083
+ example: RESERVED
2084
+ TransfersIDPutResponse:
2085
+ title: TransfersIDPutResponse
2086
+ type: object
2087
+ description: The object sent in the PUT /transfers/{ID} callback.
2088
+ properties:
2089
+ fulfilment:
2090
+ $ref: '#/components/schemas/IlpFulfilment'
2091
+ completedTimestamp:
2092
+ $ref: '#/components/schemas/DateTime'
2093
+ transferState:
2094
+ $ref: '#/components/schemas/TransferState'
2095
+ extensionList:
2096
+ $ref: '#/components/schemas/ExtensionList'
2097
+ required:
2098
+ - transferState
2099
+ ErrorCode:
2100
+ title: ErrorCode
2101
+ type: string
2102
+ pattern: ^[1-9]\d{3}$
2103
+ description: >-
2104
+ The API data type ErrorCode is a JSON String of four characters,
2105
+ consisting of digits only. Negative numbers are not allowed. A leading
2106
+ zero is not allowed. Each error code in the API is a four-digit number,
2107
+ for example, 1234, where the first number (1 in the example) represents
2108
+ the high-level error category, the second number (2 in the example)
2109
+ represents the low-level error category, and the last two numbers (34 in
2110
+ the example) represent the specific error.
2111
+ example: '5100'
2112
+ ErrorDescription:
2113
+ title: ErrorDescription
2114
+ type: string
2115
+ minLength: 1
2116
+ maxLength: 128
2117
+ description: Error description string.
2118
+ ErrorInformation:
2119
+ title: ErrorInformation
2120
+ type: object
2121
+ description: Data model for the complex type ErrorInformation.
2122
+ properties:
2123
+ errorCode:
2124
+ $ref: '#/components/schemas/ErrorCode'
2125
+ errorDescription:
2126
+ $ref: '#/components/schemas/ErrorDescription'
2127
+ extensionList:
2128
+ $ref: '#/components/schemas/ExtensionList'
2129
+ required:
2130
+ - errorCode
2131
+ - errorDescription
2132
+ mojaloopError:
2133
+ type: object
2134
+ properties:
2135
+ errorInformation:
2136
+ $ref: '#/components/schemas/ErrorInformation'
2137
+ transferError:
2138
+ type: object
2139
+ description: >-
2140
+ This object represents a Mojaloop API error received at any time during
2141
+ the transfer process
2142
+ properties:
2143
+ httpStatusCode:
2144
+ type: integer
2145
+ description: >-
2146
+ The HTTP status code returned to the caller. This is the same as the
2147
+ actual HTTP status code returned with the response.
2148
+ mojaloopError:
2149
+ description: >-
2150
+ If a transfer process results in an error callback during the
2151
+ asynchronous Mojaloop API exchange, this property will contain the
2152
+ underlying Mojaloop API error object.
2153
+ $ref: '#/components/schemas/mojaloopError'
2154
+ bulkTransactionIndividualTransferResult:
2155
+ type: object
2156
+ required:
2157
+ - homeTransactionId
2158
+ properties:
2159
+ transferId:
2160
+ $ref: '#/components/schemas/CorrelationId'
2161
+ homeTransactionId:
2162
+ type: string
2163
+ description: >-
2164
+ Transaction ID from the DFSP backend, used to reconcile transactions
2165
+ between the Switch and DFSP backend systems.
2166
+ transactionId:
2167
+ $ref: '#/components/schemas/CorrelationId'
2168
+ to:
2169
+ $ref: '#/components/schemas/Party'
2170
+ reference:
2171
+ description: Payer Loan reference
2172
+ type: string
2173
+ amountType:
2174
+ $ref: '#/components/schemas/AmountType'
2175
+ currency:
2176
+ $ref: '#/components/schemas/Currency'
2177
+ amount:
2178
+ $ref: '#/components/schemas/Amount'
2179
+ note:
2180
+ $ref: '#/components/schemas/Note'
2181
+ quoteId:
2182
+ $ref: '#/components/schemas/CorrelationId'
2183
+ quoteResponse:
2184
+ type: object
2185
+ fulfil:
2186
+ $ref: '#/components/schemas/TransfersIDPutResponse'
2187
+ quoteExtensions:
2188
+ $ref: '#/components/schemas/ExtensionList'
2189
+ transferExtensions:
2190
+ $ref: '#/components/schemas/ExtensionList'
2191
+ lastError:
2192
+ $ref: '#/components/schemas/transferError'
2193
+ bulkTransactionResponse:
2194
+ title: BulkTransactionResponse
2195
+ type: object
2196
+ required:
2197
+ - bulkHomeTransactionID
2198
+ - bulkTransactionId
2199
+ - currentState
2200
+ - individualTransferResults
2201
+ properties:
2202
+ bulkHomeTransactionID:
2203
+ type: string
2204
+ description: >-
2205
+ Transaction ID from the DFSP backend, used to reconcile transactions
2206
+ between the Switch and DFSP backend systems.
2207
+ bulkTransactionId:
2208
+ $ref: '#/components/schemas/CorrelationId'
2209
+ currentState:
2210
+ $ref: '#/components/schemas/bulkTransactionStatus'
2211
+ options:
2212
+ $ref: '#/components/schemas/bulkTransactionOptions'
2213
+ individualTransferResults:
2214
+ description: List of individual transfer result in a bulk transfer response.
2215
+ type: array
2216
+ minItems: 1
2217
+ items:
2218
+ $ref: '#/components/schemas/bulkTransactionIndividualTransferResult'
2219
+ extensions:
2220
+ $ref: '#/components/schemas/ExtensionList'