@mojaloop/api-snippets 17.0.1 → 17.0.2-snapshot.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.
@@ -39,7 +39,7 @@ paths:
39
39
  application/json:
40
40
  schema:
41
41
  description: A request for a bulk quote.
42
- properties: &ref_53
42
+ properties: &ref_47
43
43
  bulkQuoteId:
44
44
  description: A Mojaloop API bulk quote identifier (UUID).
45
45
  pattern: >-
@@ -61,8 +61,8 @@ paths:
61
61
  description: Display name of the sender, if known.
62
62
  type: string
63
63
  extensionList:
64
- items: &ref_12
65
- properties: &ref_29
64
+ items: &ref_17
65
+ properties: &ref_51
66
66
  key:
67
67
  maxLength: 32
68
68
  minLength: 1
@@ -88,7 +88,7 @@ paths:
88
88
  minLength: 1
89
89
  type: string
90
90
  idType:
91
- enum: &ref_21
91
+ enum: &ref_55
92
92
  - MSISDN
93
93
  - ACCOUNT_NO
94
94
  - EMAIL
@@ -114,7 +114,7 @@ paths:
114
114
  description: Party middle name.
115
115
  type: string
116
116
  type:
117
- enum: &ref_22
117
+ enum: &ref_60
118
118
  - CONSUMER
119
119
  - AGENT
120
120
  - BUSINESS
@@ -128,7 +128,7 @@ paths:
128
128
  description: >-
129
129
  Indicates the geographic location from where the transaction
130
130
  was initiated.
131
- properties: &ref_19
131
+ properties: &ref_24
132
132
  latitude:
133
133
  description: >-
134
134
  The API data type Latitude is a JSON String in a lexical
@@ -145,19 +145,19 @@ paths:
145
145
  pattern: >-
146
146
  ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
147
147
  type: string
148
- required: &ref_20
148
+ required: &ref_25
149
149
  - latitude
150
150
  - longitude
151
151
  type: object
152
152
  individualQuotes:
153
153
  items:
154
154
  description: Data model for individual quote in a bulk quote request.
155
- properties: &ref_36
155
+ properties: &ref_35
156
156
  amount:
157
157
  pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
158
158
  type: string
159
159
  amountType:
160
- enum: &ref_8
160
+ enum: &ref_13
161
161
  - SEND
162
162
  - RECEIVE
163
163
  type: string
@@ -339,12 +339,12 @@ paths:
339
339
  minLength: 3
340
340
  type: string
341
341
  initiator:
342
- enum: &ref_9
342
+ enum: &ref_14
343
343
  - PAYER
344
344
  - PAYEE
345
345
  type: string
346
346
  initiatorType:
347
- enum: &ref_10
347
+ enum: &ref_15
348
348
  - CONSUMER
349
349
  - AGENT
350
350
  - BUSINESS
@@ -360,6 +360,15 @@ paths:
360
360
  pattern: >-
361
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
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
363
372
  to:
364
373
  properties: *ref_1
365
374
  required: *ref_2
@@ -372,12 +381,12 @@ paths:
372
381
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
373
382
  type: string
374
383
  transactionType:
375
- enum: &ref_11
384
+ enum: &ref_16
376
385
  - TRANSFER
377
386
  - DEPOSIT
378
387
  - PAYMENT
379
388
  type: string
380
- required: &ref_37
389
+ required: &ref_36
381
390
  - quoteId
382
391
  - transactionId
383
392
  - to
@@ -391,7 +400,7 @@ paths:
391
400
  maxItems: 1000
392
401
  minItems: 1
393
402
  type: array
394
- required: &ref_54
403
+ required: &ref_48
395
404
  - bulkQuoteId
396
405
  - from
397
406
  - individualQuotes
@@ -423,7 +432,7 @@ paths:
423
432
  - description: >-
424
433
  Data model for successful individual quote in a bulk
425
434
  quote response.
426
- properties: &ref_40
435
+ properties: &ref_39
427
436
  payeeFspCommissionAmount:
428
437
  pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
429
438
  type: string
@@ -461,13 +470,13 @@ paths:
461
470
  maxLength: 3
462
471
  minLength: 3
463
472
  type: string
464
- required: &ref_41
473
+ required: &ref_40
465
474
  - quoteId
466
475
  type: object
467
476
  - description: >-
468
477
  Data model for failed individual quote in a bulk
469
478
  quote response.
470
- properties: &ref_38
479
+ properties: &ref_37
471
480
  errorResponse:
472
481
  properties: &ref_3
473
482
  message:
@@ -490,7 +499,7 @@ paths:
490
499
  pattern: >-
491
500
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
492
501
  type: string
493
- required: &ref_39
502
+ required: &ref_38
494
503
  - quoteId
495
504
  - errorResponse
496
505
  type: object
@@ -527,7 +536,7 @@ paths:
527
536
  in: path
528
537
  name: idValue
529
538
  required: true
530
- schema: &ref_13
539
+ schema: &ref_18
531
540
  type: string
532
541
  responses:
533
542
  '200':
@@ -565,11 +574,14 @@ paths:
565
574
  `bulkTransactionId` that was used for the creation of the bulk transfer.
566
575
  operationId: BackendBulkTransactionsPut
567
576
  parameters:
568
- - description: Identifier of the bulk transaction to continue as returned in.
577
+ - name: bulkTransactionId
569
578
  in: path
570
- name: bulkTransactionId
571
579
  required: true
572
- schema: &ref_30
580
+ schema: &ref_34
581
+ title: CorrelationId
582
+ type: string
583
+ pattern: >-
584
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
573
585
  description: >-
574
586
  Identifier that correlates all messages of the same sequence. The
575
587
  API data type UUID (Universally Unique Identifier) is a JSON
@@ -579,36 +591,364 @@ paths:
579
591
  always 36 characters long, 32 hexadecimal symbols and 4 dashes
580
592
  (‘-‘).
581
593
  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
594
+ description: >-
595
+ Identifier of the bulk transaction to continue as returned in the
596
+ response to a `POST /bulkTransaction` request.
586
597
  requestBody:
587
598
  content:
588
599
  application/json:
589
600
  schema:
590
- properties:
601
+ title: BulkTransactionResponse
602
+ type: object
603
+ required: &ref_107
604
+ - bulkHomeTransactionID
605
+ - bulkTransactionId
606
+ - currentState
607
+ - individualTransferResults
608
+ properties: &ref_108
591
609
  bulkHomeTransactionID:
610
+ type: string
592
611
  description: >-
593
612
  Transaction ID from the DFSP backend, used to reconcile
594
613
  transactions between the Switch and DFSP backend systems.
614
+ bulkTransactionId:
615
+ title: CorrelationId
595
616
  type: string
