@mojaloop/api-snippets 17.0.0-snapshot.2 → 17.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (26) hide show
  1. package/CHANGELOG.md +19 -0
  2. package/docs/sdk-scheme-adapter-backend-v2_0_0-openapi3-snippets.yaml +2673 -0
  3. package/lib/example.d.ts +1 -1
  4. package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/index.d.ts +0 -0
  5. package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/index.js +0 -0
  6. package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/index.js.map +1 -1
  7. package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/json-schemas.json +8987 -8769
  8. package/lib/sdk-scheme-adapter/v2_0_0/backend/openapi.d.ts +4391 -0
  9. package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/openapi.js +0 -0
  10. package/lib/sdk-scheme-adapter/v2_0_0/backend/openapi.js.map +1 -0
  11. package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/schemas.d.ts +3158 -3295
  12. package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/schemas.js +51 -58
  13. package/lib/sdk-scheme-adapter/v2_0_0/backend/schemas.js.map +1 -0
  14. package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/types.d.ts +51 -58
  15. package/lib/sdk-scheme-adapter/v2_0_0/{inbound → backend}/types.js +0 -0
  16. package/lib/sdk-scheme-adapter/v2_0_0/backend/types.js.map +1 -0
  17. package/lib/sdk-scheme-adapter/v2_0_0/index.d.ts +2 -2
  18. package/lib/sdk-scheme-adapter/v2_0_0/index.js +3 -3
  19. package/package.json +22 -22
  20. package/sdk-scheme-adapter/v2_0_0/backend/openapi.yaml +1704 -0
  21. package/docs/sdk-scheme-adapter-inbound-v2_0_0-openapi3-snippets.yaml +0 -2889
  22. package/lib/sdk-scheme-adapter/v2_0_0/inbound/openapi.d.ts +0 -4350
  23. package/lib/sdk-scheme-adapter/v2_0_0/inbound/openapi.js.map +0 -1
  24. package/lib/sdk-scheme-adapter/v2_0_0/inbound/schemas.js.map +0 -1
  25. package/lib/sdk-scheme-adapter/v2_0_0/inbound/types.js.map +0 -1
  26. package/sdk-scheme-adapter/v2_0_0/inbound/openapi.yaml +0 -1074