617
+ pattern: >-
618
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
619
+ description: >-
620
+ Identifier that correlates all messages of the same
621
+ sequence. The API data type UUID (Universally Unique
622
+ Identifier) is a JSON String in canonical format, conforming
623
+ to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is
624
+ restricted by a regular expression for interoperability
625
+ reasons. A UUID is always 36 characters long, 32 hexadecimal
626
+ symbols and 4 dashes (‘-‘).
627
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
628
+ currentState:
629
+ type: string
630
+ enum: &ref_78
631
+ - ERROR_OCCURRED
632
+ - WAITING_FOR_PARTY_ACCEPTANCE
633
+ - WAITING_FOR_QUOTE_ACCEPTANCE
634
+ - COMPLETED
635
+ options:
636
+ type: object
637
+ required: &ref_85
638
+ - autoAcceptParty
639
+ - autoAcceptQuote
640
+ - bulkExpiration
641
+ properties: &ref_86
642
+ onlyValidateParty:
643
+ description: >-
644
+ Set to true if only party validation is required. This
645
+ means the quotes and transfers will not run. This is
646
+ useful for only party resolution.
647
+ type: boolean
648
+ autoAcceptParty:
649
+ type: object
650
+ required: &ref_79
651
+ - enabled
652
+ properties: &ref_80
653
+ enabled:
654
+ type: boolean
655
+ enum:
656
+ - false
657
+ - true
658
+ autoAcceptQuote:
659
+ description: >-
660
+ Set to true if the quote response is accepted without
661
+ confirmation from the payer. The fees applied by the
662
+ payee will be acceptable to the payer abiding by the
663
+ limits set by optional 'perTransferFeeLimits' array.
664
+ type: object
665
+ oneOf:
666
+ - type: object
667
+ required: &ref_83
668
+ - enabled
669
+ properties: &ref_84
670
+ enabled:
671
+ type: boolean
672
+ enum:
673
+ - true
674
+ - false
675
+ perTransferFeeLimits:
676
+ type: array
677
+ minItems: 0
678
+ items:
679
+ type: object
680
+ required: &ref_81
681
+ - currency
682
+ - amount
683
+ properties: &ref_82
684
+ currency:
685
+ title: Currency
686
+ description: >-
687
+ The currency codes defined in [ISO
688
+ 4217](https://www.iso.org/iso-4217-currency-codes.html)
689
+ as three-letter alphabetic codes are used
690
+ as the standard naming representation for
691
+ currencies.
692
+ type: string
693
+ minLength: 3
694
+ maxLength: 3
695
+ enum: &ref_8
696
+ - AED
697
+ - AFN
698
+ - ALL
699
+ - AMD
700
+ - ANG
701
+ - AOA
702
+ - ARS
703
+ - AUD
704
+ - AWG
705
+ - AZN
706
+ - BAM
707
+ - BBD
708
+ - BDT
709
+ - BGN
710
+ - BHD
711
+ - BIF
712
+ - BMD
713
+ - BND
714
+ - BOB
715
+ - BRL
716
+ - BSD
717
+ - BTN
718
+ - BWP
719
+ - BYN
720
+ - BZD
721
+ - CAD
722
+ - CDF
723
+ - CHF
724
+ - CLP
725
+ - CNY
726
+ - COP
727
+ - CRC
728
+ - CUC
729
+ - CUP
730
+ - CVE
731
+ - CZK
732
+ - DJF
733
+ - DKK
734
+ - DOP
735
+ - DZD
736
+ - EGP
737
+ - ERN
738
+ - ETB
739
+ - EUR
740
+ - FJD
741
+ - FKP
742
+ - GBP
743
+ - GEL
744
+ - GGP
745
+ - GHS
746
+ - GIP
747
+ - GMD
748
+ - GNF
749
+ - GTQ
750
+ - GYD
751
+ - HKD
752
+ - HNL
753
+ - HRK
754
+ - HTG
755
+ - HUF
756
+ - IDR
757
+ - ILS
758
+ - IMP
759
+ - INR
760
+ - IQD
761
+ - IRR
762
+ - ISK
763
+ - JEP
764
+ - JMD
765
+ - JOD
766
+ - JPY
767
+ - KES
768
+ - KGS
769
+ - KHR
770
+ - KMF
771
+ - KPW
772
+ - KRW
773
+ - KWD
774
+ - KYD
775
+ - KZT
776
+ - LAK
777
+ - LBP
778
+ - LKR
779
+ - LRD
780
+ - LSL
781
+ - LYD
782
+ - MAD
783
+ - MDL
784
+ - MGA
785
+ - MKD
786
+ - MMK
787
+ - MNT
788
+ - MOP
789
+ - MRO
790
+ - MUR
791
+ - MVR
792
+ - MWK
793
+ - MXN
794
+ - MYR
795
+ - MZN
796
+ - NAD
797
+ - NGN
798
+ - NIO
799
+ - NOK
800
+ - NPR
801
+ - NZD
802
+ - OMR
803
+ - PAB
804
+ - PEN
805
+ - PGK
806
+ - PHP
807
+ - PKR
808
+ - PLN
809
+ - PYG
810
+ - QAR
811
+ - RON
812
+ - RSD
813
+ - RUB
814
+ - RWF
815
+ - SAR
816
+ - SBD
817
+ - SCR
818
+ - SDG
819
+ - SEK
820
+ - SGD
821
+ - SHP
822
+ - SLL
823
+ - SOS
824
+ - SPL
825
+ - SRD
826
+ - STD
827
+ - SVC
828
+ - SYP
829
+ - SZL
830
+ - THB
831
+ - TJS
832
+ - TMT
833
+ - TND
834
+ - TOP
835
+ - TRY
836
+ - TTD
837
+ - TVD
838
+ - TWD
839
+ - TZS
840
+ - UAH
841
+ - UGX
842
+ - USD
843
+ - UYU
844
+ - UZS
845
+ - VEF
846
+ - VND
847
+ - VUV
848
+ - WST
849
+ - XAF
850
+ - XCD
851
+ - XDR
852
+ - XOF
853
+ - XPF
854
+ - XTS
855
+ - XXX
856
+ - YER
857
+ - ZAR
858
+ - ZMW
859
+ - ZWD
860
+ amount:
861
+ title: Amount
862
+ type: string
863
+ pattern: >-
864
+ ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
865
+ description: >-
866
+ The API data type Amount is a JSON String
867
+ in a canonical format that is restricted
868
+ by a regular expression for
869
+ interoperability reasons. This pattern
870
+ does not allow any trailing zeroes at all,
871
+ but allows an amount without a minor
872
+ currency unit. It also only allows four
873
+ digits in the minor currency unit; a
874
+ negative value is not allowed. Using more
875
+ than 18 digits in the major currency unit
876
+ is not allowed.
877
+ example: '123.45'
878
+ skipPartyLookup:
879
+ description: >-
880
+ Set to true if supplying an FSPID for the payee party
881
+ and no party resolution is needed. This may be useful if
882
+ a previous party resolution has been performed.
883
+ type: boolean
884
+ synchronous:
885
+ description: >-
886
+ Set to true if the bulkTransfer requests need be handled
887
+ synchronous. Otherwise the requests will be handled
888
+ asynchronously, meaning there will be callbacks
889
+ whenever the processing is done
890
+ type: boolean
891
+ bulkExpiration:
892
+ title: DateTime
893
+ type: string
894
+ pattern: >-
895
+ ^(?:[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)$
896
+ description: >-
897
+ The API data type DateTime is a JSON String in a lexical
898
+ format that is restricted by a regular expression for
899
+ interoperability reasons. The format is according to
900
+ [ISO
901
+ 8601](https://www.iso.org/iso-8601-date-and-time-format.html),
902
+ expressed in a combined date, time and time zone format.
903
+ A more readable version of the format is
904
+ yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are
905
+ "2016-05-24T08:38:08.699-04:00",
906
+ "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time
907
+ zone, same as UTC).
908
+ example: '2016-05-24T08:38:08.699-04:00'
596
909
  individualTransferResults:
597
910
  description: >-
598
- List of individual transfers in a bulk transfer with accept
599
- party information.
911
+ List of individual transfer result in a bulk transfer
912
+ response.
913
+ type: array
914
+ minItems: 1
600
915
  items:
601
- description: >-
602
- Data model for the 'individualTransfer' while accepting
603
- party or quote.
604
- properties:
916
+ type: object
917
+ required: &ref_105
918
+ - homeTransactionId
919
+ - transferId
920
+ - to
921
+ - amountType
922
+ - currency
923
+ - amount
924
+ properties: &ref_106
925
+ transferId:
926
+ title: CorrelationId
927
+ type: string
928
+ pattern: >-
929
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
930
+ description: >-
931
+ Identifier that correlates all messages of the same
932
+ sequence. The API data type UUID (Universally Unique
933
+ Identifier) is a JSON String in canonical format,
934
+ conforming to [RFC
935
+ 4122](https://tools.ietf.org/html/rfc4122), that is
936
+ restricted by a regular expression for
937
+ interoperability reasons. A UUID is always 36
938
+ characters long, 32 hexadecimal symbols and 4 dashes
939
+ (‘-‘).
940
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
605
941
  homeTransactionId:
942
+ type: string
606
943
  description: >-
607
944
  Transaction ID from the DFSP backend, used to
608
945
  reconcile transactions between the Switch and DFSP
609
946
  backend systems.
610
- type: string
611
947
  transactionId:
948
+ title: CorrelationId
949
+ type: string
950
+ pattern: >-
951
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
612
952
  description: >-
613
953
  Identifier that correlates all messages of the same
614
954
  sequence. The API data type UUID (Universally Unique
@@ -620,21 +960,593 @@ paths:
620
960
  characters long, 32 hexadecimal symbols and 4 dashes
621
961
  (‘-‘).
622
962
  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}$
963
+ to:
964
+ title: Party
965
+ type: object
966
+ description: Data model for the complex type Party.
967
+ properties: &ref_26
968
+ partyIdInfo:
969
+ title: PartyIdInfo
970
+ type: object
971
+ description: >-
972
+ Data model for the complex type PartyIdInfo. An
973
+ ExtensionList element has been added to this
974
+ reqeust in version v1.1
975
+ properties: &ref_90
976
+ partyIdType:
977
+ title: PartyIdType
978
+ type: string
979
+ enum: &ref_87
980
+ - MSISDN
981
+ - EMAIL
982
+ - PERSONAL_ID
983
+ - BUSINESS
984
+ - DEVICE
985
+ - ACCOUNT_ID
986
+ - IBAN
987
+ - ALIAS
988
+ description: >-
989
+ Below are the allowed values for the
990
+ enumeration.
991
+
992
+ - MSISDN - An MSISDN (Mobile Station
993
+ International Subscriber Directory Number,
994
+ that is, the phone number) is used as
995
+ reference to a participant. The MSISDN
996
+ identifier should be in international format
997
+ according to the [ITU-T E.164
998
+ standard](https://www.itu.int/rec/T-REC-E.164/en).
999
+ Optionally, the MSISDN may be prefixed by a
1000
+ single plus sign, indicating the international
1001
+ prefix.
1002
+
1003
+ - EMAIL - An email is used as reference to a
1004
+ participant. The format of the email should be
1005
+ according to the informational [RFC
1006
+ 3696](https://tools.ietf.org/html/rfc3696).
1007
+
1008
+ - PERSONAL_ID - A personal identifier is used
1009
+ as reference to a participant. Examples of
1010
+ personal identification are passport number,
1011
+ birth certificate number, and national
1012
+ registration number. The identifier number is
1013
+ added in the PartyIdentifier element. The
1014
+ personal identifier type is added in the
1015
+ PartySubIdOrType element.
1016
+
1017
+ - BUSINESS - A specific Business (for example,
1018
+ an organization or a company) is used as
1019
+ reference to a participant. The BUSINESS
1020
+ identifier can be in any format. To make a
1021
+ transaction connected to a specific username
1022
+ or bill number in a Business, the
1023
+ PartySubIdOrType element should be used.
1024
+
1025
+ - DEVICE - A specific device (for example, a
1026
+ POS or ATM) ID connected to a specific
1027
+ business or organization is used as reference
1028
+ to a Party. For referencing a specific device
1029
+ under a specific business or organization, use
1030
+ the PartySubIdOrType element.
1031
+
1032
+ - ACCOUNT_ID - A bank account number or FSP
1033
+ account ID should be used as reference to a
1034
+ participant. The ACCOUNT_ID identifier can be
1035
+ in any format, as formats can greatly differ
1036
+ depending on country and FSP.
1037
+
1038
+ - IBAN - A bank account number or FSP account
1039
+ ID is used as reference to a participant. The
1040
+ IBAN identifier can consist of up to 34
1041
+ alphanumeric characters and should be entered
1042
+ without whitespace.
1043
+
1044
+ - ALIAS An alias is used as reference to a
1045
+ participant. The alias should be created in
1046
+ the FSP as an alternative reference to an
1047
+ account owner. Another example of an alias is
1048
+ a username in the FSP system. The ALIAS
1049
+ identifier can be in any format. It is also
1050
+ possible to use the PartySubIdOrType element
1051
+ for identifying an account under an Alias
1052
+ defined by the PartyIdentifier.
1053
+ partyIdentifier:
1054
+ title: PartyIdentifier
1055
+ type: string
1056
+ minLength: 1
1057
+ maxLength: 128
1058
+ description: Identifier of the Party.
1059
+ example: '16135551212'
1060
+ partySubIdOrType:
1061
+ title: PartySubIdOrType
1062
+ type: string
1063
+ minLength: 1
1064
+ maxLength: 128
1065
+ description: >-
1066
+ Either a sub-identifier of a PartyIdentifier,
1067
+ or a sub-type of the PartyIdType, normally a
1068
+ PersonalIdentifierType.
1069
+ fspId:
1070
+ title: FspId
1071
+ type: string
1072
+ minLength: 1
1073
+ maxLength: 32
1074
+ description: FSP identifier.
1075
+ extensionList:
1076
+ title: ExtensionList
1077
+ type: object
1078
+ description: >-
1079
+ Data model for the complex type ExtensionList.
1080
+ An optional list of extensions, specific to
1081
+ deployment.
1082
+ properties: &ref_11
1083
+ extension:
1084
+ type: array
1085
+ items:
1086
+ title: Extension
1087
+ type: object
1088
+ description: >-
1089
+ Data model for the complex type
1090
+ Extension.
1091
+ properties: &ref_88
1092
+ key:
1093
+ title: ExtensionKey
1094
+ type: string
1095
+ minLength: 1
1096
+ maxLength: 32
1097
+ description: Extension key.
1098
+ value:
1099
+ title: ExtensionValue
1100
+ type: string
1101
+ minLength: 1
1102
+ maxLength: 128
1103
+ description: Extension value.
1104
+ required: &ref_89
1105
+ - key
1106
+ - value
1107
+ minItems: 1
1108
+ maxItems: 16
1109
+ description: Number of Extension elements.
1110
+ required: &ref_12
1111
+ - extension
1112
+ required: &ref_91
1113
+ - partyIdType
1114
+ - partyIdentifier
1115
+ merchantClassificationCode:
1116
+ title: MerchantClassificationCode
1117
+ type: string
1118
+ pattern: ^[\d]{1,4}$
1119
+ description: >-
1120
+ A limited set of pre-defined numbers. This list
1121
+ would be a limited set of numbers identifying a
1122
+ set of popular merchant types like School Fees,
1123
+ Pubs and Restaurants, Groceries, etc.
1124
+ name:
1125
+ title: PartyName
1126
+ type: string
1127
+ minLength: 1
1128
+ maxLength: 128
1129
+ description: >-
1130
+ Name of the Party. Could be a real name or a
1131
+ nickname.
1132
+ personalInfo:
1133
+ title: PartyPersonalInfo
1134
+ type: object
1135
+ description: Data model for the complex type PartyPersonalInfo.
1136
+ properties: &ref_93
1137
+ complexName:
1138
+ title: PartyComplexName
1139
+ type: object
1140
+ description: >-
1141
+ Data model for the complex type
1142
+ PartyComplexName.
1143
+ properties: &ref_92
1144
+ firstName:
1145
+ title: FirstName
1146
+ type: string
1147
+ minLength: 1
1148
+ maxLength: 128
1149
+ pattern: >-
1150
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
1151
+ .,''-]{1,128}$
1152
+ description: First name of the Party (Name Type).
1153
+ example: Henrik
1154
+ middleName:
1155
+ title: MiddleName
1156
+ type: string
1157
+ minLength: 1
1158
+ maxLength: 128
1159
+ pattern: >-
1160
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
1161
+ .,''-]{1,128}$
1162
+ description: Middle name of the Party (Name Type).
1163
+ example: Johannes
1164
+ lastName:
1165
+ title: LastName
1166
+ type: string
1167
+ minLength: 1
1168
+ maxLength: 128
1169
+ pattern: >-
1170
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
1171
+ .,''-]{1,128}$
1172
+ description: Last name of the Party (Name Type).
1173
+ example: Karlsson
1174
+ dateOfBirth:
1175
+ title: DateofBirth (type Date)
1176
+ type: string
1177
+ pattern: >-
1178
+ ^(?:[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)$
1179
+ description: Date of Birth of the Party.
1180
+ example: '1966-06-16'
1181
+ required: &ref_27
1182
+ - partyIdInfo
1183
+ reference:
1184
+ description: Payer Loan reference
1185
+ type: string
1186
+ amountType:
1187
+ title: AmountType
1188
+ type: string
1189
+ enum: &ref_94
1190
+ - SEND
1191
+ - RECEIVE
1192
+ description: >-
1193
+ Below are the allowed values for the enumeration
1194
+ AmountType.
1195
+
1196
+ - SEND - Amount the Payer would like to send, that is,
1197
+ the amount that should be withdrawn from the Payer
1198
+ account including any fees.
1199
+
1200
+ - RECEIVE - Amount the Payer would like the Payee to
1201
+ receive, that is, the amount that should be sent to
1202
+ the receiver exclusive of any fees.
1203
+ example: RECEIVE
1204
+ currency:
1205
+ title: Currency
1206
+ description: >-
1207
+ The currency codes defined in [ISO
1208
+ 4217](https://www.iso.org/iso-4217-currency-codes.html)
1209
+ as three-letter alphabetic codes are used as the
1210
+ standard naming representation for currencies.
1211
+ type: string
1212
+ minLength: 3
1213
+ maxLength: 3
1214
+ enum: *ref_8
1215
+ amount:
1216
+ title: Amount
1217
+ type: string
1218
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1219
+ description: >-
1220
+ The API data type Amount is a JSON String in a
1221
+ canonical format that is restricted by a regular
1222
+ expression for interoperability reasons. This pattern
1223
+ does not allow any trailing zeroes at all, but allows
1224
+ an amount without a minor currency unit. It also only
1225
+ allows four digits in the minor currency unit; a
1226
+ negative value is not allowed. Using more than 18
1227
+ digits in the major currency unit is not allowed.
1228
+ example: '123.45'
1229
+ note:
1230
+ title: Note
1231
+ type: string
1232
+ minLength: 1
1233
+ maxLength: 128
1234
+ description: Memo assigned to transaction.
1235
+ example: Note sent to Payee.
1236
+ quoteId:
625
1237
  title: CorrelationId
626
1238
  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
1239
+ pattern: >-
1240
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1241
+ description: >-
1242
+ Identifier that correlates all messages of the same
1243
+ sequence. The API data type UUID (Universally Unique
1244
+ Identifier) is a JSON String in canonical format,
1245
+ conforming to [RFC
1246
+ 4122](https://tools.ietf.org/html/rfc4122), that is
1247
+ restricted by a regular expression for
1248
+ interoperability reasons. A UUID is always 36
1249
+ characters long, 32 hexadecimal symbols and 4 dashes
1250
+ (‘-‘).
1251
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
1252
+ quoteResponse:
1253
+ title: QuotesIDPutResponse
1254
+ type: object
1255
+ description: The object sent in the PUT /quotes/{ID} callback.
1256
+ properties: &ref_97
1257
+ transferAmount:
1258
+ title: Money
1259
+ type: object
1260
+ description: Data model for the complex type Money.
1261
+ properties: &ref_9
1262
+ currency:
1263
+ title: Currency
1264
+ description: >-
1265
+ The currency codes defined in [ISO
1266
+ 4217](https://www.iso.org/iso-4217-currency-codes.html)
1267
+ as three-letter alphabetic codes are used as
1268
+ the standard naming representation for
1269
+ currencies.
1270
+ type: string
1271
+ minLength: 3
1272
+ maxLength: 3
1273
+ enum: *ref_8
1274
+ amount:
1275
+ title: Amount
1276
+ type: string
1277
+ pattern: >-
1278
+ ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1279
+ description: >-
1280
+ The API data type Amount is a JSON String in a
1281
+ canonical format that is restricted by a
1282
+ regular expression for interoperability
1283
+ reasons. This pattern does not allow any
1284
+ trailing zeroes at all, but allows an amount
1285
+ without a minor currency unit. It also only
1286
+ allows four digits in the minor currency unit;
1287
+ a negative value is not allowed. Using more
1288
+ than 18 digits in the major currency unit is
1289
+ not allowed.
1290
+ example: '123.45'
1291
+ required: &ref_10
1292
+ - currency
1293
+ - amount
1294
+ payeeReceiveAmount:
1295
+ title: Money
1296
+ type: object
1297
+ description: Data model for the complex type Money.
1298
+ properties: *ref_9
1299
+ required: *ref_10
1300
+ payeeFspFee:
1301
+ title: Money
1302
+ type: object
1303
+ description: Data model for the complex type Money.
1304
+ properties: *ref_9
1305
+ required: *ref_10
1306
+ payeeFspCommission:
1307
+ title: Money
1308
+ type: object
1309
+ description: Data model for the complex type Money.
1310
+ properties: *ref_9
1311
+ required: *ref_10
1312
+ expiration:
1313
+ title: DateTime
1314
+ type: string
1315
+ pattern: >-
1316
+ ^(?:[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)$
1317
+ description: >-
1318
+ The API data type DateTime is a JSON String in a
1319
+ lexical format that is restricted by a regular
1320
+ expression for interoperability reasons. The
1321
+ format is according to [ISO
1322
+ 8601](https://www.iso.org/iso-8601-date-and-time-format.html),
1323
+ expressed in a combined date, time and time zone
1324
+ format. A more readable version of the format is
1325
+ yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are
1326
+ "2016-05-24T08:38:08.699-04:00",
1327
+ "2016-05-24T08:38:08.699Z" (where Z indicates Zulu
1328
+ time zone, same as UTC).
1329
+ example: '2016-05-24T08:38:08.699-04:00'
1330
+ geoCode:
1331
+ title: GeoCode
1332
+ type: object
1333
+ description: >-
1334
+ Data model for the complex type GeoCode. Indicates
1335
+ the geographic location from where the transaction
1336
+ was initiated.
1337
+ properties: &ref_95
1338
+ latitude:
1339
+ title: Latitude
1340
+ type: string
1341
+ pattern: >-
1342
+ ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$
1343
+ description: >-
1344
+ The API data type Latitude is a JSON String in
1345
+ a lexical format that is restricted by a
1346
+ regular expression for interoperability
1347
+ reasons.
1348
+ example: '+45.4215'
1349
+ longitude:
1350
+ title: Longitude
1351
+ type: string
1352
+ pattern: >-
1353
+ ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
1354
+ description: >-
1355
+ The API data type Longitude is a JSON String
1356
+ in a lexical format that is restricted by a
1357
+ regular expression for interoperability
1358
+ reasons.
1359
+ example: '+75.6972'
1360
+ required: &ref_96
1361
+ - latitude
1362
+ - longitude
1363
+ ilpPacket:
1364
+ title: IlpPacket
1365
+ type: string
1366
+ pattern: ^[A-Za-z0-9-_]+[=]{0,2}$
1367
+ minLength: 1
1368
+ maxLength: 32768
1369
+ description: >-
1370
+ Information for recipient (transport layer
1371
+ information).
1372
+ example: >-
1373
+ AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA
1374
+ condition:
1375
+ title: IlpCondition
1376
+ type: string
1377
+ pattern: ^[A-Za-z0-9-_]{43}$
1378
+ maxLength: 48
1379
+ description: >-
1380
+ Condition that must be attached to the transfer by
1381
+ the Payer.
1382
+ extensionList:
1383
+ title: ExtensionList
1384
+ type: object
1385
+ description: >-
1386
+ Data model for the complex type ExtensionList. An
1387
+ optional list of extensions, specific to
1388
+ deployment.
1389
+ properties: *ref_11
1390
+ required: *ref_12
1391
+ required: &ref_98
1392
+ - transferAmount
1393
+ - expiration
1394
+ - ilpPacket
1395
+ - condition
1396
+ fulfil:
1397
+ title: TransfersIDPutResponse
1398
+ type: object
1399
+ description: The object sent in the PUT /transfers/{ID} callback.
1400
+ properties: &ref_100
1401
+ fulfilment:
1402
+ title: IlpFulfilment
1403
+ type: string
1404
+ pattern: ^[A-Za-z0-9-_]{43}$
1405
+ maxLength: 48
1406
+ description: >-
1407
+ Fulfilment that must be attached to the transfer
1408
+ by the Payee.
1409
+ example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
1410
+ completedTimestamp:
1411
+ title: DateTime
1412
+ type: string
1413
+ pattern: >-
1414
+ ^(?:[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)$
1415
+ description: >-
1416
+ The API data type DateTime is a JSON String in a
1417
+ lexical format that is restricted by a regular
1418
+ expression for interoperability reasons. The
1419
+ format is according to [ISO
1420
+ 8601](https://www.iso.org/iso-8601-date-and-time-format.html),
1421
+ expressed in a combined date, time and time zone
1422
+ format. A more readable version of the format is
1423
+ yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are
1424
+ "2016-05-24T08:38:08.699-04:00",
1425
+ "2016-05-24T08:38:08.699Z" (where Z indicates Zulu
1426
+ time zone, same as UTC).
1427
+ example: '2016-05-24T08:38:08.699-04:00'
1428
+ transferState:
1429
+ title: TransferState
1430
+ type: string
1431
+ enum: &ref_99
1432
+ - RECEIVED
1433
+ - RESERVED
1434
+ - COMMITTED
1435
+ - ABORTED
1436
+ description: >-
1437
+ Below are the allowed values for the enumeration.
1438
+
1439
+ - RECEIVED - Next ledger has received the
1440
+ transfer.
1441
+
1442
+ - RESERVED - Next ledger has reserved the
1443
+ transfer.
1444
+
1445
+ - COMMITTED - Next ledger has successfully
1446
+ performed the transfer.
1447
+
1448
+ - ABORTED - Next ledger has aborted the transfer
1449
+ due to a rejection or failure to perform the
1450
+ transfer.
1451
+ example: RESERVED
1452
+ extensionList:
1453
+ title: ExtensionList
1454
+ type: object
1455
+ description: >-
1456
+ Data model for the complex type ExtensionList. An
1457
+ optional list of extensions, specific to
1458
+ deployment.
1459
+ properties: *ref_11
1460
+ required: *ref_12
1461
+ required: &ref_101
1462
+ - transferState
1463
+ quoteExtensions:
1464
+ title: ExtensionList
1465
+ type: object
1466
+ description: >-
1467
+ Data model for the complex type ExtensionList. An
1468
+ optional list of extensions, specific to deployment.
1469
+ properties: *ref_11
1470
+ required: *ref_12
1471
+ transferExtensions:
1472
+ title: ExtensionList
1473
+ type: object
1474
+ description: >-
1475
+ Data model for the complex type ExtensionList. An
1476
+ optional list of extensions, specific to deployment.
1477
+ properties: *ref_11
1478
+ required: *ref_12
1479
+ lastError:
1480
+ type: object
1481
+ description: >-
1482
+ This object represents a Mojaloop API error received
1483
+ at any time during the transfer process
1484
+ properties: &ref_32
1485
+ httpStatusCode:
1486
+ type: integer
1487
+ description: >-
1488
+ The HTTP status code returned to the caller. This
1489
+ is the same as the actual HTTP status code
1490
+ returned with the response.
1491
+ mojaloopError:
1492
+ description: >-
1493
+ If a transfer process results in an error callback
1494
+ during the asynchronous Mojaloop API exchange,
1495
+ this property will contain the underlying Mojaloop
1496
+ API error object.
1497
+ type: object
1498
+ properties: &ref_104
1499
+ errorInformation:
1500
+ title: ErrorInformation
1501
+ type: object
1502
+ description: >-
1503
+ Data model for the complex type
1504
+ ErrorInformation.
1505
+ properties: &ref_102
1506
+ errorCode:
1507
+ title: ErrorCode
1508
+ type: string
1509
+ pattern: ^[1-9]\d{3}$
1510
+ description: >-
1511
+ The API data type ErrorCode is a JSON
1512
+ String of four characters, consisting of
1513
+ digits only. Negative numbers are not
1514
+ allowed. A leading zero is not allowed.
1515
+ Each error code in the API is a four-digit
1516
+ number, for example, 1234, where the first
1517
+ number (1 in the example) represents the
1518
+ high-level error category, the second
1519
+ number (2 in the example) represents the
1520
+ low-level error category, and the last two
1521
+ numbers (34 in the example) represent the
1522
+ specific error.
1523
+ example: '5100'
1524
+ errorDescription:
1525
+ title: ErrorDescription
1526
+ type: string
1527
+ minLength: 1
1528
+ maxLength: 128
1529
+ description: Error description string.
1530
+ extensionList:
1531
+ title: ExtensionList
1532
+ type: object
1533
+ description: >-
1534
+ Data model for the complex type
1535
+ ExtensionList. An optional list of
1536
+ extensions, specific to deployment.
1537
+ properties: *ref_11
1538
+ required: *ref_12
1539
+ required: &ref_103
1540
+ - errorCode
1541
+ - errorDescription
1542
+ extensions:
1543
+ title: ExtensionList
1544
+ type: object
1545
+ description: >-
1546
+ Data model for the complex type ExtensionList. An optional
1547
+ list of extensions, specific to deployment.
1548
+ properties: *ref_11
1549
+ required: *ref_12
638
1550
  responses:
639
1551
  '202':
640
1552
  description: Bulk transaction information successfully amended.
@@ -654,7 +1566,7 @@ paths:
654
1566
  content:
655
1567
  application/json:
656
1568
  schema:
657
- properties: &ref_55
1569
+ properties: &ref_49
658
1570
  bulkQuote:
659
1571
  description: A response to a request for a bulk quote.
660
1572
  properties: *ref_4
@@ -674,12 +1586,12 @@ paths:
674
1586
  description: >-
675
1587
  Data model for individual transfer in a bulk transfer
676
1588
  request.
677
- properties: &ref_42
1589
+ properties: &ref_41
678
1590
  amount:
679
1591
  pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
680
1592
  type: string
681
1593
  amountType:
682
- enum: *ref_8
1594
+ enum: *ref_13
683
1595
  type: string
684
1596
  currency:
685
1597
  enum: *ref_0
@@ -695,29 +1607,38 @@ paths:
695
1607
  minLength: 3
696
1608
  type: string
697
1609
  initiator:
698
- enum: *ref_9
1610
+ enum: *ref_14
699
1611
  type: string
700
1612
  initiatorType:
701
- enum: *ref_10
1613
+ enum: *ref_15
702
1614
  type: string
703
1615
  note:
704
1616
  description: An optional note associated with the quote.
705
1617
  maxLength: 128
706
1618
  minLength: 1
707
1619
  type: string
1620
+ subScenario:
1621
+ description: >-
1622
+ Possible sub-scenario, defined locally within the
1623
+ scheme (UndefinedEnum Type). Based on FSPIOP
1624
+ TransactionSubScenario.
1625
+ example: LOCALLY_DEFINED_SUBSCENARIO
1626
+ pattern: ^[A-Z_]{1,32}$
1627
+ title: transactionSubScenario
1628
+ type: string
708
1629
  to:
709
1630
  properties: *ref_1
710
1631
  required: *ref_2
711
1632
  type: object
712
1633
  transactionType:
713
- enum: *ref_11
1634
+ enum: *ref_16
714
1635
  type: string
715
1636
  transferId:
716
1637
  description: A Mojaloop API transfer identifier (UUID).
717
1638
  pattern: >-
718
1639
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
719
1640
  type: string
720
- required: &ref_43
1641
+ required: &ref_42
721
1642
  - transferId
722
1643
  - amount
723
1644
  - currency
@@ -725,7 +1646,7 @@ paths:
725
1646
  maxItems: 1000
726
1647
  minItems: 1
727
1648
  type: array
728
- required: &ref_56
1649
+ required: &ref_50
729
1650
  - bulkTransferId
730
1651
  - individualTransfers
731
1652
  type: object
@@ -735,7 +1656,7 @@ paths:
735
1656
  content:
736
1657
  application/json:
737
1658
  schema:
738
- properties: &ref_14
1659
+ properties: &ref_19
739
1660
  bulkTransferId:
740
1661
  description: A Mojaloop API transfer identifier (UUID).
741
1662
  pattern: >-
@@ -751,12 +1672,12 @@ paths:
751
1672
  description: >-
752
1673
  Data model for individual transfer in a bulk transfer
753
1674
  response.
754
- properties: &ref_44
1675
+ properties: &ref_43
755
1676
  errorResponse:
756
1677
  properties: *ref_3
757
1678
  type: object
758
1679
  extensionList:
759
- items: *ref_12
1680
+ items: *ref_17
760
1681
  maxItems: 16
761
1682
  minItems: 0
762
1683
  type: array
@@ -765,13 +1686,13 @@ paths:
765
1686
  pattern: >-
766
1687
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
767
1688
  type: string
768
- required: &ref_45
1689
+ required: &ref_44
769
1690
  - transferId
770
1691
  type: object
771
1692
  maxItems: 1000
772
1693
  minItems: 1
773
1694
  type: array
774
- required: &ref_15
1695
+ required: &ref_20
775
1696
  - homeTransactionId
776
1697
  type: object
777
1698
  description: The bulk transfer was accepted.
@@ -794,14 +1715,14 @@ paths:
794
1715
  in: path
795
1716
  name: idValue
796
1717
  required: true
797
- schema: *ref_13
1718
+ schema: *ref_18
798
1719
  responses:
799
1720
  '200':
800
1721
  content:
801
1722
  application/json:
802
1723
  schema:
803
- properties: *ref_14
804
- required: *ref_15
1724
+ properties: *ref_19
1725
+ required: *ref_20
805
1726
  type: object
806
1727
  description: Response containing details of the requested bulk transfer.
807
1728
  '400':
@@ -826,7 +1747,7 @@ paths:
826
1747
  - in: path
827
1748
  name: requestToPayId
828
1749
  required: true
829
- schema: &ref_31
1750
+ schema: &ref_33
830
1751
  maxLength: 128
831
1752
  minLength: 1
832
1753
  type: string
@@ -835,11 +1756,11 @@ paths:
835
1756
  content:
836
1757
  application/json:
837
1758
  schema:
838
- properties: &ref_65
1759
+ properties: &ref_58
839
1760
  otpValue:
840
1761
  description: OTP value.
841
1762
  type: string
842
- required: &ref_66
1763
+ required: &ref_59
843
1764
  - otpValue
844
1765
  type: object
845
1766
  description: Response containing details of the OTP.
@@ -870,19 +1791,19 @@ paths:
870
1791
  in: path
871
1792
  name: idType
872
1793
  required: true
873
- schema: &ref_16
1794
+ schema: &ref_21
874
1795
  type: string
875
1796
  - description: The identifier value.
876
1797
  in: path
877
1798
  name: idValue
878
1799
  required: true
879
- schema: *ref_13
1800
+ schema: *ref_18
880
1801
  responses:
881
1802
  '200':
882
1803
  content:
883
1804
  application/json:
884
1805
  schema:
885
- properties: &ref_17
1806
+ properties: &ref_22
886
1807
  fspId:
887
1808
  description: FSP identifier.
888
1809
  maxLength: 32
@@ -919,26 +1840,26 @@ paths:
919
1840
  in: path
920
1841
  name: idType
921
1842
  required: true
922
- schema: *ref_16
1843
+ schema: *ref_21
923
1844
  - description: The identifier value.
924
1845
  in: path
925
1846
  name: idValue
926
1847
  required: true
927
- schema: *ref_13
1848
+ schema: *ref_18
928
1849
  - description: >-
929
1850
  A sub-identifier of the party identifier, or a sub-type of the party
930
1851
  identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
931
1852
  in: path
932
1853
  name: idSubValue
933
1854
  required: true
934
- schema: &ref_18
1855
+ schema: &ref_23
935
1856
  type: string
936
1857
  responses:
937
1858
  '200':
938
1859
  content:
939
1860
  application/json:
940
1861
  schema:
941
- properties: *ref_17
1862
+ properties: *ref_22
942
1863
  type: object
943
1864
  description: Response containing details of the requested party.
944
1865
  '400':
@@ -970,12 +1891,12 @@ paths:
970
1891
  in: path
971
1892
  name: idType
972
1893
  required: true
973
- schema: *ref_16
1894
+ schema: *ref_21
974
1895
  - description: The identifier value.
975
1896
  in: path
976
1897
  name: idValue
977
1898
  required: true
978
- schema: *ref_13
1899
+ schema: *ref_18
979
1900
  responses:
980
1901
  '200':
981
1902
  content:
@@ -1014,19 +1935,19 @@ paths:
1014
1935
  in: path
1015
1936
  name: idType
1016
1937
  required: true
1017
- schema: *ref_16
1938
+ schema: *ref_21
1018
1939
  - description: The identifier value.
1019
1940
  in: path
1020
1941
  name: idValue
1021
1942
  required: true
1022
- schema: *ref_13
1943
+ schema: *ref_18
1023
1944
  - description: >-
1024
1945
  A sub-identifier of the party identifier, or a sub-type of the party
1025
1946
  identifier's type. For example, `PASSPORT`, `DRIVING_LICENSE`.
1026
1947
  in: path
1027
1948
  name: idSubValue
1028
1949
  required: true
1029
- schema: *ref_18
1950
+ schema: *ref_23
1030
1951
  responses:
1031
1952
  '200':
1032
1953
  content:
@@ -1062,7 +1983,7 @@ paths:
1062
1983
  application/json:
1063
1984
  schema:
1064
1985
  description: A request for a quote for transfer from the DFSP backend.
1065
- properties: &ref_67
1986
+ properties: &ref_61
1066
1987
  amount:
1067
1988
  description: >-
1068
1989
  Depending on `amountType`. If SEND - The amount the Payer
@@ -1077,7 +1998,7 @@ paths:
1077
1998
  type: string
1078
1999
  amountType:
1079
2000
  description: SEND for send amount, RECEIVE for receive amount.
1080
- enum: *ref_8
2001
+ enum: *ref_13
1081
2002
  type: string
1082
2003
  currency:
1083
2004
  enum: *ref_0
@@ -1090,7 +2011,7 @@ paths:
1090
2011
  ^(?:[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
2012
  type: string
1092
2013
  extensionList:
1093
- items: *ref_12
2014
+ items: *ref_17
1094
2015
  maxItems: 16
1095
2016
  minItems: 0
1096
2017
  type: array
@@ -1117,18 +2038,18 @@ paths:
1117
2038
  description: >-
1118
2039
  Indicates the geographic location from where the transaction
1119
2040
  was initiated.
1120
- properties: *ref_19
1121
- required: *ref_20
2041
+ properties: *ref_24
2042
+ required: *ref_25
1122
2043
  type: object
1123
2044
  initiator:
1124
2045
  description: >-
1125
2046
  Specifies if the initiator of the transfer is the Payer or
1126
2047
  Payee.
1127
- enum: *ref_9
2048
+ enum: *ref_14
1128
2049
  type: string
1129
2050
  initiatorType:
1130
2051
  description: Specifies the type of the transaction initiator.
1131
- enum: *ref_10
2052
+ enum: *ref_15
1132
2053
  type: string
1133
2054
  note:
1134
2055
  description: An optional note associated with the requested transfer.
@@ -1140,6 +2061,15 @@ paths:
1140
2061
  pattern: >-
1141
2062
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1142
2063
  type: string
2064
+ subScenario:
2065
+ description: >-
2066
+ Possible sub-scenario, defined locally within the scheme
2067
+ (UndefinedEnum Type). Based on FSPIOP
2068
+ TransactionSubScenario.
2069
+ example: LOCALLY_DEFINED_SUBSCENARIO
2070
+ pattern: ^[A-Z_]{1,32}$
2071
+ title: transactionSubScenario
2072
+ type: string
1143
2073
  to:
1144
2074
  description: >-
1145
2075
  Information about the Payee in the proposed financial
@@ -1156,9 +2086,9 @@ paths:
1156
2086
  type: string
1157
2087
  transactionType:
1158
2088
  description: Type of transaction for which the quote is requested.
1159
- enum: *ref_11
2089
+ enum: *ref_16
1160
2090
  type: string
1161
- required: &ref_68
2091
+ required: &ref_62
1162
2092
  - quoteId
1163
2093
  - transactionId
1164
2094
  - to
@@ -1177,14 +2107,14 @@ paths:
1177
2107
  application/json:
1178
2108
  schema:
1179
2109
  description: A response to a request for a quote.
1180
- properties: &ref_25
2110
+ properties: &ref_28
1181
2111
  expiration:
1182
2112
  description: An ISO-8601 formatted timestamp.
1183
2113
  pattern: >-
1184
2114
  ^(?:[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
2115
  type: string
1186
2116
  extensionList:
1187
- items: *ref_12
2117
+ items: *ref_17
1188
2118
  maxItems: 16
1189
2119
  minItems: 0
1190
2120
  type: array
@@ -1192,8 +2122,8 @@ paths:
1192
2122
  description: >-
1193
2123
  Indicates the geographic location from where the
1194
2124
  transaction was initiated.
1195
- properties: *ref_19
1196
- required: *ref_20
2125
+ properties: *ref_24
2126
+ required: *ref_25
1197
2127
  type: object
1198
2128
  payeeFspCommissionAmount:
1199
2129
  description: Transaction commission from the Payee FSP.
@@ -1252,7 +2182,7 @@ paths:
1252
2182
  maxLength: 3
1253
2183
  minLength: 3
1254
2184
  type: string
1255
- required: &ref_26
2185
+ required: &ref_29
1256
2186
  - quoteId
1257
2187
  - transactionId
1258
2188
  - transferAmount
@@ -1276,7 +2206,7 @@ paths:
1276
2206
  application/json:
1277
2207
  schema:
1278
2208
  description: A request for a pull based transfer.
1279
- properties: &ref_70
2209
+ properties: &ref_64
1280
2210
  amount:
1281
2211
  pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1282
2212
  type: string
@@ -1298,14 +2228,14 @@ paths:
1298
2228
  description: >-
1299
2229
  Indicates the geographic location from where the transaction
1300
2230
  was initiated.
1301
- properties: *ref_19
1302
- required: *ref_20
2231
+ properties: *ref_24
2232
+ required: *ref_25
1303
2233
  type: object
1304
2234
  initiator:
1305
- enum: *ref_9
2235
+ enum: *ref_14
1306
2236
  type: string
1307
2237
  initiatorType:
1308
- enum: *ref_10
2238
+ enum: *ref_15
1309
2239
  type: string
1310
2240
  note:
1311
2241
  description: An optional note associated with the requested transfer.
@@ -1322,9 +2252,18 @@ paths:
1322
2252
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1323
2253
  type: string
1324
2254
  transactionType:
1325
- enum: *ref_11
2255
+ enum: *ref_16
2256
+ type: string
2257
+ subScenario:
2258
+ description: >-
2259
+ Possible sub-scenario, defined locally within the scheme
2260
+ (UndefinedEnum Type). Based on FSPIOP
2261
+ TransactionSubScenario.
2262
+ example: LOCALLY_DEFINED_SUBSCENARIO
2263
+ pattern: ^[A-Z_]{1,32}$
2264
+ title: transactionSubScenario
1326
2265
  type: string
1327
- required: &ref_71
2266
+ required: &ref_65
1328
2267
  - transactionRequestId
1329
2268
  - to
1330
2269
  - from
@@ -1341,7 +2280,7 @@ paths:
1341
2280
  application/json:
1342
2281
  schema:
1343
2282
  description: A response to a request for a quote.
1344
- properties: &ref_72
2283
+ properties: &ref_66
1345
2284
  transactionId:
1346
2285
  description: >-
1347
2286
  ID of the transaction, the ID is decided by the Payer FSP
@@ -1350,13 +2289,13 @@ paths:
1350
2289
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1351
2290
  type: string
1352
2291
  transferAmount:
1353
- enum: &ref_74
2292
+ enum: &ref_68
1354
2293
  - RECEIVED
1355
2294
  - PENDING
1356
2295
  - ACCEPTED
1357
2296
  - REJECTED
1358
2297
  type: string
1359
- required: &ref_73
2298
+ required: &ref_67
1360
2299
  - transactionId
1361
2300
  - transactionRequestState
1362
2301
  type: object
@@ -1380,12 +2319,12 @@ paths:
1380
2319
  content:
1381
2320
  application/json:
1382
2321
  schema:
1383
- properties: &ref_80
2322
+ properties: &ref_73
1384
2323
  amount:
1385
2324
  pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1386
2325
  type: string
1387
2326
  amountType:
1388
- enum: *ref_8
2327
+ enum: *ref_13
1389
2328
  type: string
1390
2329
  currency:
1391
2330
  enum: *ref_0
@@ -1400,12 +2339,12 @@ paths:
1400
2339
  properties:
1401
2340
  data:
1402
2341
  description: Object containing transfer object.
1403
- properties: &ref_62
2342
+ properties: &ref_56
1404
2343
  amount:
1405
2344
  description: >-
1406
2345
  Object containing Amount and Currency of the
1407
2346
  transfer.
1408
- properties: &ref_51
2347
+ properties: &ref_45
1409
2348
  amount:
1410
2349
  pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1411
2350
  type: string
@@ -1414,303 +2353,22 @@ paths:
1414
2353
  maxLength: 3
1415
2354
  minLength: 3
1416
2355
  type: string
1417
- required: &ref_52
2356
+ required: &ref_46
1418
2357
  - amount
1419
2358
  - currency
1420
2359
  type: object
1421
2360
  payee:
1422
2361
  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
2362
  title: Party
1707
2363
  type: object
2364
+ properties: *ref_26
2365
+ required: *ref_27
1708
2366
  payer:
1709
2367
  description: Data model for the complex type Party.
1710
- properties: *ref_23
1711
- required: *ref_24
1712
2368
  title: Party
1713
2369
  type: object
2370
+ properties: *ref_26
2371
+ required: *ref_27
1714
2372
  quoteId:
1715
2373
  description: A Mojaloop API quote identifier (UUID).
1716
2374
  pattern: >-
@@ -1725,24 +2383,33 @@ paths:
1725
2383
  type: string
1726
2384
  transactionType:
1727
2385
  description: Object containing transfer object.
1728
- properties: &ref_75
2386
+ properties: &ref_69
1729
2387
  initiator:
1730
- enum: *ref_9
2388
+ enum: *ref_14
1731
2389
  type: string
1732
2390
  initiatorType:
1733
2391
  description: Specifies the type of the transaction initiator.
1734
- enum: *ref_10
2392
+ enum: *ref_15
1735
2393
  type: string
1736
2394
  scenario:
1737
- enum: &ref_69
2395
+ enum: &ref_63
1738
2396
  - TRANSFER
1739
2397
  type: string
1740
- required: &ref_76
2398
+ subScenario:
2399
+ description: >-
2400
+ Possible sub-scenario, defined locally within
2401
+ the scheme (UndefinedEnum Type). Based on FSPIOP
2402
+ TransactionSubScenario.
2403
+ example: LOCALLY_DEFINED_SUBSCENARIO
2404
+ pattern: ^[A-Z_]{1,32}$
2405
+ title: transactionSubScenario
2406
+ type: string
2407
+ required: &ref_70
1741
2408
  - scenario
1742
2409
  - initiator
1743
2410
  - initiatorType
1744
2411
  type: object
1745
- required: &ref_63
2412
+ required: &ref_57
1746
2413
  - quoteId
1747
2414
  - transactionId
1748
2415
  - payer
@@ -1758,27 +2425,36 @@ paths:
1758
2425
  type: string
1759
2426
  quote:
1760
2427
  description: A response to a request for a quote.
1761
- properties: *ref_25
1762
- required: *ref_26
2428
+ properties: *ref_28
2429
+ required: *ref_29
1763
2430
  type: object
1764
2431
  quoteRequestExtensions:
1765
- items: *ref_12
2432
+ items: *ref_17
1766
2433
  maxItems: 16
1767
2434
  minItems: 0
1768
2435
  type: array
2436
+ subScenario:
2437
+ description: >-
2438
+ Possible sub-scenario, defined locally within the scheme
2439
+ (UndefinedEnum Type). Based on FSPIOP
2440
+ TransactionSubScenario.
2441
+ example: LOCALLY_DEFINED_SUBSCENARIO
2442
+ pattern: ^[A-Z_]{1,32}$
2443
+ title: transactionSubScenario
2444
+ type: string
1769
2445
  to:
1770
2446
  properties: *ref_1
1771
2447
  required: *ref_2
1772
2448
  type: object
1773
2449
  transactionType:
1774
- enum: *ref_11
2450
+ enum: *ref_16
1775
2451
  type: string
1776
2452
  transferId:
1777
2453
  description: A Mojaloop API transfer identifier (UUID).
1778
2454
  pattern: >-
1779
2455
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
1780
2456
  type: string
1781
- required: &ref_81
2457
+ required: &ref_74
1782
2458
  - transferId
1783
2459
  - quote
1784
2460
  - from
@@ -1795,7 +2471,7 @@ paths:
1795
2471
  content:
1796
2472
  application/json:
1797
2473
  schema:
1798
- properties: &ref_82
2474
+ properties: &ref_75
1799
2475
  completedTimestamp:
1800
2476
  description: An ISO-8601 formatted timestamp.
1801
2477
  example: '2020-05-19T08:38:08.699-04:00'
@@ -1806,11 +2482,11 @@ paths:
1806
2482
  description: >-
1807
2483
  Fulfilment that must be attached to the transfer by the
1808
2484
  Payee.
1809
- example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
1810
- maxLength: 48
1811
- pattern: ^[A-Za-z0-9-_]{43}$
1812
- title: ilpFulfilment
2485
+ title: IlpFulfilment
1813
2486
  type: string
2487
+ pattern: ^[A-Za-z0-9-_]{43}$
2488
+ maxLength: 48
2489
+ example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
1814
2490
  homeTransactionId:
1815
2491
  description: >-
1816
2492
  Transaction ID from the DFSP backend, used to reconcile
@@ -1825,13 +2501,13 @@ paths:
1825
2501
  aborted the transfer due a rejection or failure to perform
1826
2502
  the transfer.
1827
2503
  example: ABORTED
1828
- enum: &ref_27
2504
+ enum: &ref_30
1829
2505
  - RECEIVED
1830
2506
  - RESERVED
1831
2507
  - COMMITTED
1832
2508
  - ABORTED
1833
2509
  type: string
1834
- required: &ref_83
2510
+ required: &ref_76
1835
2511
  - homeTransactionId
1836
2512
  type: object
1837
2513
  description: The transfer was accepted.
@@ -1856,19 +2532,19 @@ paths:
1856
2532
  - in: path
1857
2533
  name: transferId
1858
2534
  required: true
1859
- schema: &ref_28
2535
+ schema: &ref_31
1860
2536
  type: string
1861
2537
  responses:
1862
2538
  '200':
1863
2539
  content:
1864
2540
  application/json:
1865
2541
  schema:
1866
- properties: &ref_77
2542
+ properties: &ref_71
1867
2543
  amount:
1868
2544
  pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
1869
2545
  type: string
1870
2546
  amountType:
1871
- enum: *ref_8
2547
+ enum: *ref_13
1872
2548
  type: string
1873
2549
  currency:
1874
2550
  enum: *ref_0
@@ -1876,7 +2552,7 @@ paths:
1876
2552
  minLength: 3
1877
2553
  type: string
1878
2554
  extensions:
1879
- items: *ref_12
2555
+ items: *ref_17
1880
2556
  maxItems: 16
1881
2557
  minItems: 0
1882
2558
  type: array
@@ -1892,6 +2568,15 @@ paths:
1892
2568
  note:
1893
2569
  maxLength: 128
1894
2570
  type: string
2571
+ subScenario:
2572
+ description: >-
2573
+ Possible sub-scenario, defined locally within the scheme
2574
+ (UndefinedEnum Type). Based on FSPIOP
2575
+ TransactionSubScenario.
2576
+ example: LOCALLY_DEFINED_SUBSCENARIO
2577
+ pattern: ^[A-Z_]{1,32}$
2578
+ title: transactionSubScenario
2579
+ type: string
1895
2580
  timestamp:
1896
2581
  description: An ISO-8601 formatted timestamp.
1897
2582
  pattern: >-
@@ -1902,7 +2587,7 @@ paths:
1902
2587
  required: *ref_2
1903
2588
  type: object
1904
2589
  transactionType:
1905
- enum: *ref_11
2590
+ enum: *ref_16
1906
2591
  type: string
1907
2592
  transferState:
1908
2593
  description: >
@@ -1912,9 +2597,9 @@ paths:
1912
2597
  successfully performed the transfer. - ABORTED DFSP has
1913
2598
  aborted the transfer due a rejection or failure to perform
1914
2599
  the transfer.
1915
- enum: *ref_27
2600
+ enum: *ref_30
1916
2601
  type: string
1917
- required: &ref_78
2602
+ required: &ref_72
1918
2603
  - homeTransactionId
1919
2604
  - from
1920
2605
  - to
@@ -1941,15 +2626,15 @@ paths:
1941
2626
  - in: path
1942
2627
  name: transferId
1943
2628
  required: true
1944
- schema: *ref_28
2629
+ schema: *ref_31
1945
2630
  requestBody:
1946
2631
  content:
1947
2632
  application/json:
1948
2633
  schema:
1949
2634
  description: PUT /transfers/{transferId} object.
1950
- properties: &ref_61
2635
+ properties: &ref_54
1951
2636
  currentState:
1952
- enum: &ref_84
2637
+ enum: &ref_77
1953
2638
  - ERROR_OCCURRED
1954
2639
  - WAITING_FOR_PARTY_ACCEPTANCE
1955
2640
  - WAITING_FOR_QUOTE_ACCEPTANCE
@@ -1969,7 +2654,7 @@ paths:
1969
2654
  type: string
1970
2655
  extensionList:
1971
2656
  description: Optional extension, specific to deployment.
1972
- items: *ref_12
2657
+ items: *ref_17
1973
2658
  maxItems: 16
1974
2659
  minItems: 0
1975
2660
  type: array
@@ -1982,7 +2667,7 @@ paths:
1982
2667
  aborted the transfer due a rejection or failure to
1983
2668
  perform the transfer.
1984
2669
  example: COMMITTED
1985
- enum: *ref_27
2670
+ enum: *ref_30
1986
2671
  type: string
1987
2672
  required:
1988
2673
  - completedTimestamp
@@ -2001,68 +2686,11 @@ paths:
2001
2686
  ^(?:[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
2687
  type: string
2003
2688
  lastError:
2689
+ type: object
2004
2690
  description: >-
2005
2691
  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
2692
+ time during the transfer process
2693
+ properties: *ref_32
2066
2694
  prepare:
2067
2695
  properties:
2068
2696
  body:
@@ -2116,12 +2744,6 @@ paths:
2116
2744
  - Transfers
2117
2745
  components:
2118
2746
  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
2747
  idSubValue:
2126
2748
  description: >-
2127
2749
  A sub-identifier of the party identifier, or a sub-type of the party
@@ -2129,29 +2751,37 @@ components:
2129
2751
  in: path
2130
2752
  name: idSubValue
2131
2753
  required: true
2132
- schema: *ref_18
2754
+ schema: *ref_23
2133
2755
  idType:
2134
2756
  description: The type of the party identifier. For example, `MSISDN`, `PERSONAL_ID`.
2135
2757
  in: path
2136
2758
  name: idType
2137
2759
  required: true
2138
- schema: *ref_16
2760
+ schema: *ref_21
2139
2761
  idValue:
2140
2762
  description: The identifier value.
2141
2763
  in: path
2142
2764
  name: idValue
2143
2765
  required: true
2144
- schema: *ref_13
2766
+ schema: *ref_18
2145
2767
  requestToPayId:
2146
2768
  in: path
2147
2769
  name: requestToPayId
2148
2770
  required: true
2149
- schema: *ref_31
2771
+ schema: *ref_33
2150
2772
  transferId:
2151
2773
  in: path
2152
2774
  name: transferId
2153
2775
  required: true
2154
- schema: *ref_28
2776
+ schema: *ref_31
2777
+ bulkTransactionId:
2778
+ name: bulkTransactionId
2779
+ in: path
2780
+ required: true
2781
+ schema: *ref_34
2782
+ description: >-
2783
+ Identifier of the bulk transaction to continue as returned in the
2784
+ response to a `POST /bulkTransaction` request.
2155
2785
  responses:
2156
2786
  '400':
2157
2787
  content: *ref_6
@@ -2165,256 +2795,88 @@ components:
2165
2795
  description: An error occurred processing the request.
2166
2796
  schemas:
2167
2797
  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
2798
  title: DateofBirth (type Date)
2173
2799
  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
2800
+ pattern: >-
2801
+ ^(?:[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)$
2802
+ description: Date of Birth of the Party.
2803
+ example: '1966-06-16'
2804
+ FirstName:
2805
+ title: FirstName
2185
2806
  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
2807
  minLength: 1
2196
- title: ExtensionValue
2197
- type: string
2198
- FirstName:
2199
- description: First name of the Party (Name Type).
2200
- example: Henrik
2201
2808
  maxLength: 128
2202
- minLength: 1
2203
2809
  pattern: >-
2204
2810
  ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2205
2811
  .,''-]{1,128}$
2206
- title: FirstName
2207
- type: string
2812
+ description: First name of the Party (Name Type).
2813
+ example: Henrik
2208
2814
  FspId:
2209
- description: FSP identifier.
2210
- maxLength: 32
2211
- minLength: 1
2212
2815
  title: FspId
2213
2816
  type: string
2817
+ minLength: 1
2818
+ maxLength: 32
2819
+ description: FSP identifier.
2214
2820
  IndividualQuote:
2215
2821
  description: Data model for individual quote in a bulk quote request.
2216
- properties: *ref_36
2217
- required: *ref_37
2822
+ properties: *ref_35
2823
+ required: *ref_36
2218
2824
  type: object
2219
2825
  IndividualQuoteResultFailed:
2220
2826
  description: Data model for failed individual quote in a bulk quote response.
2221
- properties: *ref_38
2222
- required: *ref_39
2827
+ properties: *ref_37
2828
+ required: *ref_38
2223
2829
  type: object
2224
2830
  IndividualQuoteResultSuccess:
2225
2831
  description: Data model for successful individual quote in a bulk quote response.
2226
- properties: *ref_40
2227
- required: *ref_41
2832
+ properties: *ref_39
2833
+ required: *ref_40
2228
2834
  type: object
2229
2835
  IndividualTransfer:
2230
2836
  description: Data model for individual transfer in a bulk transfer request.
2231
- properties: *ref_42
2232
- required: *ref_43
2837
+ properties: *ref_41
2838
+ required: *ref_42
2233
2839
  type: object
2234
2840
  IndividualTransferResult:
2235
2841
  description: Data model for individual transfer in a bulk transfer response.
2236
- properties: *ref_44
2237
- required: *ref_45
2842
+ properties: *ref_43
2843
+ required: *ref_44
2238
2844
  type: object
2239
2845
  LastName:
2240
- description: Last name of the Party (Name Type).
2241
- example: Karlsson
2242
- maxLength: 128
2846
+ title: LastName
2847
+ type: string
2243
2848
  minLength: 1
2849
+ maxLength: 128
2244
2850
  pattern: >-
2245
2851
  ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2246
2852
  .,''-]{1,128}$
2247
- title: LastName
2248
- type: string
2853
+ description: Last name of the Party (Name Type).
2854
+ example: Karlsson
2249
2855
  MerchantClassificationCode:
2856
+ title: MerchantClassificationCode
2857
+ type: string
2858
+ pattern: ^[\d]{1,4}$
2250
2859
  description: >-
2251
2860
  A limited set of pre-defined numbers. This list would be a limited set
2252
2861
  of numbers identifying a set of popular merchant types like School Fees,
2253
2862
  Pubs and Restaurants, Groceries, etc.
2254
- pattern: ^[\d]{1,4}$
2255
- title: MerchantClassificationCode
2256
- type: string
2257
2863
  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
2864
  title: MiddleName
2266
2865
  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
2866
  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
2867
  maxLength: 128
2408
- minLength: 1
2409
- title: PartySubIdOrType
2410
- type: string
2868
+ pattern: >-
2869
+ ^(?!\s*$)[\p{L}\p{gc=Mark}\p{digit}\p{gc=Connector_Punctuation}\p{Join_Control}
2870
+ .,''-]{1,128}$
2871
+ description: Middle name of the Party (Name Type).
2872
+ example: Johannes
2411
2873
  amountCurrency:
2412
2874
  description: Object containing Amount and Currency of the transfer.
2413
- properties: *ref_51
2414
- required: *ref_52
2875
+ properties: *ref_45
2876
+ required: *ref_46
2415
2877
  type: object
2416
2878
  amountType:
2417
- enum: *ref_8
2879
+ enum: *ref_13
2418
2880
  type: string
2419
2881
  bulkQuoteId:
2420
2882
  description: A Mojaloop API bulk quote identifier (UUID).
@@ -2423,8 +2885,8 @@ components:
2423
2885
  type: string
2424
2886
  bulkQuoteRequest:
2425
2887
  description: A request for a bulk quote.
2426
- properties: *ref_53
2427
- required: *ref_54
2888
+ properties: *ref_47
2889
+ required: *ref_48
2428
2890
  type: object
2429
2891
  bulkQuoteResponse:
2430
2892
  description: A response to a request for a bulk quote.
@@ -2437,12 +2899,12 @@ components:
2437
2899
  ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
2438
2900
  type: string
2439
2901
  bulkTransferRequest:
2440
- properties: *ref_55
2441
- required: *ref_56
2902
+ properties: *ref_49
2903
+ required: *ref_50
2442
2904
  type: object
2443
2905
  bulkTransferResponse:
2444
- properties: *ref_14
2445
- required: *ref_15
2906
+ properties: *ref_19
2907
+ required: *ref_20
2446
2908
  type: object
2447
2909
  currency:
2448
2910
  enum: *ref_0
@@ -2474,25 +2936,60 @@ components:
2474
2936
  type: string
2475
2937
  errorInformation:
2476
2938
  description: A Mojaloop API error information construct.
2477
- properties: *ref_57
2478
- required: *ref_58
2939
+ properties:
2940
+ errorCode:
2941
+ description: >
2942
+ The API data type errorCode is a JSON String of four characters,
2943
+ consisting of digits only. Negative numbers are not allowed. A
2944
+ leading zero is not allowed. Each error code in the API is a
2945
+ four-digit number, for example, 1234, where the first number (1 in
2946
+ the example) represents the high-level error category, the second
2947
+ number (2 in the example) represents the low-level error category,
2948
+ and the last two numbers (34 in the example) represents the specific
2949
+ error.
2950
+ pattern: ^[1-9]\d{3}$
2951
+ title: ErrorCode
2952
+ type: string
2953
+ errorDescription:
2954
+ description: Error description string.
2955
+ maxLength: 128
2956
+ minLength: 1
2957
+ title: ErrorDescription
2958
+ type: string
2959
+ extensionList:
2960
+ description: Data model for the complex type ExtensionList.
2961
+ properties: &ref_52
2962
+ extension:
2963
+ description: Number of Extension elements.
2964
+ items:
2965
+ properties: *ref_51
2966
+ type: object
2967
+ maxItems: 16
2968
+ minItems: 1
2969
+ type: array
2970
+ required: &ref_53
2971
+ - extension
2972
+ type: object
2973
+ required:
2974
+ - errorCode
2975
+ - errorDescription
2479
2976
  title: ErrorInformation
2480
2977
  type: object
2481
2978
  errorResponse:
2482
2979
  properties: *ref_3
2483
2980
  type: object
2484
2981
  extensionItem:
2485
- properties: *ref_29
2982
+ properties: *ref_51
2486
2983
  type: object
2487
2984
  extensionList:
2488
- items: *ref_12
2985
+ items: *ref_17
2489
2986
  maxItems: 16
2490
2987
  minItems: 0
2491
2988
  type: array
2492
2989
  extensionListComplex:
2493
2990
  description: Data model for the complex type ExtensionList.
2494
- properties: *ref_59
2495
- required: *ref_60
2991
+ properties: *ref_52
2992
+ required: *ref_53
2496
2993
  type: object
2497
2994
  fspId:
2498
2995
  description: FSP identifier.
@@ -2501,7 +2998,7 @@ components:
2501
2998
  type: string
2502
2999
  fulfilNotification:
2503
3000
  description: PUT /transfers/{transferId} object.
2504
- properties: *ref_61
3001
+ properties: *ref_54
2505
3002
  title: TransfersIDPatchResponse
2506
3003
  type: object
2507
3004
  generalError:
@@ -2513,38 +3010,31 @@ components:
2513
3010
  description: >-
2514
3011
  Indicates the geographic location from where the transaction was
2515
3012
  initiated.
2516
- properties: *ref_19
2517
- required: *ref_20
3013
+ properties: *ref_24
3014
+ required: *ref_25
2518
3015
  type: object
2519
3016
  idSubValue:
2520
3017
  maxLength: 128
2521
3018
  minLength: 1
2522
3019
  type: string
2523
3020
  idType:
2524
- enum: *ref_21
3021
+ enum: *ref_55
2525
3022
  type: string
2526
3023
  idValue:
2527
3024
  description: Identifier of the party.
2528
3025
  maxLength: 128
2529
3026
  minLength: 1
2530
3027
  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
3028
  ilpPacketData:
2539
3029
  description: Object containing transfer object.
2540
- properties: *ref_62
2541
- required: *ref_63
3030
+ properties: *ref_56
3031
+ required: *ref_57
2542
3032
  type: object
2543
3033
  initiator:
2544
- enum: *ref_9
3034
+ enum: *ref_14
2545
3035
  type: string
2546
3036
  initiatorType:
2547
- enum: *ref_10
3037
+ enum: *ref_15
2548
3038
  type: string
2549
3039
  latitude:
2550
3040
  description: >-
@@ -2560,21 +3050,18 @@ components:
2560
3050
  pattern: >-
2561
3051
  ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
2562
3052
  type: string
2563
- mojaloopError:
2564
- properties: *ref_64
2565
- type: object
2566
3053
  money:
2567
3054
  pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
2568
3055
  type: string
2569
3056
  otpDetails:
2570
- properties: *ref_65
2571
- required: *ref_66
3057
+ properties: *ref_58
3058
+ required: *ref_59
2572
3059
  type: object
2573
3060
  participantsResponse:
2574
- properties: *ref_17
3061
+ properties: *ref_22
2575
3062
  type: object
2576
3063
  payerType:
2577
- enum: *ref_22
3064
+ enum: *ref_60
2578
3065
  type: string
2579
3066
  quoteId:
2580
3067
  description: A Mojaloop API quote identifier (UUID).
@@ -2583,16 +3070,16 @@ components:
2583
3070
  type: string
2584
3071
  quoteRequest:
2585
3072
  description: A request for a quote for transfer from the DFSP backend.
2586
- properties: *ref_67
2587
- required: *ref_68
3073
+ properties: *ref_61
3074
+ required: *ref_62
2588
3075
  type: object
2589
3076
  quoteResponse:
2590
3077
  description: A response to a request for a quote.
2591
- properties: *ref_25
2592
- required: *ref_26
3078
+ properties: *ref_28
3079
+ required: *ref_29
2593
3080
  type: object
2594
3081
  scenario:
2595
- enum: *ref_69
3082
+ enum: *ref_63
2596
3083
  type: string
2597
3084
  timestamp:
2598
3085
  description: An ISO-8601 formatted timestamp.
@@ -2608,8 +3095,8 @@ components:
2608
3095
  type: string
2609
3096
  transactionRequest:
2610
3097
  description: A request for a pull based transfer.
2611
- properties: *ref_70
2612
- required: *ref_71
3098
+ properties: *ref_64
3099
+ required: *ref_65
2613
3100
  type: object
2614
3101
  transactionRequestId:
2615
3102
  description: A Mojaloop API transaction request identifier (UUID).
@@ -2618,29 +3105,31 @@ components:
2618
3105
  type: string
2619
3106
  transactionRequestResponse:
2620
3107
  description: A response to a request for a quote.
2621
- properties: *ref_72
2622
- required: *ref_73
3108
+ properties: *ref_66
3109
+ required: *ref_67
2623
3110
  type: object
2624
3111
  transactionRequestState:
2625
- enum: *ref_74
3112
+ enum: *ref_68
3113
+ type: string
3114
+ transactionSubScenario:
3115
+ description: >-
3116
+ Possible sub-scenario, defined locally within the scheme (UndefinedEnum
3117
+ Type). Based on FSPIOP TransactionSubScenario.
3118
+ example: LOCALLY_DEFINED_SUBSCENARIO
3119
+ pattern: ^[A-Z_]{1,32}$
3120
+ title: transactionSubScenario
2626
3121
  type: string
2627
3122
  transactionType:
2628
- enum: *ref_11
3123
+ enum: *ref_16
2629
3124
  type: string
2630
3125
  transactionTypeObject:
2631
3126
  description: Object containing transfer object.
2632
- properties: *ref_75
2633
- required: *ref_76
3127
+ properties: *ref_69
3128
+ required: *ref_70
2634
3129
  type: object
2635
3130
  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
3131
+ properties: *ref_71
3132
+ required: *ref_72
2644
3133
  type: object
2645
3134
  transferId:
2646
3135
  description: A Mojaloop API transfer identifier (UUID).
@@ -2652,12 +3141,12 @@ components:
2652
3141
  required: *ref_2
2653
3142
  type: object
2654
3143
  transferRequest:
2655
- properties: *ref_80
2656
- required: *ref_81
3144
+ properties: *ref_73
3145
+ required: *ref_74
2657
3146
  type: object
2658
3147
  transferResponse:
2659
- properties: *ref_82
2660
- required: *ref_83
3148
+ properties: *ref_75
3149
+ required: *ref_76
2661
3150
  type: object
2662
3151
  transferState:
2663
3152
  description: >
@@ -2666,8 +3155,344 @@ components:
2666
3155
  COMMITTED DFSP has successfully performed the transfer. - ABORTED DFSP
2667
3156
  has aborted the transfer due a rejection or failure to perform the
2668
3157
  transfer.
2669
- enum: *ref_27
3158
+ enum: *ref_30
2670
3159
  type: string
2671
3160
  transferStatus:
2672
- enum: *ref_84
3161
+ enum: *ref_77
3162
+ type: string
3163
+ CorrelationId:
3164
+ title: CorrelationId
3165
+ type: string
3166
+ pattern: >-
3167
+ ^[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$
3168
+ description: >-
3169
+ Identifier that correlates all messages of the same sequence. The API
3170
+ data type UUID (Universally Unique Identifier) is a JSON String in
3171
+ canonical format, conforming to [RFC
3172
+ 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a
3173
+ regular expression for interoperability reasons. A UUID is always 36
3174
+ characters long, 32 hexadecimal symbols and 4 dashes (‘-‘).
3175
+ example: b51ec534-ee48-4575-b6a9-ead2955b8069
3176
+ bulkTransactionStatus:
3177
+ type: string
3178
+ enum: *ref_78
3179
+ autoAcceptPartyOption:
3180
+ type: object
3181
+ required: *ref_79
3182
+ properties: *ref_80
3183
+ Currency:
3184
+ title: Currency
3185
+ description: >-
3186
+ The currency codes defined in [ISO
3187
+ 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter
3188
+ alphabetic codes are used as the standard naming representation for
3189
+ currencies.
3190
+ type: string
3191
+ minLength: 3
3192
+ maxLength: 3
3193
+ enum: *ref_8
3194
+ Amount:
3195
+ title: Amount
3196
+ type: string
3197
+ pattern: ^([0]|([1-9][0-9]{0,17}))([.][0-9]{0,3}[1-9])?$
3198
+ description: >-
3199
+ The API data type Amount is a JSON String in a canonical format that is
3200
+ restricted by a regular expression for interoperability reasons. This
3201
+ pattern does not allow any trailing zeroes at all, but allows an amount
3202
+ without a minor currency unit. It also only allows four digits in the
3203
+ minor currency unit; a negative value is not allowed. Using more than 18
3204
+ digits in the major currency unit is not allowed.
3205
+ example: '123.45'
3206
+ bulkPerTransferFeeLimit:
3207
+ type: object
3208
+ required: *ref_81
3209
+ properties: *ref_82
3210
+ autoAcceptQuote:
3211
+ type: object
3212
+ required: *ref_83
3213
+ properties: *ref_84
3214
+ DateTime:
3215
+ title: DateTime
2673
3216
  type: string
3217
+ pattern: >-
3218
+ ^(?:[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)$
3219
+ description: >-
3220
+ The API data type DateTime is a JSON String in a lexical format that is
3221
+ restricted by a regular expression for interoperability reasons. The
3222
+ format is according to [ISO
3223
+ 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed
3224
+ in a combined date, time and time zone format. A more readable version
3225
+ of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are
3226
+ "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z
3227
+ indicates Zulu time zone, same as UTC).
3228
+ example: '2016-05-24T08:38:08.699-04:00'
3229
+ bulkTransactionOptions:
3230
+ type: object
3231
+ required: *ref_85
3232
+ properties: *ref_86
3233
+ PartyIdType:
3234
+ title: PartyIdType
3235
+ type: string
3236
+ enum: *ref_87
3237
+ description: >-
3238
+ Below are the allowed values for the enumeration.
3239
+
3240
+ - MSISDN - An MSISDN (Mobile Station International Subscriber Directory
3241
+ Number, that is, the phone number) is used as reference to a
3242
+ participant. The MSISDN identifier should be in international format
3243
+ according to the [ITU-T E.164
3244
+ standard](https://www.itu.int/rec/T-REC-E.164/en). Optionally, the
3245
+ MSISDN may be prefixed by a single plus sign, indicating the
3246
+ international prefix.
3247
+
3248
+ - EMAIL - An email is used as reference to a participant. The format of
3249
+ the email should be according to the informational [RFC
3250
+ 3696](https://tools.ietf.org/html/rfc3696).
3251
+
3252
+ - PERSONAL_ID - A personal identifier is used as reference to a
3253
+ participant. Examples of personal identification are passport number,
3254
+ birth certificate number, and national registration number. The
3255
+ identifier number is added in the PartyIdentifier element. The personal
3256
+ identifier type is added in the PartySubIdOrType element.
3257
+
3258
+ - BUSINESS - A specific Business (for example, an organization or a
3259
+ company) is used as reference to a participant. The BUSINESS identifier
3260
+ can be in any format. To make a transaction connected to a specific
3261
+ username or bill number in a Business, the PartySubIdOrType element
3262
+ should be used.
3263
+
3264
+ - DEVICE - A specific device (for example, a POS or ATM) ID connected to
3265
+ a specific business or organization is used as reference to a Party. For
3266
+ referencing a specific device under a specific business or organization,
3267
+ use the PartySubIdOrType element.
3268
+
3269
+ - ACCOUNT_ID - A bank account number or FSP account ID should be used as
3270
+ reference to a participant. The ACCOUNT_ID identifier can be in any
3271
+ format, as formats can greatly differ depending on country and FSP.
3272
+
3273
+ - IBAN - A bank account number or FSP account ID is used as reference to
3274
+ a participant. The IBAN identifier can consist of up to 34 alphanumeric
3275
+ characters and should be entered without whitespace.
3276
+
3277
+ - ALIAS An alias is used as reference to a participant. The alias should
3278
+ be created in the FSP as an alternative reference to an account owner.
3279
+ Another example of an alias is a username in the FSP system. The ALIAS
3280
+ identifier can be in any format. It is also possible to use the
3281
+ PartySubIdOrType element for identifying an account under an Alias
3282
+ defined by the PartyIdentifier.
3283
+ PartyIdentifier:
3284
+ title: PartyIdentifier
3285
+ type: string
3286
+ minLength: 1
3287
+ maxLength: 128
3288
+ description: Identifier of the Party.
3289
+ example: '16135551212'
3290
+ PartySubIdOrType:
3291
+ title: PartySubIdOrType
3292
+ type: string
3293
+ minLength: 1
3294
+ maxLength: 128
3295
+ description: >-
3296
+ Either a sub-identifier of a PartyIdentifier, or a sub-type of the
3297
+ PartyIdType, normally a PersonalIdentifierType.
3298
+ ExtensionKey:
3299
+ title: ExtensionKey
3300
+ type: string
3301
+ minLength: 1
3302
+ maxLength: 32
3303
+ description: Extension key.
3304
+ ExtensionValue:
3305
+ title: ExtensionValue
3306
+ type: string
3307
+ minLength: 1
3308
+ maxLength: 128
3309
+ description: Extension value.
3310
+ Extension:
3311
+ title: Extension
3312
+ type: object
3313
+ description: Data model for the complex type Extension.
3314
+ properties: *ref_88
3315
+ required: *ref_89
3316
+ ExtensionList:
3317
+ title: ExtensionList
3318
+ type: object
3319
+ description: >-
3320
+ Data model for the complex type ExtensionList. An optional list of
3321
+ extensions, specific to deployment.
3322
+ properties: *ref_11
3323
+ required: *ref_12
3324
+ PartyIdInfo:
3325
+ title: PartyIdInfo
3326
+ type: object
3327
+ description: >-
3328
+ Data model for the complex type PartyIdInfo. An ExtensionList element
3329
+ has been added to this reqeust in version v1.1
3330
+ properties: *ref_90
3331
+ required: *ref_91
3332
+ PartyName:
3333
+ title: PartyName
3334
+ type: string
3335
+ minLength: 1
3336
+ maxLength: 128
3337
+ description: Name of the Party. Could be a real name or a nickname.
3338
+ PartyComplexName:
3339
+ title: PartyComplexName
3340
+ type: object
3341
+ description: Data model for the complex type PartyComplexName.
3342
+ properties: *ref_92
3343
+ PartyPersonalInfo:
3344
+ title: PartyPersonalInfo
3345
+ type: object
3346
+ description: Data model for the complex type PartyPersonalInfo.
3347
+ properties: *ref_93
3348
+ Party:
3349
+ title: Party
3350
+ type: object
3351
+ description: Data model for the complex type Party.
3352
+ properties: *ref_26
3353
+ required: *ref_27
3354
+ AmountType:
3355
+ title: AmountType
3356
+ type: string
3357
+ enum: *ref_94
3358
+ description: >-
3359
+ Below are the allowed values for the enumeration AmountType.
3360
+
3361
+ - SEND - Amount the Payer would like to send, that is, the amount that
3362
+ should be withdrawn from the Payer account including any fees.
3363
+
3364
+ - RECEIVE - Amount the Payer would like the Payee to receive, that is,
3365
+ the amount that should be sent to the receiver exclusive of any fees.
3366
+ example: RECEIVE
3367
+ Note:
3368
+ title: Note
3369
+ type: string
3370
+ minLength: 1
3371
+ maxLength: 128
3372
+ description: Memo assigned to transaction.
3373
+ example: Note sent to Payee.
3374
+ Money:
3375
+ title: Money
3376
+ type: object
3377
+ description: Data model for the complex type Money.
3378
+ properties: *ref_9
3379
+ required: *ref_10
3380
+ Latitude:
3381
+ title: Latitude
3382
+ type: string
3383
+ pattern: >-
3384
+ ^(\+|-)?(?:90(?:(?:\.0{1,6})?)|(?:[0-9]|[1-8][0-9])(?:(?:\.[0-9]{1,6})?))$
3385
+ description: >-
3386
+ The API data type Latitude is a JSON String in a lexical format that is
3387
+ restricted by a regular expression for interoperability reasons.
3388
+ example: '+45.4215'
3389
+ Longitude:
3390
+ title: Longitude
3391
+ type: string
3392
+ pattern: >-
3393
+ ^(\+|-)?(?:180(?:(?:\.0{1,6})?)|(?:[0-9]|[1-9][0-9]|1[0-7][0-9])(?:(?:\.[0-9]{1,6})?))$
3394
+ description: >-
3395
+ The API data type Longitude is a JSON String in a lexical format that is
3396
+ restricted by a regular expression for interoperability reasons.
3397
+ example: '+75.6972'
3398
+ GeoCode:
3399
+ title: GeoCode
3400
+ type: object
3401
+ description: >-
3402
+ Data model for the complex type GeoCode. Indicates the geographic
3403
+ location from where the transaction was initiated.
3404
+ properties: *ref_95
3405
+ required: *ref_96
3406
+ IlpPacket:
3407
+ title: IlpPacket
3408
+ type: string
3409
+ pattern: ^[A-Za-z0-9-_]+[=]{0,2}$
3410
+ minLength: 1
3411
+ maxLength: 32768
3412
+ description: Information for recipient (transport layer information).
3413
+ example: >-
3414
+ AYIBgQAAAAAAAASwNGxldmVsb25lLmRmc3AxLm1lci45T2RTOF81MDdqUUZERmZlakgyOVc4bXFmNEpLMHlGTFGCAUBQU0svMS4wCk5vbmNlOiB1SXlweUYzY3pYSXBFdzVVc05TYWh3CkVuY3J5cHRpb246IG5vbmUKUGF5bWVudC1JZDogMTMyMzZhM2ItOGZhOC00MTYzLTg0NDctNGMzZWQzZGE5OGE3CgpDb250ZW50LUxlbmd0aDogMTM1CkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbgpTZW5kZXItSWRlbnRpZmllcjogOTI4MDYzOTEKCiJ7XCJmZWVcIjowLFwidHJhbnNmZXJDb2RlXCI6XCJpbnZvaWNlXCIsXCJkZWJpdE5hbWVcIjpcImFsaWNlIGNvb3BlclwiLFwiY3JlZGl0TmFtZVwiOlwibWVyIGNoYW50XCIsXCJkZWJpdElkZW50aWZpZXJcIjpcIjkyODA2MzkxXCJ9IgA
3415
+ IlpCondition:
3416
+ title: IlpCondition
3417
+ type: string
3418
+ pattern: ^[A-Za-z0-9-_]{43}$
3419
+ maxLength: 48
3420
+ description: Condition that must be attached to the transfer by the Payer.
3421
+ QuotesIDPutResponse:
3422
+ title: QuotesIDPutResponse
3423
+ type: object
3424
+ description: The object sent in the PUT /quotes/{ID} callback.
3425
+ properties: *ref_97
3426
+ required: *ref_98
3427
+ IlpFulfilment:
3428
+ title: IlpFulfilment
3429
+ type: string
3430
+ pattern: ^[A-Za-z0-9-_]{43}$
3431
+ maxLength: 48
3432
+ description: Fulfilment that must be attached to the transfer by the Payee.
3433
+ example: WLctttbu2HvTsa1XWvUoGRcQozHsqeu9Ahl2JW9Bsu8
3434
+ TransferState:
3435
+ title: TransferState
3436
+ type: string
3437
+ enum: *ref_99
3438
+ description: >-
3439
+ Below are the allowed values for the enumeration.
3440
+
3441
+ - RECEIVED - Next ledger has received the transfer.
3442
+
3443
+ - RESERVED - Next ledger has reserved the transfer.
3444
+
3445
+ - COMMITTED - Next ledger has successfully performed the transfer.
3446
+
3447
+ - ABORTED - Next ledger has aborted the transfer due to a rejection or
3448
+ failure to perform the transfer.
3449
+ example: RESERVED
3450
+ TransfersIDPutResponse:
3451
+ title: TransfersIDPutResponse
3452
+ type: object
3453
+ description: The object sent in the PUT /transfers/{ID} callback.
3454
+ properties: *ref_100
3455
+ required: *ref_101
3456
+ ErrorCode:
3457
+ title: ErrorCode
3458
+ type: string
3459
+ pattern: ^[1-9]\d{3}$
3460
+ description: >-
3461
+ The API data type ErrorCode is a JSON String of four characters,
3462
+ consisting of digits only. Negative numbers are not allowed. A leading
3463
+ zero is not allowed. Each error code in the API is a four-digit number,
3464
+ for example, 1234, where the first number (1 in the example) represents
3465
+ the high-level error category, the second number (2 in the example)
3466
+ represents the low-level error category, and the last two numbers (34 in
3467
+ the example) represent the specific error.
3468
+ example: '5100'
3469
+ ErrorDescription:
3470
+ title: ErrorDescription
3471
+ type: string
3472
+ minLength: 1
3473
+ maxLength: 128
3474
+ description: Error description string.
3475
+ ErrorInformation:
3476
+ title: ErrorInformation
3477
+ type: object
3478
+ description: Data model for the complex type ErrorInformation.
3479
+ properties: *ref_102
3480
+ required: *ref_103
3481
+ mojaloopError:
3482
+ type: object
3483
+ properties: *ref_104
3484
+ transferError:
3485
+ type: object
3486
+ description: >-
3487
+ This object represents a Mojaloop API error received at any time during
3488
+ the transfer process
3489
+ properties: *ref_32
3490
+ bulkTransactionIndividualTransferResult:
3491
+ type: object
3492
+ required: *ref_105
3493
+ properties: *ref_106
3494
+ bulkTransactionResponse:
3495
+ title: BulkTransactionResponse
3496
+ type: object
3497
+ required: *ref_107
3498
+ properties: *ref_108