@@ -0,0 +1,2673 @@
1
+ openapi: 3.0.1
2
+ info:
3
+ title: Mojaloop SDK Backend API
4
+ description: >
5
+ API specification for the SDK Backend API.
6
+
7
+
8
+ To be implemented by the Digital Financial Service Provider (DFSP) to work
9
+ in tandem with the Mojaloop SDK (`mojaloop/sdk-scheme-adapter`).
10
+
11
+
12
+ This API is not to be confused with the Mojaloop SDK's Inbound or Outbound
13
+ API.
14
+
15
+
16
+ TODO: More explanation and links about the SDK adapter's Inbound and
17
+ Outbound API.
18
+
19
+
20
+ **Note on terminology:** The term "Switch" is equal to the term "Hub", and
21
+ the term "FSP" is equal to the term "DFSP".
22
+ license:
23
+ name: Apache License Version 2.0, January 2004
24
+ url: http://www.apache.org/licenses/
25
+ version: 1.1.0
26
+ paths:
27
+ /:
28
+ get:
29
+ operationId: BackendHealthCheck
30
+ responses:
31
+ '200':
32
+ description: Returns empty body if the service is running.
33
+ summary: Health check endpoint.
34
+ /bulkQuotes:
35
+ post:
36
+ operationId: BackendBulkQuotesPost
37
+ requestBody:
38
+ content:
39
+ application/json:
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
+ to:
364
+ properties: *ref_1
365
+ required: *ref_2
366
+ type: object
367
+ transactionId:
368
+ description: >-
369
+ ID of the transaction, the ID is decided by the Payer
370
+ FSP during the creation of the quote.
371
+ pattern: >-
372
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
373
+ type: string
374
+ transactionType:
375
+ enum: &ref_11
376
+ - TRANSFER
377
+ - DEPOSIT
378
+ - PAYMENT
379
+ type: string
380
+ required: &ref_37
381
+ - quoteId
382
+ - transactionId
383
+ - to
384
+ - amountType
385
+ - amount
386
+ - currency
387
+ - transactionType
388
+ - initiator
389
+ - initiatorType
390
+ type: object
391
+ maxItems: 1000
392
+ minItems: 1
393
+ type: array
394
+ required: &ref_54
395
+ - bulkQuoteId
396
+ - from
397
+ - individualQuotes
398
+ type: object
399
+ description: Incoming request for a bulk quotation.
400
+ responses:
401
+ '200':
402
+ content:
403
+ application/json:
404
+ schema:
405
+ description: A response to a request for a bulk quote.
406
+ properties: &ref_4
407
+ bulkQuoteId:
408
+ description: A Mojaloop API bulk quote identifier (UUID).
409
+ pattern: >-
410
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
411
+ type: string
412
+ expiration:
413
+ description: An ISO-8601 formatted timestamp.
414
+ pattern: >-
415
+ ^(?:[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)$
416
+ type: string
417
+ individualQuoteResults:
418
+ description: >-
419
+ Fees for each individual transaction, if any of them are
420
+ charged per transaction.
421
+ items:
422
+ oneOf:
423
+ - description: >-
424
+ Data model for successful individual quote in a bulk
425
+ quote response.
426
+ properties: &ref_40
427
+ payeeFspCommissionAmount:
428
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
429
+ type: string
430
+ payeeFspCommissionAmountCurrency:
431
+ enum: *ref_0
432
+ maxLength: 3
433
+ minLength: 3
434
+ type: string
435
+ payeeFspFeeAmount:
436
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
437
+ type: string
438
+ payeeFspFeeAmountCurrency:
439
+ enum: *ref_0
440
+ maxLength: 3
441
+ minLength: 3
442
+ type: string
443
+ payeeReceiveAmount:
444
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
445
+ type: string
446
+ payeeReceiveAmountCurrency:
447
+ enum: *ref_0
448
+ maxLength: 3
449
+ minLength: 3
450
+ type: string
451
+ quoteId:
452
+ description: A Mojaloop API quote identifier (UUID).
453
+ pattern: >-
454
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
455
+ type: string
456
+ transferAmount:
457
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
458
+ type: string
459
+ transferAmountCurrency:
460
+ enum: *ref_0
461
+ maxLength: 3
462
+ minLength: 3
463
+ type: string
464
+ required: &ref_41
465
+ - quoteId
466
+ type: object
467
+ - description: >-
468
+ Data model for failed individual quote in a bulk
469
+ quote response.
470
+ properties: &ref_38
471
+ errorResponse:
472
+ properties: &ref_3
473
+ message:
474
+ description: Error message text
475
+ type: string
476
+ statusCode:
477
+ description: >
478
+ Backend error code from FSP. Ideally,
479
+ statusCode is FSPIOP conforming. SDK will
480
+ use status code to retrieve an FSPIOP error
481
+ with the same code.
482
+
483
+ Otherwise, a suitable generic FSPIOP will be
484
+ used with the errorResponse in the FSPIOP
485
+ error message.
486
+ type: string
487
+ type: object
488
+ quoteId:
489
+ description: A Mojaloop API quote identifier (UUID).
490
+ pattern: >-
491
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
492
+ type: string
493
+ required: &ref_39
494
+ - quoteId
495
+ - errorResponse
496
+ type: object
497
+ maxItems: 1000
498
+ minItems: 1
499
+ type: array
500
+ required: &ref_5
501
+ - bulkQuoteId
502
+ - individualQuoteResults
503
+ type: object
504
+ description: A response to the bulk quote request.
505
+ '400':
506
+ content: &ref_6
507
+ application/json:
508
+ schema:
509
+ properties: *ref_3
510
+ type: object
511
+ description: Malformed or missing required headers or parameters.
512
+ '500':
513
+ content: &ref_7
514
+ application/json:
515
+ schema:
516
+ properties: *ref_3
517
+ type: object
518
+ description: An error occurred processing the request.
519
+ summary: Requests a bulk quote.
520
+ tags:
521
+ - BulkQuotes
522
+ /bulkQuotes/{idValue}:
523
+ get:
524
+ operationId: BackendBulkQuotesGet
525
+ parameters:
526
+ - description: The identifier value.
527
+ in: path
528
+ name: idValue
529
+ required: true
530
+ schema: &ref_13
531
+ type: string
532
+ responses:
533
+ '200':
534
+ content:
535
+ application/json:
536
+ schema:
537
+ description: A response to a request for a bulk quote.
538
+ properties: *ref_4
539
+ required: *ref_5
540
+ type: object
541
+ description: Response containing details of the requested bulk quote.
542
+ '400':
543
+ content: *ref_6
544
+ description: Malformed or missing required headers or parameters.
545
+ '404':
546
+ description: >-
547
+ The party specified by the provided identifier type and value is not
548
+ known to the server.
549
+ '500':
550
+ content: *ref_7
551
+ description: An error occurred processing the request.
552
+ summary: >-
553
+ Requests information relating to a bulk quote identified by the
554
+ specified identifier value.
555
+ tags:
556
+ - BulkQuotes
557
+ /bulkTransactions/{bulkTransactionId}:
558
+ put:
559
+ description: >-
560
+ The HTTP request `PUT /bulkTransactions/{bulkTransactionId}` is used to
561
+ amend information regarding a bulk transaction, i.e. when
562
+ autoAcceptParty or autoAcceptQuote is false then the payer need to
563
+ provide confirmation to proceed with further processing of the request.
564
+ The `{bulkTransactionId}` in the URI should contain the
565
+ `bulkTransactionId` that was used for the creation of the bulk transfer.
566
+ operationId: BackendBulkTransactionsPut
567
+ parameters:
568
+ - description: Identifier of the bulk transaction to continue as returned in.
569
+ in: path
570
+ name: bulkTransactionId
571
+ required: true
572
+ schema: &ref_30
573
+ description: >-
574
+ Identifier that correlates all messages of the same sequence. The
575
+ API data type UUID (Universally Unique Identifier) is a JSON
576
+ String in canonical format, conforming to [RFC
577
+ 4122](https://tools.ietf.org/html/rfc4122), that is restricted by
578
+ a regular expression for interoperability reasons. A UUID is
579
+ always 36 characters long, 32 hexadecimal symbols and 4 dashes
580
+ (‘-‘).
581
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
582
+ pattern: >-
583
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
584
+ title: CorrelationId
585
+ type: string
586
+ requestBody:
587
+ content:
588
+ application/json:
589
+ schema:
590
+ properties:
591
+ bulkHomeTransactionID:
592
+ description: >-
593
+ Transaction ID from the DFSP backend, used to reconcile
594
+ transactions between the Switch and DFSP backend systems.
595
+ type: string
596
+ individualTransferResults:
597
+ description: >-
598
+ List of individual transfers in a bulk transfer with accept
599
+ party information.
600
+ items:
601
+ description: >-
602
+ Data model for the 'individualTransfer' while accepting
603
+ party or quote.
604
+ properties:
605
+ homeTransactionId:
606
+ description: >-
607
+ Transaction ID from the DFSP backend, used to
608
+ reconcile transactions between the Switch and DFSP
609
+ backend systems.
610
+ type: string
611
+ transactionId:
612
+ description: >-
613
+ Identifier that correlates all messages of the same
614
+ sequence. The API data type UUID (Universally Unique
615
+ Identifier) is a JSON String in canonical format,
616
+ conforming to [RFC
617
+ 4122](https://tools.ietf.org/html/rfc4122), that is
618
+ restricted by a regular expression for
619
+ interoperability reasons. A UUID is always 36
620
+ characters long, 32 hexadecimal symbols and 4 dashes
621
+ (‘-‘).
622
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
623
+ pattern: >-
624
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
625
+ title: CorrelationId
626
+ type: string
627
+ required:
628
+ - homeTransactionId
629
+ type: object
630
+ minItems: 1
631
+ type: array
632
+ required:
633
+ - bulkHomeTransactionID
634
+ - individualTransferResults
635
+ type: object
636
+ description: Bulk transaction request body.
637
+ required: true
638
+ responses:
639
+ '202':
640
+ description: Bulk transaction information successfully amended.
641
+ '400':
642
+ content: *ref_6
643
+ description: Malformed or missing required headers or parameters.
644
+ '500':
645
+ content: *ref_7
646
+ description: An error occurred processing the request.
647
+ summary: Callbacks for the bulk transaction request.
648
+ tags:
649
+ - BulkTransactionsPut
650
+ /bulkTransfers:
651
+ post:
652
+ operationId: BackendBulkTransfersPost
653
+ requestBody:
654
+ content:
655
+ application/json:
656
+ schema:
657
+ properties: &ref_55
658
+ bulkQuote:
659
+ description: A response to a request for a bulk quote.
660
+ properties: *ref_4
661
+ required: *ref_5
662
+ type: object
663
+ bulkTransferId:
664
+ description: A Mojaloop API transfer identifier (UUID).
665
+ pattern: >-
666
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
667
+ type: string
668
+ from:
669
+ properties: *ref_1
670
+ required: *ref_2
671
+ type: object
672
+ individualTransfers:
673
+ items:
674
+ description: >-
675
+ Data model for individual transfer in a bulk transfer
676
+ request.
677
+ properties: &ref_42
678
+ amount:
679
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
680
+ type: string
681
+ amountType:
682
+ enum: *ref_8
683
+ type: string
684
+ currency:
685
+ enum: *ref_0
686
+ maxLength: 3
687
+ minLength: 3
688
+ type: string
689
+ feesAmount:
690
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
691
+ type: string
692
+ feesCurrency:
693
+ enum: *ref_0
694
+ maxLength: 3
695
+ minLength: 3
696
+ type: string
697
+ initiator:
698
+ enum: *ref_9
699
+ type: string
700
+ initiatorType:
701
+ enum: *ref_10
702
+ type: string
703
+ note:
704
+ description: An optional note associated with the quote.
705
+ maxLength: 128
706
+ minLength: 1
707
+ type: string
708
+ to:
709
+ properties: *ref_1
710
+ required: *ref_2
711
+ type: object
712
+ transactionType:
713
+ enum: *ref_11
714
+ type: string
715
+ transferId:
716
+ description: A Mojaloop API transfer identifier (UUID).
717
+ pattern: >-
718
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
719
+ type: string
720
+ required: &ref_43
721
+ - transferId
722
+ - amount
723
+ - currency
724
+ type: object
725
+ maxItems: 1000
726
+ minItems: 1
727
+ type: array
728
+ required: &ref_56
729
+ - bulkTransferId
730
+ - individualTransfers
731
+ type: object
732
+ description: An incoming bulk transfer request.
733
+ responses:
734
+ '200':
735
+ content:
736
+ application/json:
737
+ schema:
738
+ properties: &ref_14
739
+ bulkTransferId:
740
+ description: A Mojaloop API transfer identifier (UUID).
741
+ pattern: >-
742
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
743
+ type: string
744
+ homeTransactionId:
745
+ description: >-
746
+ Transaction ID from the DFSP backend, used to reconcile
747
+ transactions between the switch and DFSP backend systems.
748
+ type: string
749
+ individualTransferResults:
750
+ items:
751
+ description: >-
752
+ Data model for individual transfer in a bulk transfer
753
+ response.
754
+ properties: &ref_44
755
+ errorResponse:
756
+ properties: *ref_3
757
+ type: object
758
+ extensionList:
759
+ items: *ref_12
760
+ maxItems: 16
761
+ minItems: 0
762
+ type: array
763
+ transferId:
764
+ description: A Mojaloop API transfer identifier (UUID).
765
+ pattern: >-
766
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
767
+ type: string
768
+ required: &ref_45
769
+ - transferId
770
+ type: object
771
+ maxItems: 1000
772
+ minItems: 1
773
+ type: array
774
+ required: &ref_15
775
+ - homeTransactionId
776
+ type: object
777
+ description: The bulk transfer was accepted.
778
+ '400':
779
+ content: *ref_6
780
+ description: Malformed or missing required headers or parameters.
781
+ '500':
782
+ content: *ref_7
783
+ description: An error occurred processing the request.
784
+ summary: >-
785
+ Execute bulk transfer of funds from an external account to internal
786
+ accounts.
787
+ tags:
788
+ - BulkTransfers
789
+ /bulkTransfers/{idValue}:
790
+ get:
791
+ operationId: BackendBulkTransfersGet
792
+ parameters:
793
+ - description: The identifier value.
794
+ in: path
795
+ name: idValue
796
+ required: true
797
+ schema: *ref_13
798
+ responses:
799
+ '200':
800
+ content:
801
+ application/json:
802
+ schema:
803
+ properties: *ref_14
804
+ required: *ref_15
805
+ type: object
806
+ description: Response containing details of the requested bulk transfer.
807
+ '400':
808
+ content: *ref_6
809
+ description: Malformed or missing required headers or parameters.
810
+ '404':
811
+ description: >-
812
+ The party specified by the provided identifier type and value is not
813
+ known to the server.
814
+ '500':
815
+ content: *ref_7
816
+ description: An error occurred processing the request.
817
+ summary: >-
818
+ Requests information relating to a bulk transfer identified by the
819
+ specified identifier value.
820
+ tags:
821
+ - BulkTransfers
822
+ /otp/{requestToPayId}:
823
+ get:
824
+ operationId: BackendOtpGet
825
+ parameters:
826
+ - in: path
827
+ name: requestToPayId
828
+ required: true
829
+ schema: &ref_31
830
+ maxLength: 128
831
+ minLength: 1
832
+ type: string
833
+ responses:
834
+ '200':
835
+ content:
836
+ application/json:
837
+ schema:
838
+ properties: &ref_65
839
+ otpValue:
840
+ description: OTP value.
841
+ type: string
842
+ required: &ref_66
843
+ - otpValue
844
+ type: object
845
+ description: Response containing details of the OTP.
846
+ '400':
847
+ content: *ref_6
848
+ description: Malformed or missing required headers or parameters.
849
+ '404':
850
+ description: >-
851
+ The party specified by the provided identifier type and value is not
852
+ known to the server.
853
+ '500':
854
+ content: *ref_7
855
+ description: An error occurred processing the request.
856
+ summary: Requests OTP.
857
+ tags:
858
+ - OTP
859
+ /participants/{idType}/{idValue}:
860
+ get:
861
+ description: >-
862
+ The HTTP request `GET /participants/{idType}/{idValue}` is used to find
863
+ out in which FSP the requested party, defined by `{idType}` and
864
+ `{idValue}`, is located.
865
+ operationId: BackendParticipantsGetByTypeAndID
866
+ parameters:
867
+ - description: >-
868
+ The type of the party identifier. For example, `MSISDN`,
869
+ `PERSONAL_ID`.
870
+ in: path
871
+ name: idType
872
+ required: true
873
+ schema: &ref_16
874
+ type: string
875
+ - description: The identifier value.
876
+ in: path
877
+ name: idValue
878
+ required: true
879
+ schema: *ref_13
880
+ responses:
881
+ '200':
882
+ content:
883
+ application/json:
884
+ schema:
885
+ properties: &ref_17
886
+ fspId:
887
+ description: FSP identifier.
888
+ maxLength: 32
889
+ minLength: 1
890
+ type: string
891
+ type: object
892
+ description: Response containing details of the requested party.
893
+ '400':
894
+ content: *ref_6
895
+ description: Malformed or missing required headers or parameters.
896
+ '404':
897
+ description: >-
898
+ The party specified by the provided identifier type and value is not
899
+ known to the server.
900
+ '500':
901
+ content: *ref_7
902
+ description: An error occurred processing the request.
903
+ summary: >-
904
+ Asks for the identifier (fspId) of the scheme participant (FSP) that can
905
+ handle transfers for the specified identifier type and value.
906
+ tags:
907
+ - Participants
908
+ /participants/{idType}/{idValue}/{idSubValue}:
909
+ get:
910
+ description: >-
911
+ The HTTP request `GET /participants/{idType}/{idValue}/{idSubValue}` is
912
+ used to find out in which FSP the requested party, defined by
913
+ `{idType}`, `{idValue}` and `{idSubValue}` is located.
914
+ operationId: BackendParticipantsGetByTypeIDAndSubId
915
+ parameters:
916
+ - description: >-
917
+ The type of the party identifier. For example, `MSISDN`,
918
+ `PERSONAL_ID`.
919
+ in: path
920
+ name: idType
921
+ required: true
922
+ schema: *ref_16
923
+ - description: The identifier value.
924
+ in: path
925
+ name: idValue
926
+ required: true
927
+ schema: *ref_13
928
+ - description: >-
929
+ A sub-identifier of the party identifier, or a sub-type of the party
930
+ identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
931
+ in: path
932
+ name: idSubValue
933
+ required: true
934
+ schema: &ref_18
935
+ type: string
936
+ responses:
937
+ '200':
938
+ content:
939
+ application/json:
940
+ schema:
941
+ properties: *ref_17
942
+ type: object
943
+ description: Response containing details of the requested party.
944
+ '400':
945
+ content: *ref_6
946
+ description: Malformed or missing required headers or parameters.
947
+ '404':
948
+ description: >-
949
+ The party specified by the provided identifier type and value is not
950
+ known to the server.
951
+ '500':
952
+ content: *ref_7
953
+ description: An error occurred processing the request.
954
+ summary: >-
955
+ Asks for the identifier (fspId) of the scheme participant (FSP) that can
956
+ handle transfers for the specified identifier type and value.
957
+ tags:
958
+ - Participants
959
+ /parties/{idType}/{idValue}:
960
+ get:
961
+ description: >-
962
+ The HTTP request `GET /parties/{idType}/{idValue}` is used to look up
963
+ information regarding the requested transfer party, identified by
964
+ `{idType}` and `{idValue}`.
965
+ operationId: BackendPartiesGetByTypeAndID
966
+ parameters:
967
+ - description: >-
968
+ The type of the party identifier. For example, `MSISDN`,
969
+ `PERSONAL_ID`.
970
+ in: path
971
+ name: idType
972
+ required: true
973
+ schema: *ref_16
974
+ - description: The identifier value.
975
+ in: path
976
+ name: idValue
977
+ required: true
978
+ schema: *ref_13
979
+ responses:
980
+ '200':
981
+ content:
982
+ application/json:
983
+ schema:
984
+ properties: *ref_1
985
+ required: *ref_2
986
+ type: object
987
+ description: Response containing details of the requested party.
988
+ '400':
989
+ content: *ref_6
990
+ description: Malformed or missing required headers or parameters.
991
+ '404':
992
+ description: >-
993
+ The party specified by the provided identifier type and value is not
994
+ known to the server.
995
+ '500':
996
+ content: *ref_7
997
+ description: An error occurred processing the request.
998
+ summary: >-
999
+ Requests information relating to a transfer party identified by the
1000
+ specified identifier type and value.
1001
+ tags:
1002
+ - Parties
1003
+ /parties/{idType}/{idValue}/{idSubValue}:
1004
+ get:
1005
+ description: >-
1006
+ The HTTP request `GET /parties/{idType}/{idValue}/{idSubValue}` is used
1007
+ to look up information regarding the requested transfer party,
1008
+ identified by `{idType}`, `{idValue}` and `{idSubValue}`.
1009
+ operationId: BackendPartiesGetByTypeIdAndSubId
1010
+ parameters:
1011
+ - description: >-
1012
+ The type of the party identifier. For example, `MSISDN`,
1013
+ `PERSONAL_ID`.
1014
+ in: path
1015
+ name: idType
1016
+ required: true
1017
+ schema: *ref_16
1018
+ - description: The identifier value.
1019
+ in: path
1020
+ name: idValue
1021
+ required: true
1022
+ schema: *ref_13
1023
+ - description: >-
1024
+ A sub-identifier of the party identifier, or a sub-type of the party
1025
+ identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
1026
+ in: path
1027
+ name: idSubValue
1028
+ required: true
1029
+ schema: *ref_18
1030
+ responses:
1031
+ '200':
1032
+ content:
1033
+ application/json:
1034
+ schema:
1035
+ properties: *ref_1
1036
+ required: *ref_2
1037
+ type: object
1038
+ description: Response containing details of the requested party.
1039
+ '400':
1040
+ content: *ref_6
1041
+ description: Malformed or missing required headers or parameters.
1042
+ '404':
1043
+ description: >-
1044
+ The party specified by the provided identifier type and value is not
1045
+ known to the server.
1046
+ '500':
1047
+ content: *ref_7
1048
+ description: An error occurred processing the request.
1049
+ summary: >-
1050
+ Requests information relating to a transfer party identified by the
1051
+ specified identifier type, value and subId value.
1052
+ tags:
1053
+ - Parties
1054
+ /quoterequests:
1055
+ post:
1056
+ description: >-
1057
+ The HTTP request `POST /quoterequests` is used to request the creation
1058
+ of a quote for the provided financial transaction.
1059
+ operationId: BackendQuoteRequest
1060
+ requestBody:
1061
+ content:
1062
+ application/json:
1063
+ schema:
1064
+ description: A request for a quote for transfer from the DFSP backend.
1065
+ properties: &ref_67
1066
+ amount:
1067
+ description: >-
1068
+ Depending on `amountType`. If SEND - The amount the Payer
1069
+ would like to send, that is, the amount that should be
1070
+ withdrawn from the Payer account including any fees. The
1071
+ amount is updated by each participating entity in the
1072
+ transaction. If RECEIVE - The amount the Payee should
1073
+ receive, that is, the amount that should be sent to the
1074
+ receiver exclusive any fees. The amount is not updated by
1075
+ any of the participating entities.
1076
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1077
+ type: string
1078
+ amountType:
1079
+ description: SEND for send amount, RECEIVE for receive amount.
1080
+ enum: *ref_8
1081
+ type: string
1082
+ currency:
1083
+ enum: *ref_0
1084
+ maxLength: 3
1085
+ minLength: 3
1086
+ type: string
1087
+ expiration:
1088
+ description: An ISO-8601 formatted timestamp.
1089
+ pattern: >-
1090
+ ^(?:[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)$
1091
+ type: string
1092
+ extensionList:
1093
+ items: *ref_12
1094
+ maxItems: 16
1095
+ minItems: 0
1096
+ type: array
1097
+ feesAmount:
1098
+ description: >-
1099
+ The fees in the transaction. The fees element should be
1100
+ empty if fees should be non-disclosed. The fees element
1101
+ should be non-empty if fees should be disclosed.
1102
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1103
+ type: string
1104
+ feesCurrency:
1105
+ enum: *ref_0
1106
+ maxLength: 3
1107
+ minLength: 3
1108
+ type: string
1109
+ from:
1110
+ description: >-
1111
+ Information about the Payer in the proposed financial
1112
+ transaction.
1113
+ properties: *ref_1
1114
+ required: *ref_2
1115
+ type: object
1116
+ geoCode:
1117
+ description: >-
1118
+ Indicates the geographic location from where the transaction
1119
+ was initiated.
1120
+ properties: *ref_19
1121
+ required: *ref_20
1122
+ type: object
1123
+ initiator:
1124
+ description: >-
1125
+ Specifies if the initiator of the transfer is the Payer or
1126
+ Payee.
1127
+ enum: *ref_9
1128
+ type: string
1129
+ initiatorType:
1130
+ description: Specifies the type of the transaction initiator.
1131
+ enum: *ref_10
1132
+ type: string
1133
+ note:
1134
+ description: An optional note associated with the requested transfer.
1135
+ maxLength: 128
1136
+ minLength: 1
1137
+ type: string
1138
+ quoteId:
1139
+ description: A Mojaloop API quote identifier (UUID).
1140
+ pattern: >-
1141
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1142
+ type: string
1143
+ to:
1144
+ description: >-
1145
+ Information about the Payee in the proposed financial
1146
+ transaction.
1147
+ properties: *ref_1
1148
+ required: *ref_2
1149
+ type: object
1150
+ transactionId:
1151
+ description: >-
1152
+ ID of the transaction, the ID is decided by the Payer FSP
1153
+ during the creation of the quote.
1154
+ pattern: >-
1155
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1156
+ type: string
1157
+ transactionType:
1158
+ description: Type of transaction for which the quote is requested.
1159
+ enum: *ref_11
1160
+ type: string
1161
+ required: &ref_68
1162
+ - quoteId
1163
+ - transactionId
1164
+ - to
1165
+ - from
1166
+ - amountType
1167
+ - amount
1168
+ - currency
1169
+ - transactionType
1170
+ - initiator
1171
+ - initiatorType
1172
+ type: object
1173
+ description: Request for a transfer quotation.
1174
+ responses:
1175
+ '200':
1176
+ content:
1177
+ application/json:
1178
+ schema:
1179
+ description: A response to a request for a quote.
1180
+ properties: &ref_25
1181
+ expiration:
1182
+ description: An ISO-8601 formatted timestamp.
1183
+ pattern: >-
1184
+ ^(?:[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)$
1185
+ type: string
1186
+ extensionList:
1187
+ items: *ref_12
1188
+ maxItems: 16
1189
+ minItems: 0
1190
+ type: array
1191
+ geoCode:
1192
+ description: >-
1193
+ Indicates the geographic location from where the
1194
+ transaction was initiated.
1195
+ properties: *ref_19
1196
+ required: *ref_20
1197
+ type: object
1198
+ payeeFspCommissionAmount:
1199
+ description: Transaction commission from the Payee FSP.
1200
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1201
+ type: string
1202
+ payeeFspCommissionAmountCurrency:
1203
+ description: Currency of the `payeeFspCommissionAmount`.
1204
+ enum: *ref_0
1205
+ maxLength: 3
1206
+ minLength: 3
1207
+ type: string
1208
+ payeeFspFeeAmount:
1209
+ description: Payee FSP’s part of the transaction fee.
1210
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1211
+ type: string
1212
+ payeeFspFeeAmountCurrency:
1213
+ description: The currency of the `payeeFspFeeAmount`.
1214
+ enum: *ref_0
1215
+ maxLength: 3
1216
+ minLength: 3
1217
+ type: string
1218
+ payeeReceiveAmount:
1219
+ description: >-
1220
+ The amount that the Payee should receive in the end-to-end
1221
+ transaction. Optional as the Payee FSP might not want to
1222
+ disclose any optional Payee fees.
1223
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1224
+ type: string
1225
+ payeeReceiveAmountCurrency:
1226
+ description: The currency of the `payeeReceiveAmount`.
1227
+ enum: *ref_0
1228
+ maxLength: 3
1229
+ minLength: 3
1230
+ type: string
1231
+ quoteId:
1232
+ description: A Mojaloop API quote identifier (UUID).
1233
+ pattern: >-
1234
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1235
+ type: string
1236
+ transactionId:
1237
+ description: >-
1238
+ ID of the transaction, the ID is decided by the Payer FSP
1239
+ during the creation of the quote.
1240
+ pattern: >-
1241
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1242
+ type: string
1243
+ transferAmount:
1244
+ description: >-
1245
+ The amount of money that the Payer FSP should transfer to
1246
+ the Payee FSP.
1247
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1248
+ type: string
1249
+ transferAmountCurrency:
1250
+ description: The currency of the `transferAmount`.
1251
+ enum: *ref_0
1252
+ maxLength: 3
1253
+ minLength: 3
1254
+ type: string
1255
+ required: &ref_26
1256
+ - quoteId
1257
+ - transactionId
1258
+ - transferAmount
1259
+ - transferAmountCurrency
1260
+ type: object
1261
+ description: A response to the transfer quotation request.
1262
+ '400':
1263
+ content: *ref_6
1264
+ description: Malformed or missing required headers or parameters.
1265
+ '500':
1266
+ content: *ref_7
1267
+ description: An error occurred processing the request.
1268
+ summary: Requests a quote for the specified transfer.
1269
+ tags:
1270
+ - Quotes
1271
+ /transactionrequests:
1272
+ post:
1273
+ operationId: BackendTransactionRequest
1274
+ requestBody:
1275
+ content:
1276
+ application/json:
1277
+ schema:
1278
+ description: A request for a pull based transfer.
1279
+ properties: &ref_70
1280
+ amount:
1281
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1282
+ type: string
1283
+ currency:
1284
+ enum: *ref_0
1285
+ maxLength: 3
1286
+ minLength: 3
1287
+ type: string
1288
+ expiration:
1289
+ description: An ISO-8601 formatted timestamp.
1290
+ pattern: >-
1291
+ ^(?:[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)$
1292
+ type: string
1293
+ from:
1294
+ properties: *ref_1
1295
+ required: *ref_2
1296
+ type: object
1297
+ geoCode:
1298
+ description: >-
1299
+ Indicates the geographic location from where the transaction
1300
+ was initiated.
1301
+ properties: *ref_19
1302
+ required: *ref_20
1303
+ type: object
1304
+ initiator:
1305
+ enum: *ref_9
1306
+ type: string
1307
+ initiatorType:
1308
+ enum: *ref_10
1309
+ type: string
1310
+ note:
1311
+ description: An optional note associated with the requested transfer.
1312
+ maxLength: 128
1313
+ minLength: 1
1314
+ type: string
1315
+ to:
1316
+ properties: *ref_1
1317
+ required: *ref_2
1318
+ type: object
1319
+ transactionRequestId:
1320
+ description: A Mojaloop API transaction request identifier (UUID).
1321
+ pattern: >-
1322
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1323
+ type: string
1324
+ transactionType:
1325
+ enum: *ref_11
1326
+ type: string
1327
+ required: &ref_71
1328
+ - transactionRequestId
1329
+ - to
1330
+ - from
1331
+ - amount
1332
+ - currency
1333
+ - transactionType
1334
+ - initiator
1335
+ - initiatorType
1336
+ type: object
1337
+ description: Request for Transaction Request.
1338
+ responses:
1339
+ '200':
1340
+ content:
1341
+ application/json:
1342
+ schema:
1343
+ description: A response to a request for a quote.
1344
+ properties: &ref_72
1345
+ transactionId:
1346
+ description: >-
1347
+ ID of the transaction, the ID is decided by the Payer FSP
1348
+ during the creation of the quote.
1349
+ pattern: >-
1350
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1351
+ type: string
1352
+ transferAmount:
1353
+ enum: &ref_74
1354
+ - RECEIVED
1355
+ - PENDING
1356
+ - ACCEPTED
1357
+ - REJECTED
1358
+ type: string
1359
+ required: &ref_73
1360
+ - transactionId
1361
+ - transactionRequestState
1362
+ type: object
1363
+ description: A response to the transfer transaction request.
1364
+ '400':
1365
+ content: *ref_6
1366
+ description: Malformed or missing required headers or parameters.
1367
+ '500':
1368
+ content: *ref_7
1369
+ description: An error occurred processing the request.
1370
+ summary: Transaction request that supports pull based transfers.
1371
+ tags:
1372
+ - TransactionRequest
1373
+ /transfers:
1374
+ post:
1375
+ description: >-
1376
+ The HTTP request `POST /transfers` is used to request the creation of a
1377
+ transfer for the transfer party.
1378
+ operationId: BackendTransfersPost
1379
+ requestBody:
1380
+ content:
1381
+ application/json:
1382
+ schema:
1383
+ properties: &ref_80
1384
+ amount:
1385
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1386
+ type: string
1387
+ amountType:
1388
+ enum: *ref_8
1389
+ type: string
1390
+ currency:
1391
+ enum: *ref_0
1392
+ maxLength: 3
1393
+ minLength: 3
1394
+ type: string
1395
+ from:
1396
+ properties: *ref_1
1397
+ required: *ref_2
1398
+ type: object
1399
+ ilpPacket:
1400
+ properties:
1401
+ data:
1402
+ description: Object containing transfer object.
1403
+ properties: &ref_62
1404
+ amount:
1405
+ description: >-
1406
+ Object containing Amount and Currency of the
1407
+ transfer.
1408
+ properties: &ref_51
1409
+ amount:
1410
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1411
+ type: string
1412
+ currency:
1413
+ enum: *ref_0
1414
+ maxLength: 3
1415
+ minLength: 3
1416
+ type: string
1417
+ required: &ref_52
1418
+ - amount
1419
+ - currency
1420
+ type: object
1421
+ payee:
1422
+ description: Data model for the complex type Party.
1423
+ properties: &ref_23
1424
+ merchantClassificationCode:
1425
+ description: >-
1426
+ A limited set of pre-defined numbers. This list
1427
+ would be a limited set of numbers identifying a
1428
+ set of popular merchant types like School Fees,
1429
+ Pubs and Restaurants, Groceries, etc.
1430
+ pattern: ^[\d]{1,4}$
1431
+ title: MerchantClassificationCode
1432
+ type: string
1433
+ name:
1434
+ description: >-
1435
+ Name of the Party. Could be a real name or a
1436
+ nickname.
1437
+ maxLength: 128
1438
+ minLength: 1
1439
+ title: PartyName
1440
+ type: string
1441
+ partyIdInfo:
1442
+ description: Data model for the complex type PartyIdInfo.
1443
+ properties: &ref_47
1444
+ extensionList:
1445
+ description: >-
1446
+ Data model for the complex type
1447
+ ExtensionList
1448
+ properties: &ref_34
1449
+ extension:
1450
+ description: Number of Extension elements
1451
+ items:
1452
+ description: >-
1453
+ Data model for the complex type
1454
+ Extension
1455
+ properties: &ref_32
1456
+ key:
1457
+ description: Extension key.
1458
+ maxLength: 32
1459
+ minLength: 1
1460
+ title: ExtensionKey
1461
+ type: string
1462
+ value:
1463
+ description: Extension value.
1464
+ maxLength: 128
1465
+ minLength: 1
1466
+ title: ExtensionValue
1467
+ type: string
1468
+ required: &ref_33
1469
+ - key
1470
+ - value
1471
+ title: Extension
1472
+ type: object
1473
+ maxItems: 16
1474
+ minItems: 1
1475
+ type: array
1476
+ required: &ref_35
1477
+ - extension
1478
+ title: ExtensionList
1479
+ type: object
1480
+ fspId:
1481
+ description: FSP identifier.
1482
+ maxLength: 32
1483
+ minLength: 1
1484
+ title: FspId
1485
+ type: string
1486
+ partyIdType:
1487
+ description: >
1488
+ This is a variant based on FSPIOP
1489
+ `PartyIdType` specification.
1490
+
1491
+ Main difference being the CONSENT and
1492
+ THIRD_PARTY_LINK enums.
1493
+
1494
+
1495
+ Below are the allowed values for the
1496
+ enumeration.
1497
+
1498
+ - MSISDN - An MSISDN (Mobile Station
1499
+ International Subscriber Directory
1500
+
1501
+ Number, that is, the phone number) is used
1502
+ as reference to a participant.
1503
+
1504
+ The MSISDN identifier should be in
1505
+ international format according to the
1506
+
1507
+ [ITU-T E.164
1508
+ standard](https://www.itu.int/rec/T-REC-E.164/en).
1509
+
1510
+ Optionally, the MSISDN may be prefixed by a
1511
+ single plus sign, indicating the
1512
+
1513
+ international prefix.
1514
+
1515
+ - EMAIL - An email is used as reference to a
1516
+
1517
+ participant. The format of the email should
1518
+ be according to the informational
1519
+
1520
+ [RFC
1521
+ 3696](https://tools.ietf.org/html/rfc3696).
1522
+
1523
+ - PERSONAL_ID - A personal identifier is
1524
+ used as reference to a participant.
1525
+
1526
+ Examples of personal identification are
1527
+ passport number, birth certificate
1528
+
1529
+ number, and national registration number.
1530
+ The identifier number is added in
1531
+
1532
+ the PartyIdentifier element. The personal
1533
+ identifier type is added in the
1534
+
1535
+ PartySubIdOrType element.
1536
+
1537
+ - BUSINESS - A specific Business (for
1538
+ example, an organization or a company)
1539
+
1540
+ is used as reference to a participant. The
1541
+ BUSINESS identifier can be in any
1542
+
1543
+ format. To make a transaction connected to a
1544
+ specific username or bill number
1545
+
1546
+ in a Business, the PartySubIdOrType element
1547
+ should be used.
1548
+
1549
+ - DEVICE - A specific device (for example, a
1550
+ POS or ATM) ID connected to a
1551
+
1552
+ specific business or organization is used as
1553
+ reference to a Party.
1554
+
1555
+ For referencing a specific device under a
1556
+ specific business or organization,
1557
+
1558
+ use the PartySubIdOrType element.
1559
+
1560
+ - ACCOUNT_ID - A bank account number or FSP
1561
+ account ID should be used as
1562
+
1563
+ reference to a participant. The ACCOUNT_ID
1564
+ identifier can be in any format,
1565
+
1566
+ as formats can greatly differ depending on
1567
+ country and FSP.
1568
+
1569
+ - IBAN - A bank account number or FSP
1570
+ account ID is used as reference to a
1571
+
1572
+ participant. The IBAN identifier can consist
1573
+ of up to 34 alphanumeric
1574
+
1575
+ characters and should be entered without
1576
+ whitespace.
1577
+
1578
+ - ALIAS An alias is used as reference to a
1579
+ participant. The alias should be
1580
+
1581
+ created in the FSP as an alternative
1582
+ reference to an account owner.
1583
+
1584
+ Another example of an alias is a username in
1585
+ the FSP system.
1586
+
1587
+ The ALIAS identifier can be in any format.
1588
+ It is also possible to use the
1589
+
1590
+ PartySubIdOrType element for identifying an
1591
+ account under an Alias defined
1592
+
1593
+ by the PartyIdentifier.
1594
+
1595
+ - CONSENT - TBD
1596
+
1597
+ - THIRD_PARTY_LINK - TBD
1598
+ enum: &ref_49
1599
+ - MSISDN
1600
+ - EMAIL
1601
+ - PERSONAL_ID
1602
+ - BUSINESS
1603
+ - DEVICE
1604
+ - ACCOUNT_ID
1605
+ - IBAN
1606
+ - ALIAS
1607
+ - CONSENT
1608
+ - THIRD_PARTY_LINK
1609
+ example: PERSONAL_ID
1610
+ title: PartyIdType
1611
+ type: string
1612
+ partyIdentifier:
1613
+ description: Identifier of the Party.
1614
+ example: '16135551212'
1615
+ maxLength: 128
1616
+ minLength: 1
1617
+ title: PartyIdentifier
1618
+ type: string
1619
+ partySubIdOrType:
1620
+ description: >-
1621
+ Either a sub-identifier of a
1622
+ PartyIdentifier, or a sub-type of the
1623
+ PartyIdType, normally a
1624
+ PersonalIdentifierType.
1625
+ maxLength: 128
1626
+ minLength: 1
1627
+ title: PartySubIdOrType
1628
+ type: string
1629
+ required: &ref_48
1630
+ - partyIdType
1631
+ - partyIdentifier
1632
+ title: PartyIdInfo
1633
+ type: object
1634
+ personalInfo:
1635
+ description: >-
1636
+ Data model for the complex type
1637
+ PartyPersonalInfo.
1638
+ properties: &ref_50
1639
+ complexName:
1640
+ description: >-
1641
+ Data model for the complex type
1642
+ PartyComplexName.
1643
+ properties: &ref_46
1644
+ displayName:
1645
+ description: Display name of the sender if known
1646
+ type: string
1647
+ firstName:
1648
+ description: First name of the Party (Name Type).
1649
+ example: Henrik
1650
+ maxLength: 128
1651
+ minLength: 1
1652
+ pattern: >-
1653
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
1654
+ .,''-]{1,128}$
1655
+ title: FirstName
1656
+ type: string
1657
+ idSubValue:
1658
+ description: >-
1659
+ The sub identifier string used to
1660
+ identify the sender
1661
+ type: string
1662
+ idType:
1663
+ enum: *ref_21
1664
+ type: string
1665
+ idValue:
1666
+ description: >-
1667
+ The identifier string used to identify
1668
+ the sender
1669
+ type: string
1670
+ lastName:
1671
+ description: Last name of the Party (Name Type).
1672
+ example: Karlsson
1673
+ maxLength: 128
1674
+ minLength: 1
1675
+ pattern: >-
1676
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
1677
+ .,''-]{1,128}$
1678
+ title: LastName
1679
+ type: string
1680
+ middleName:
1681
+ description: Middle name of the Party (Name Type).
1682
+ example: Johannes
1683
+ maxLength: 128
1684
+ minLength: 1
1685
+ pattern: >-
1686
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
1687
+ .,''-]{1,128}$
1688
+ title: MiddleName
1689
+ type: string
1690
+ type:
1691
+ enum: *ref_22
1692
+ type: string
1693
+ title: PartyComplexName
1694
+ type: object
1695
+ dateOfBirth:
1696
+ description: Date of Birth of the Party.
1697
+ example: '1966-06-16'
1698
+ pattern: >-
1699
+ ^(?:[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)$
1700
+ title: DateofBirth (type Date)
1701
+ type: string
1702
+ title: PartyPersonalInfo
1703
+ type: object
1704
+ required: &ref_24
1705
+ - partyIdInfo
1706
+ title: Party
1707
+ type: object
1708
+ payer:
1709
+ description: Data model for the complex type Party.
1710
+ properties: *ref_23
1711
+ required: *ref_24
1712
+ title: Party
1713
+ type: object
1714
+ quoteId:
1715
+ description: A Mojaloop API quote identifier (UUID).
1716
+ pattern: >-
1717
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1718
+ type: string
1719
+ transactionId:
1720
+ description: >-
1721
+ ID of the transaction, the ID is decided by the
1722
+ Payer FSP during the creation of the quote.
1723
+ pattern: >-
1724
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1725
+ type: string
1726
+ transactionType:
1727
+ description: Object containing transfer object.
1728
+ properties: &ref_75
1729
+ initiator:
1730
+ enum: *ref_9
1731
+ type: string
1732
+ initiatorType:
1733
+ description: Specifies the type of the transaction initiator.
1734
+ enum: *ref_10
1735
+ type: string
1736
+ scenario:
1737
+ enum: &ref_69
1738
+ - TRANSFER
1739
+ type: string
1740
+ required: &ref_76
1741
+ - scenario
1742
+ - initiator
1743
+ - initiatorType
1744
+ type: object
1745
+ required: &ref_63
1746
+ - quoteId
1747
+ - transactionId
1748
+ - payer
1749
+ - payee
1750
+ - amount
1751
+ - transactionType
1752
+ type: object
1753
+ required:
1754
+ - data
1755
+ type: object
1756
+ note:
1757
+ maxLength: 128
1758
+ type: string
1759
+ quote:
1760
+ description: A response to a request for a quote.
1761
+ properties: *ref_25
1762
+ required: *ref_26
1763
+ type: object
1764
+ quoteRequestExtensions:
1765
+ items: *ref_12
1766
+ maxItems: 16
1767
+ minItems: 0
1768
+ type: array
1769
+ to:
1770
+ properties: *ref_1
1771
+ required: *ref_2
1772
+ type: object
1773
+ transactionType:
1774
+ enum: *ref_11
1775
+ type: string
1776
+ transferId:
1777
+ description: A Mojaloop API transfer identifier (UUID).
1778
+ pattern: >-
1779
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1780
+ type: string
1781
+ required: &ref_81
1782
+ - transferId
1783
+ - quote
1784
+ - from
1785
+ - to
1786
+ - amountType
1787
+ - currency
1788
+ - amount
1789
+ - transactionType
1790
+ - ilpPacket
1791
+ type: object
1792
+ description: An incoming transfer request.
1793
+ responses:
1794
+ '200':
1795
+ content:
1796
+ application/json:
1797
+ schema:
1798
+ properties: &ref_82
1799
+ completedTimestamp:
1800
+ description: An ISO-8601 formatted timestamp.
1801
+ example: '2020-05-19T08:38:08.699-04:00'
1802
+ pattern: >-
1803
+ ^(?:[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)$
1804
+ type: string
1805
+ fulfilment:
1806
+ description: >-
1807
+ Fulfilment that must be attached to the transfer by the
1808
+ Payee.
1809
+ example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
1810
+ maxLength: 48
1811
+ pattern: ^[A-Za-z0-9-_]{43}$
1812
+ title: ilpFulfilment
1813
+ type: string
1814
+ homeTransactionId:
1815
+ description: >-
1816
+ Transaction ID from the DFSP backend, used to reconcile
1817
+ transactions between the Switch and DFSP backend systems.
1818
+ type: string
1819
+ transferState:
1820
+ description: >
1821
+ Below are the allowed values for the enumeration -
1822
+ RECEIVED DFSP has received the transfer. - RESERVED DFSP
1823
+ has reserved the transfer. - COMMITTED DFSP has
1824
+ successfully performed the transfer. - ABORTED DFSP has
1825
+ aborted the transfer due a rejection or failure to perform
1826
+ the transfer.
1827
+ example: ABORTED
1828
+ enum: &ref_27
1829
+ - RECEIVED
1830
+ - RESERVED
1831
+ - COMMITTED
1832
+ - ABORTED
1833
+ type: string
1834
+ required: &ref_83
1835
+ - homeTransactionId
1836
+ type: object
1837
+ description: The transfer was accepted.
1838
+ '400':
1839
+ content: *ref_6
1840
+ description: Malformed or missing required headers or parameters.
1841
+ '500':
1842
+ content: *ref_7
1843
+ description: An error occurred processing the request.
1844
+ summary: Transfers funds from an external account to an internal account.
1845
+ tags:
1846
+ - Transfers
1847
+ /transfers/{transferId}:
1848
+ get:
1849
+ description: >-
1850
+ The HTTP request `GET /transfers/{transferId}` is used to get
1851
+ information regarding a transfer created or requested earlier. The
1852
+ `{transferId}` in the URI should contain the `transferId` that was used
1853
+ for the creation of the transfer.
1854
+ operationId: BackendTransfersGet
1855
+ parameters:
1856
+ - in: path
1857
+ name: transferId
1858
+ required: true
1859
+ schema: &ref_28
1860
+ type: string
1861
+ responses:
1862
+ '200':
1863
+ content:
1864
+ application/json:
1865
+ schema:
1866
+ properties: &ref_77
1867
+ amount:
1868
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1869
+ type: string
1870
+ amountType:
1871
+ enum: *ref_8
1872
+ type: string
1873
+ currency:
1874
+ enum: *ref_0
1875
+ maxLength: 3
1876
+ minLength: 3
1877
+ type: string
1878
+ extensions:
1879
+ items: *ref_12
1880
+ maxItems: 16
1881
+ minItems: 0
1882
+ type: array
1883
+ from:
1884
+ properties: *ref_1
1885
+ required: *ref_2
1886
+ type: object
1887
+ homeTransactionId:
1888
+ description: >-
1889
+ Transaction ID from the DFSP backend, used to reconcile
1890
+ transactions between the Switch and DFSP backend systems.
1891
+ type: string
1892
+ note:
1893
+ maxLength: 128
1894
+ type: string
1895
+ timestamp:
1896
+ description: An ISO-8601 formatted timestamp.
1897
+ pattern: >-
1898
+ ^(?:[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)$
1899
+ type: string
1900
+ to:
1901
+ properties: *ref_1
1902
+ required: *ref_2
1903
+ type: object
1904
+ transactionType:
1905
+ enum: *ref_11
1906
+ type: string
1907
+ transferState:
1908
+ description: >
1909
+ Below are the allowed values for the enumeration -
1910
+ RECEIVED DFSP has received the transfer. - RESERVED DFSP
1911
+ has reserved the transfer. - COMMITTED DFSP has
1912
+ successfully performed the transfer. - ABORTED DFSP has
1913
+ aborted the transfer due a rejection or failure to perform
1914
+ the transfer.
1915
+ enum: *ref_27
1916
+ type: string
1917
+ required: &ref_78
1918
+ - homeTransactionId
1919
+ - from
1920
+ - to
1921
+ - amountType
1922
+ - currency
1923
+ - amount
1924
+ - transferState
1925
+ - transactionType
1926
+ - timestamp
1927
+ type: object
1928
+ description: The transfer was accepted.
1929
+ '500':
1930
+ content: *ref_7
1931
+ description: An error occurred processing the request.
1932
+ summary: Retrieves information for a specific transfer.
1933
+ tags:
1934
+ - Transfers
1935
+ put:
1936
+ description: >-
1937
+ The HTTP request `PUT /transfers/{transferId}` is used to receive
1938
+ notification for transfer being fulfiled when the FSP is a Payee.
1939
+ operationId: BackendTransfersPut
1940
+ parameters:
1941
+ - in: path
1942
+ name: transferId
1943
+ required: true
1944
+ schema: *ref_28
1945
+ requestBody:
1946
+ content:
1947
+ application/json:
1948
+ schema:
1949
+ description: PUT /transfers/{transferId} object.
1950
+ properties: &ref_61
1951
+ currentState:
1952
+ enum: &ref_84
1953
+ - ERROR_OCCURRED
1954
+ - WAITING_FOR_PARTY_ACCEPTANCE
1955
+ - WAITING_FOR_QUOTE_ACCEPTANCE
1956
+ - COMPLETED
1957
+ type: string
1958
+ direction:
1959
+ enum:
1960
+ - INBOUND
1961
+ type: string
1962
+ finalNotification:
1963
+ properties:
1964
+ completedTimestamp:
1965
+ description: An ISO-8601 formatted timestamp.
1966
+ example: '2020-05-19T08:38:08.699-04:00'
1967
+ pattern: >-
1968
+ ^(?:[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)$
1969
+ type: string
1970
+ extensionList:
1971
+ description: Optional extension, specific to deployment.
1972
+ items: *ref_12
1973
+ maxItems: 16
1974
+ minItems: 0
1975
+ type: array
1976
+ transferState:
1977
+ description: >
1978
+ Below are the allowed values for the enumeration -
1979
+ RECEIVED DFSP has received the transfer. - RESERVED DFSP
1980
+ has reserved the transfer. - COMMITTED DFSP has
1981
+ successfully performed the transfer. - ABORTED DFSP has
1982
+ aborted the transfer due a rejection or failure to
1983
+ perform the transfer.
1984
+ example: COMMITTED
1985
+ enum: *ref_27
1986
+ type: string
1987
+ required:
1988
+ - completedTimestamp
1989
+ - transferState
1990
+ type: object
1991
+ fulfil:
1992
+ properties:
1993
+ body:
1994
+ type: object
1995
+ headers:
1996
+ type: object
1997
+ type: object
1998
+ initiatedTimestamp:
1999
+ description: An ISO-8601 formatted timestamp.
2000
+ pattern: >-
2001
+ ^(?:[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)$
2002
+ type: string
2003
+ lastError:
2004
+ description: >-
2005
+ This object represents a Mojaloop API error received at any
2006
+ time during the transfer process.
2007
+ properties: &ref_79
2008
+ httpStatusCode:
2009
+ description: >-
2010
+ The HTTP status code returned to the caller. This is the
2011
+ same as the actual HTTP status code returned with the
2012
+ response.
2013
+ type: integer
2014
+ mojaloopError:
2015
+ description: >-
2016
+ If a transfer process results in an error callback
2017
+ during the asynchronous Mojaloop API exchange, this
2018
+ property will contain the underlying Mojaloop API error
2019
+ object.
2020
+ properties: &ref_64
2021
+ errorInformation:
2022
+ description: A Mojaloop API error information construct.
2023
+ properties: &ref_57
2024
+ errorCode:
2025
+ description: >
2026
+ The API data type errorCode is a JSON String of
2027
+ four characters, consisting of digits only.
2028
+ Negative numbers are not allowed. A leading zero
2029
+ is not allowed. Each error code in the API is a
2030
+ four-digit number, for example, 1234, where the
2031
+ first number (1 in the example) represents the
2032
+ high-level error category, the second number (2
2033
+ in the example) represents the low-level error
2034
+ category, and the last two numbers (34 in the
2035
+ example) represents the specific error.
2036
+ pattern: ^[1-9]\d{3}$
2037
+ title: ErrorCode
2038
+ type: string
2039
+ errorDescription:
2040
+ description: Error description string.
2041
+ maxLength: 128
2042
+ minLength: 1
2043
+ title: ErrorDescription
2044
+ type: string
2045
+ extensionList:
2046
+ description: Data model for the complex type ExtensionList.
2047
+ properties: &ref_59
2048
+ extension:
2049
+ description: Number of Extension elements.
2050
+ items:
2051
+ properties: *ref_29
2052
+ type: object
2053
+ maxItems: 16
2054
+ minItems: 1
2055
+ type: array
2056
+ required: &ref_60
2057
+ - extension
2058
+ type: object
2059
+ required: &ref_58
2060
+ - errorCode
2061
+ - errorDescription
2062
+ title: ErrorInformation
2063
+ type: object
2064
+ type: object
2065
+ type: object
2066
+ prepare:
2067
+ properties:
2068
+ body:
2069
+ type: object
2070
+ headers:
2071
+ type: object
2072
+ type: object
2073
+ quote:
2074
+ properties:
2075
+ fulfilment:
2076
+ type: string
2077
+ internalRequest:
2078
+ type: object
2079
+ mojaloopResponse:
2080
+ type: object
2081
+ request:
2082
+ type: object
2083
+ response:
2084
+ type: object
2085
+ type: object
2086
+ quoteRequest:
2087
+ properties:
2088
+ body:
2089
+ type: object
2090
+ headers:
2091
+ type: object
2092
+ type: object
2093
+ quoteResponse:
2094
+ properties:
2095
+ body:
2096
+ type: object
2097
+ headers:
2098
+ type: object
2099
+ type: object
2100
+ transferId:
2101
+ description: A Mojaloop API transfer identifier (UUID).
2102
+ pattern: >-
2103
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2104
+ type: string
2105
+ title: TransfersIDPatchResponse
2106
+ type: object
2107
+ description: An incoming notification for fulfiled transfer.
2108
+ responses:
2109
+ '200':
2110
+ description: The notification was accepted.
2111
+ '500':
2112
+ content: *ref_7
2113
+ description: An error occurred processing the request.
2114
+ summary: Receive notification for a specific transfer.
2115
+ tags:
2116
+ - Transfers
2117
+ components:
2118
+ parameters:
2119
+ bulkTransactionId:
2120
+ description: Identifier of the bulk transaction to continue as returned in.
2121
+ in: path
2122
+ name: bulkTransactionId
2123
+ required: true
2124
+ schema: *ref_30
2125
+ idSubValue:
2126
+ description: >-
2127
+ A sub-identifier of the party identifier, or a sub-type of the party
2128
+ identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
2129
+ in: path
2130
+ name: idSubValue
2131
+ required: true
2132
+ schema: *ref_18
2133
+ idType:
2134
+ description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.
2135
+ in: path
2136
+ name: idType
2137
+ required: true
2138
+ schema: *ref_16
2139
+ idValue:
2140
+ description: The identifier value.
2141
+ in: path
2142
+ name: idValue
2143
+ required: true
2144
+ schema: *ref_13
2145
+ requestToPayId:
2146
+ in: path
2147
+ name: requestToPayId
2148
+ required: true
2149
+ schema: *ref_31
2150
+ transferId:
2151
+ in: path
2152
+ name: transferId
2153
+ required: true
2154
+ schema: *ref_28
2155
+ responses:
2156
+ '400':
2157
+ content: *ref_6
2158
+ description: Malformed or missing required headers or parameters.
2159
+ '404':
2160
+ description: >-
2161
+ The party specified by the provided identifier type and value is not
2162
+ known to the server.
2163
+ '500':
2164
+ content: *ref_7
2165
+ description: An error occurred processing the request.
2166
+ schemas:
2167
+ DateOfBirth:
2168
+ description: Date of Birth of the Party.
2169
+ example: '1966-06-16'
2170
+ pattern: >-
2171
+ ^(?:[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)$
2172
+ title: DateofBirth (type Date)
2173
+ type: string
2174
+ Extension:
2175
+ description: Data model for the complex type Extension
2176
+ properties: *ref_32
2177
+ required: *ref_33
2178
+ title: Extension
2179
+ type: object
2180
+ ExtensionKey:
2181
+ description: Extension key.
2182
+ maxLength: 32
2183
+ minLength: 1
2184
+ title: ExtensionKey
2185
+ type: string
2186
+ ExtensionList:
2187
+ description: Data model for the complex type ExtensionList
2188
+ properties: *ref_34
2189
+ required: *ref_35
2190
+ title: ExtensionList
2191
+ type: object
2192
+ ExtensionValue:
2193
+ description: Extension value.
2194
+ maxLength: 128
2195
+ minLength: 1
2196
+ title: ExtensionValue
2197
+ type: string
2198
+ FirstName:
2199
+ description: First name of the Party (Name Type).
2200
+ example: Henrik
2201
+ maxLength: 128
2202
+ minLength: 1
2203
+ pattern: >-
2204
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2205
+ .,''-]{1,128}$
2206
+ title: FirstName
2207
+ type: string
2208
+ FspId:
2209
+ description: FSP identifier.
2210
+ maxLength: 32
2211
+ minLength: 1
2212
+ title: FspId
2213
+ type: string
2214
+ IndividualQuote:
2215
+ description: Data model for individual quote in a bulk quote request.
2216
+ properties: *ref_36
2217
+ required: *ref_37
2218
+ type: object
2219
+ IndividualQuoteResultFailed:
2220
+ description: Data model for failed individual quote in a bulk quote response.
2221
+ properties: *ref_38
2222
+ required: *ref_39
2223
+ type: object
2224
+ IndividualQuoteResultSuccess:
2225
+ description: Data model for successful individual quote in a bulk quote response.
2226
+ properties: *ref_40
2227
+ required: *ref_41
2228
+ type: object
2229
+ IndividualTransfer:
2230
+ description: Data model for individual transfer in a bulk transfer request.
2231
+ properties: *ref_42
2232
+ required: *ref_43
2233
+ type: object
2234
+ IndividualTransferResult:
2235
+ description: Data model for individual transfer in a bulk transfer response.
2236
+ properties: *ref_44
2237
+ required: *ref_45
2238
+ type: object
2239
+ LastName:
2240
+ description: Last name of the Party (Name Type).
2241
+ example: Karlsson
2242
+ maxLength: 128
2243
+ minLength: 1
2244
+ pattern: >-
2245
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2246
+ .,''-]{1,128}$
2247
+ title: LastName
2248
+ type: string
2249
+ MerchantClassificationCode:
2250
+ description: >-
2251
+ A limited set of pre-defined numbers. This list would be a limited set
2252
+ of numbers identifying a set of popular merchant types like School Fees,
2253
+ Pubs and Restaurants, Groceries, etc.
2254
+ pattern: ^[\d]{1,4}$
2255
+ title: MerchantClassificationCode
2256
+ type: string
2257
+ MiddleName:
2258
+ description: Middle name of the Party (Name Type).
2259
+ example: Johannes
2260
+ maxLength: 128
2261
+ minLength: 1
2262
+ pattern: >-
2263
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2264
+ .,''-]{1,128}$
2265
+ title: MiddleName
2266
+ type: string
2267
+ Party:
2268
+ description: Data model for the complex type Party.
2269
+ properties: *ref_23
2270
+ required: *ref_24
2271
+ title: Party
2272
+ type: object
2273
+ PartyComplexName:
2274
+ description: Data model for the complex type PartyComplexName.
2275
+ properties: *ref_46
2276
+ title: PartyComplexName
2277
+ type: object
2278
+ PartyIdInfo:
2279
+ description: Data model for the complex type PartyIdInfo.
2280
+ properties: *ref_47
2281
+ required: *ref_48
2282
+ title: PartyIdInfo
2283
+ type: object
2284
+ PartyIdType:
2285
+ description: >
2286
+ This is a variant based on FSPIOP `PartyIdType` specification.
2287
+
2288
+ Main difference being the CONSENT and THIRD_PARTY_LINK enums.
2289
+
2290
+
2291
+ Below are the allowed values for the enumeration.
2292
+
2293
+ - MSISDN - An MSISDN (Mobile Station International Subscriber Directory
2294
+
2295
+ Number, that is, the phone number) is used as reference to a
2296
+ participant.
2297
+
2298
+ The MSISDN identifier should be in international format according to the
2299
+
2300
+ [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en).
2301
+
2302
+ Optionally, the MSISDN may be prefixed by a single plus sign, indicating
2303
+ the
2304
+
2305
+ international prefix.
2306
+
2307
+ - EMAIL - An email is used as reference to a
2308
+
2309
+ participant. The format of the email should be according to the
2310
+ informational
2311
+
2312
+ [RFC 3696](https://tools.ietf.org/html/rfc3696).
2313
+
2314
+ - PERSONAL_ID - A personal identifier is used as reference to a
2315
+ participant.
2316
+
2317
+ Examples of personal identification are passport number, birth
2318
+ certificate
2319
+
2320
+ number, and national registration number. The identifier number is added
2321
+ in
2322
+
2323
+ the PartyIdentifier element. The personal identifier type is added in
2324
+ the
2325
+
2326
+ PartySubIdOrType element.
2327
+
2328
+ - BUSINESS - A specific Business (for example, an organization or a
2329
+ company)
2330
+
2331
+ is used as reference to a participant. The BUSINESS identifier can be in
2332
+ any
2333
+
2334
+ format. To make a transaction connected to a specific username or bill
2335
+ number
2336
+
2337
+ in a Business, the PartySubIdOrType element should be used.
2338
+
2339
+ - DEVICE - A specific device (for example, a POS or ATM) ID connected to
2340
+ a
2341
+
2342
+ specific business or organization is used as reference to a Party.
2343
+
2344
+ For referencing a specific device under a specific business or
2345
+ organization,
2346
+
2347
+ use the PartySubIdOrType element.
2348
+
2349
+ - ACCOUNT_ID - A bank account number or FSP account ID should be used as
2350
+
2351
+ reference to a participant. The ACCOUNT_ID identifier can be in any
2352
+ format,
2353
+
2354
+ as formats can greatly differ depending on country and FSP.
2355
+
2356
+ - IBAN - A bank account number or FSP account ID is used as reference to
2357
+ a
2358
+
2359
+ participant. The IBAN identifier can consist of up to 34 alphanumeric
2360
+
2361
+ characters and should be entered without whitespace.
2362
+
2363
+ - ALIAS An alias is used as reference to a participant. The alias should
2364
+ be
2365
+
2366
+ created in the FSP as an alternative reference to an account owner.
2367
+
2368
+ Another example of an alias is a username in the FSP system.
2369
+
2370
+ The ALIAS identifier can be in any format. It is also possible to use
2371
+ the
2372
+
2373
+ PartySubIdOrType element for identifying an account under an Alias
2374
+ defined
2375
+
2376
+ by the PartyIdentifier.
2377
+
2378
+ - CONSENT - TBD
2379
+
2380
+ - THIRD_PARTY_LINK - TBD
2381
+ enum: *ref_49
2382
+ example: PERSONAL_ID
2383
+ title: PartyIdType
2384
+ type: string
2385
+ PartyIdentifier:
2386
+ description: Identifier of the Party.
2387
+ example: '16135551212'
2388
+ maxLength: 128
2389
+ minLength: 1
2390
+ title: PartyIdentifier
2391
+ type: string
2392
+ PartyName:
2393
+ description: Name of the Party. Could be a real name or a nickname.
2394
+ maxLength: 128
2395
+ minLength: 1
2396
+ title: PartyName
2397
+ type: string
2398
+ PartyPersonalInfo:
2399
+ description: Data model for the complex type PartyPersonalInfo.
2400
+ properties: *ref_50
2401
+ title: PartyPersonalInfo
2402
+ type: object
2403
+ PartySubIdOrType:
2404
+ description: >-
2405
+ Either a sub-identifier of a PartyIdentifier, or a sub-type of the
2406
+ PartyIdType, normally a PersonalIdentifierType.
2407
+ maxLength: 128
2408
+ minLength: 1
2409
+ title: PartySubIdOrType
2410
+ type: string
2411
+ amountCurrency:
2412
+ description: Object containing Amount and Currency of the transfer.
2413
+ properties: *ref_51
2414
+ required: *ref_52
2415
+ type: object
2416
+ amountType:
2417
+ enum: *ref_8
2418
+ type: string
2419
+ bulkQuoteId:
2420
+ description: A Mojaloop API bulk quote identifier (UUID).
2421
+ pattern: >-
2422
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2423
+ type: string
2424
+ bulkQuoteRequest:
2425
+ description: A request for a bulk quote.
2426
+ properties: *ref_53
2427
+ required: *ref_54
2428
+ type: object
2429
+ bulkQuoteResponse:
2430
+ description: A response to a request for a bulk quote.
2431
+ properties: *ref_4
2432
+ required: *ref_5
2433
+ type: object
2434
+ bulkTransferId:
2435
+ description: A Mojaloop API transfer identifier (UUID).
2436
+ pattern: >-
2437
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2438
+ type: string
2439
+ bulkTransferRequest:
2440
+ properties: *ref_55
2441
+ required: *ref_56
2442
+ type: object
2443
+ bulkTransferResponse:
2444
+ properties: *ref_14
2445
+ required: *ref_15
2446
+ type: object
2447
+ currency:
2448
+ enum: *ref_0
2449
+ maxLength: 3
2450
+ minLength: 3
2451
+ type: string
2452
+ dateOfBirth:
2453
+ description: Date of birth in the form YYYY-MM-DD.
2454
+ pattern: >-
2455
+ ^(?:[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)$
2456
+ type: string
2457
+ errorCode:
2458
+ description: >
2459
+ The API data type errorCode is a JSON String of four characters,
2460
+ consisting of digits only. Negative numbers are not allowed. A leading
2461
+ zero is not allowed. Each error code in the API is a four-digit number,
2462
+ for example, 1234, where the first number (1 in the example) represents
2463
+ the high-level error category, the second number (2 in the example)
2464
+ represents the low-level error category, and the last two numbers (34 in
2465
+ the example) represents the specific error.
2466
+ pattern: ^[1-9]\d{3}$
2467
+ title: ErrorCode
2468
+ type: string
2469
+ errorDescription:
2470
+ description: Error description string.
2471
+ maxLength: 128
2472
+ minLength: 1
2473
+ title: ErrorDescription
2474
+ type: string
2475
+ errorInformation:
2476
+ description: A Mojaloop API error information construct.
2477
+ properties: *ref_57
2478
+ required: *ref_58
2479
+ title: ErrorInformation
2480
+ type: object
2481
+ errorResponse:
2482
+ properties: *ref_3
2483
+ type: object
2484
+ extensionItem:
2485
+ properties: *ref_29
2486
+ type: object
2487
+ extensionList:
2488
+ items: *ref_12
2489
+ maxItems: 16
2490
+ minItems: 0
2491
+ type: array
2492
+ extensionListComplex:
2493
+ description: Data model for the complex type ExtensionList.
2494
+ properties: *ref_59
2495
+ required: *ref_60
2496
+ type: object
2497
+ fspId:
2498
+ description: FSP identifier.
2499
+ maxLength: 32
2500
+ minLength: 1
2501
+ type: string
2502
+ fulfilNotification:
2503
+ description: PUT /transfers/{transferId} object.
2504
+ properties: *ref_61
2505
+ title: TransfersIDPatchResponse
2506
+ type: object
2507
+ generalError:
2508
+ description: >-
2509
+ This object may represent a number of different error object types and
2510
+ so its properties may vary significantly.
2511
+ type: object
2512
+ geoCode:
2513
+ description: >-
2514
+ Indicates the geographic location from where the transaction was
2515
+ initiated.
2516
+ properties: *ref_19
2517
+ required: *ref_20
2518
+ type: object
2519
+ idSubValue:
2520
+ maxLength: 128
2521
+ minLength: 1
2522
+ type: string
2523
+ idType:
2524
+ enum: *ref_21
2525
+ type: string
2526
+ idValue:
2527
+ description: Identifier of the party.
2528
+ maxLength: 128
2529
+ minLength: 1
2530
+ type: string
2531
+ ilpFulfilment:
2532
+ description: Fulfilment that must be attached to the transfer by the Payee.
2533
+ example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
2534
+ maxLength: 48
2535
+ pattern: ^[A-Za-z0-9-_]{43}$
2536
+ title: ilpFulfilment
2537
+ type: string
2538
+ ilpPacketData:
2539
+ description: Object containing transfer object.
2540
+ properties: *ref_62
2541
+ required: *ref_63
2542
+ type: object
2543
+ initiator:
2544
+ enum: *ref_9
2545
+ type: string
2546
+ initiatorType:
2547
+ enum: *ref_10
2548
+ type: string
2549
+ latitude:
2550
+ description: >-
2551
+ The API data type Latitude is a JSON String in a lexical format that is
2552
+ restricted by a regular expression for interoperability reasons.
2553
+ pattern: >-
2554
+ ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$
2555
+ type: string
2556
+ longitude:
2557
+ description: >-
2558
+ The API data type Longitude is a JSON String in a lexical format that is
2559
+ restricted by a regular expression for interoperability reasons.
2560
+ pattern: >-
2561
+ ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
2562
+ type: string
2563
+ mojaloopError:
2564
+ properties: *ref_64
2565
+ type: object
2566
+ money:
2567
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
2568
+ type: string
2569
+ otpDetails:
2570
+ properties: *ref_65
2571
+ required: *ref_66
2572
+ type: object
2573
+ participantsResponse:
2574
+ properties: *ref_17
2575
+ type: object
2576
+ payerType:
2577
+ enum: *ref_22
2578
+ type: string
2579
+ quoteId:
2580
+ description: A Mojaloop API quote identifier (UUID).
2581
+ pattern: >-
2582
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2583
+ type: string
2584
+ quoteRequest:
2585
+ description: A request for a quote for transfer from the DFSP backend.
2586
+ properties: *ref_67
2587
+ required: *ref_68
2588
+ type: object
2589
+ quoteResponse:
2590
+ description: A response to a request for a quote.
2591
+ properties: *ref_25
2592
+ required: *ref_26
2593
+ type: object
2594
+ scenario:
2595
+ enum: *ref_69
2596
+ type: string
2597
+ timestamp:
2598
+ description: An ISO-8601 formatted timestamp.
2599
+ pattern: >-
2600
+ ^(?:[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)$
2601
+ type: string
2602
+ transactionId:
2603
+ description: >-
2604
+ ID of the transaction, the ID is decided by the Payer FSP during the
2605
+ creation of the quote.
2606
+ pattern: >-
2607
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2608
+ type: string
2609
+ transactionRequest:
2610
+ description: A request for a pull based transfer.
2611
+ properties: *ref_70
2612
+ required: *ref_71
2613
+ type: object
2614
+ transactionRequestId:
2615
+ description: A Mojaloop API transaction request identifier (UUID).
2616
+ pattern: >-
2617
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2618
+ type: string
2619
+ transactionRequestResponse:
2620
+ description: A response to a request for a quote.
2621
+ properties: *ref_72
2622
+ required: *ref_73
2623
+ type: object
2624
+ transactionRequestState:
2625
+ enum: *ref_74
2626
+ type: string
2627
+ transactionType:
2628
+ enum: *ref_11
2629
+ type: string
2630
+ transactionTypeObject:
2631
+ description: Object containing transfer object.
2632
+ properties: *ref_75
2633
+ required: *ref_76
2634
+ type: object
2635
+ transferDetailsResponse:
2636
+ properties: *ref_77
2637
+ required: *ref_78
2638
+ type: object
2639
+ transferError:
2640
+ description: >-
2641
+ This object represents a Mojaloop API error received at any time during
2642
+ the transfer process.
2643
+ properties: *ref_79
2644
+ type: object
2645
+ transferId:
2646
+ description: A Mojaloop API transfer identifier (UUID).
2647
+ pattern: >-
2648
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2649
+ type: string
2650
+ transferParty:
2651
+ properties: *ref_1
2652
+ required: *ref_2
2653
+ type: object
2654
+ transferRequest:
2655
+ properties: *ref_80
2656
+ required: *ref_81
2657
+ type: object
2658
+ transferResponse:
2659
+ properties: *ref_82
2660
+ required: *ref_83
2661
+ type: object
2662
+ transferState:
2663
+ description: >
2664
+ Below are the allowed values for the enumeration - RECEIVED DFSP has
2665
+ received the transfer. - RESERVED DFSP has reserved the transfer. -
2666
+ COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP
2667
+ has aborted the transfer due a rejection or failure to perform the
2668
+ transfer.
2669
+ enum: *ref_27
2670
+ type: string
2671
+ transferStatus:
2672
+ enum: *ref_84
2673
+ type: string