github.com/kaisawind/go-swagger@v0.19.0/fixtures/codegen/swagger-gsma.json (about)

     1  {
     2    "swagger": "2.0",
     3    "info": {
     4      "title": "Mobile Money API",
     5      "description": "This document defines the RESTful endpoints provided by the GSMA Mobile Money API",
     6      "version": "0.14"
     7    },
     8    "host": "gsma-harmonisation.symbox.com",
     9    "basePath": "/v0.14/MM",
    10    "schemes": [
    11      "https"
    12    ],
    13    "produces": [
    14      "application/json"
    15    ],
    16    "paths": {
    17      "/transactions": {
    18        "post": {
    19          "summary": "Create A Transaction",
    20          "description": "Provided with a valid object representation, this endpoint allows for a new transaction to be created",
    21          "consumes": [
    22            "application/json"
    23          ],
    24          "parameters": [
    25            {
    26              "$ref": "#/parameters/correlationId"
    27            },
    28            {
    29              "$ref": "#/parameters/date"
    30            },
    31            {
    32              "$ref": "#/parameters/requestTransaction"
    33            }
    34          ],
    35          "responses": {
    36            "201": {
    37              "$ref": "#/responses/responseTransaction"
    38            },
    39            "202": {
    40              "$ref": "#/responses/responseRequestState"
    41            },
    42            "400": {
    43              "$ref": "#/responses/error"
    44            },
    45            "401": {
    46              "$ref": "#/responses/error"
    47            },
    48            "404": {
    49              "$ref": "#/responses/error"
    50            },
    51            "500": {
    52              "$ref": "#/responses/error"
    53            },
    54            "503": {
    55              "$ref": "#/responses/error"
    56            }
    57          }
    58        }
    59      },
    60      "/transactions/{transactionReference}": {
    61        "get": {
    62          "summary": "View A Transaction",
    63          "description": "This endpoint returns the current state of a transaction",
    64          "parameters": [
    65            {
    66              "$ref": "#/parameters/date"
    67            },
    68            {
    69              "$ref": "#/parameters/transactionReference"
    70            }
    71          ],
    72          "responses": {
    73            "200": {
    74              "$ref": "#/responses/responseTransaction"
    75            },
    76            "400": {
    77              "$ref": "#/responses/error"
    78            },
    79            "401": {
    80              "$ref": "#/responses/error"
    81            },
    82            "404": {
    83              "$ref": "#/responses/error"
    84            },
    85            "500": {
    86              "$ref": "#/responses/error"
    87            },
    88            "503": {
    89              "$ref": "#/responses/error"
    90            }
    91          }
    92        }
    93      },
    94      "/transactions/{transactionReference}/reversals": {
    95        "post": {
    96          "summary": "Create A Reversal",
    97          "description": "Provided with a valid object representation, this endpoint allows for a new reversal to be created",
    98          "consumes": [
    99            "application/json"
   100          ],
   101          "parameters": [
   102            {
   103              "$ref": "#/parameters/correlationId"
   104            },
   105            {
   106              "$ref": "#/parameters/date"
   107            },
   108            {
   109              "$ref": "#/parameters/transactionReference"
   110            },
   111            {
   112              "$ref": "#/parameters/requestReversal"
   113            }
   114          ],
   115          "responses": {
   116            "201": {
   117              "$ref": "#/responses/responseReversal"
   118            },
   119            "202": {
   120              "$ref": "#/responses/responseRequestState"
   121            },
   122            "400": {
   123              "$ref": "#/responses/error"
   124            },
   125            "401": {
   126              "$ref": "#/responses/error"
   127            },
   128            "404": {
   129              "$ref": "#/responses/error"
   130            },
   131            "500": {
   132              "$ref": "#/responses/error"
   133            },
   134            "503": {
   135              "$ref": "#/responses/error"
   136            }
   137          }
   138        }
   139      },
   140      "/batchtransactions": {
   141        "post": {
   142          "summary": "Create A Transaction Batch",
   143          "description": "Provided with a valid object representation, this endpoint allows for a new transaction batch to be created",
   144          "consumes": [
   145            "application/json"
   146          ],
   147          "parameters": [
   148            {
   149              "$ref": "#/parameters/correlationId"
   150            },
   151            {
   152              "$ref": "#/parameters/date"
   153            },
   154            {
   155              "$ref": "#/parameters/requestBatchTransaction"
   156            }
   157          ],
   158          "responses": {
   159            "202": {
   160              "$ref": "#/responses/responseRequestState"
   161            },
   162            "400": {
   163              "$ref": "#/responses/error"
   164            },
   165            "401": {
   166              "$ref": "#/responses/error"
   167            },
   168            "404": {
   169              "$ref": "#/responses/error"
   170            },
   171            "500": {
   172              "$ref": "#/responses/error"
   173            },
   174            "503": {
   175              "$ref": "#/responses/error"
   176            }
   177          }
   178        }
   179      },
   180      "/batchtransactions/{batchId}": {
   181        "get": {
   182          "summary": "View A Transaction Batch",
   183          "description": "This endpoint returns the current status of a batch transaction",
   184          "consumes": [
   185            "application/json"
   186          ],
   187          "parameters": [
   188            {
   189              "$ref": "#/parameters/date"
   190            },
   191            {
   192              "$ref": "#/parameters/batchId"
   193            }
   194          ],
   195          "responses": {
   196            "200": {
   197              "$ref": "#/responses/responseBatchTransaction"
   198            },
   199            "400": {
   200              "$ref": "#/responses/error"
   201            },
   202            "401": {
   203              "$ref": "#/responses/error"
   204            },
   205            "404": {
   206              "$ref": "#/responses/error"
   207            },
   208            "500": {
   209              "$ref": "#/responses/error"
   210            },
   211            "503": {
   212              "$ref": "#/responses/error"
   213            }
   214          }
   215        },
   216        "patch": {
   217          "summary": "Update A Transaction Batch",
   218          "description": "This endpoint updates a specific transaction batch",
   219          "consumes": [
   220            "application/json"
   221          ],
   222          "parameters": [
   223            {
   224              "$ref": "#/parameters/date"
   225            },
   226            {
   227              "$ref": "#/parameters/correlationId"
   228            },
   229            {
   230              "$ref": "#/parameters/batchId"
   231            },
   232            {
   233              "$ref": "#/parameters/patch"
   234            }
   235          ],
   236          "responses": {
   237            "202": {
   238              "$ref": "#/responses/responseRequestState"
   239            },
   240            "204": {
   241              "description": "an empty response is returned for a synchronous successful patch"
   242            },
   243            "400": {
   244              "$ref": "#/responses/error"
   245            },
   246            "401": {
   247              "$ref": "#/responses/error"
   248            },
   249            "404": {
   250              "$ref": "#/responses/error"
   251            },
   252            "500": {
   253              "$ref": "#/responses/error"
   254            },
   255            "503": {
   256              "$ref": "#/responses/error"
   257            }
   258          }
   259        }
   260      },
   261      "/batchtransactions/{batchId}/rejections": {
   262        "get": {
   263          "summary": "View Batch Rejections",
   264          "description": "This endpoint returns rejected transactions for a specific batch",
   265          "parameters": [
   266            {
   267              "$ref": "#/parameters/date"
   268            },
   269            {
   270              "$ref": "#/parameters/batchId"
   271            },
   272            {
   273              "$ref": "#/parameters/limit"
   274            },
   275            {
   276              "$ref": "#/parameters/offset"
   277            },
   278            {
   279              "$ref": "#/parameters/fromDateTime"
   280            },
   281            {
   282              "$ref": "#/parameters/toDateTime"
   283            }
   284          ],
   285          "responses": {
   286            "200": {
   287              "$ref": "#/responses/listBatchRejection"
   288            },
   289            "400": {
   290              "$ref": "#/responses/error"
   291            },
   292            "401": {
   293              "$ref": "#/responses/error"
   294            },
   295            "404": {
   296              "$ref": "#/responses/error"
   297            },
   298            "500": {
   299              "$ref": "#/responses/error"
   300            },
   301            "503": {
   302              "$ref": "#/responses/error"
   303            }
   304          }
   305        }
   306      },
   307      "/batchtransactions/{batchId}/completions": {
   308        "get": {
   309          "summary": "View Batch Completions",
   310          "description": "This endpoint returns completed transactions for a specific batch",
   311          "parameters": [
   312            {
   313              "$ref": "#/parameters/date"
   314            },
   315            {
   316              "$ref": "#/parameters/batchId"
   317            },
   318            {
   319              "$ref": "#/parameters/limit"
   320            },
   321            {
   322              "$ref": "#/parameters/offset"
   323            },
   324            {
   325              "$ref": "#/parameters/fromDateTime"
   326            },
   327            {
   328              "$ref": "#/parameters/toDateTime"
   329            }
   330          ],
   331          "responses": {
   332            "200": {
   333              "$ref": "#/responses/listBatchCompletion"
   334            },
   335            "400": {
   336              "$ref": "#/responses/error"
   337            },
   338            "401": {
   339              "$ref": "#/responses/error"
   340            },
   341            "404": {
   342              "$ref": "#/responses/error"
   343            },
   344            "500": {
   345              "$ref": "#/responses/error"
   346            },
   347            "503": {
   348              "$ref": "#/responses/error"
   349            }
   350          }
   351        }
   352      },
   353      "/accounts/{accountId}/status": {
   354        "get": {
   355          "summary": "View Account Status",
   356          "description": "This endpoint returns the current status of an account",
   357          "parameters": [
   358            {
   359              "$ref": "#/parameters/date"
   360            },
   361            {
   362              "$ref": "#/parameters/accountId"
   363            }
   364          ],
   365          "responses": {
   366            "200": {
   367              "$ref": "#/responses/accountStatus"
   368            },
   369            "400": {
   370              "$ref": "#/responses/error"
   371            },
   372            "401": {
   373              "$ref": "#/responses/error"
   374            },
   375            "404": {
   376              "$ref": "#/responses/error"
   377            },
   378            "500": {
   379              "$ref": "#/responses/error"
   380            },
   381            "503": {
   382              "$ref": "#/responses/error"
   383            }
   384          }
   385        }
   386      },
   387      "/accounts/msisdn/{msisdn}/status": {
   388        "get": {
   389          "summary": "View Account Status",
   390          "description": "This endpoint returns the current status of an account (via MSISDN identifier)",
   391          "parameters": [
   392            {
   393              "$ref": "#/parameters/date"
   394            },
   395            {
   396              "$ref": "#/parameters/msisdn"
   397            }
   398          ],
   399          "responses": {
   400            "200": {
   401              "$ref": "#/responses/accountStatus"
   402            },
   403            "400": {
   404              "$ref": "#/responses/error"
   405            },
   406            "401": {
   407              "$ref": "#/responses/error"
   408            },
   409            "404": {
   410              "$ref": "#/responses/error"
   411            },
   412            "500": {
   413              "$ref": "#/responses/error"
   414            },
   415            "503": {
   416              "$ref": "#/responses/error"
   417            }
   418          }
   419        }
   420      },
   421      "/accounts/{accountId}/accountname": {
   422        "get": {
   423          "summary": "View Account Name",
   424          "description": "This endpoint returns the name of an account",
   425          "parameters": [
   426            {
   427              "$ref": "#/parameters/date"
   428            },
   429            {
   430              "$ref": "#/parameters/accountId"
   431            }
   432          ],
   433          "responses": {
   434            "200": {
   435              "$ref": "#/responses/accountName"
   436            },
   437            "400": {
   438              "$ref": "#/responses/error"
   439            },
   440            "401": {
   441              "$ref": "#/responses/error"
   442            },
   443            "404": {
   444              "$ref": "#/responses/error"
   445            },
   446            "500": {
   447              "$ref": "#/responses/error"
   448            },
   449            "503": {
   450              "$ref": "#/responses/error"
   451            }
   452          }
   453        }
   454      },
   455      "/accounts/msisdn/{msisdn}/accountname": {
   456        "get": {
   457          "summary": "View Account Name",
   458          "description": "This endpoint returns the name of an account (via MSISDN identifier)",
   459          "parameters": [
   460            {
   461              "$ref": "#/parameters/date"
   462            },
   463            {
   464              "$ref": "#/parameters/msisdn"
   465            }
   466          ],
   467          "responses": {
   468            "200": {
   469              "$ref": "#/responses/accountName"
   470            },
   471            "400": {
   472              "$ref": "#/responses/error"
   473            },
   474            "401": {
   475              "$ref": "#/responses/error"
   476            },
   477            "404": {
   478              "$ref": "#/responses/error"
   479            },
   480            "500": {
   481              "$ref": "#/responses/error"
   482            },
   483            "503": {
   484              "$ref": "#/responses/error"
   485            }
   486          }
   487        }
   488      },
   489      "/accounts/{accountId}/balance": {
   490        "get": {
   491          "summary": "View Account Balance",
   492          "description": "This endpoint returns the balance of an account",
   493          "parameters": [
   494            {
   495              "$ref": "#/parameters/date"
   496            },
   497            {
   498              "$ref": "#/parameters/accountId"
   499            }
   500          ],
   501          "responses": {
   502            "200": {
   503              "$ref": "#/responses/accountBalance"
   504            },
   505            "400": {
   506              "$ref": "#/responses/error"
   507            },
   508            "401": {
   509              "$ref": "#/responses/error"
   510            },
   511            "404": {
   512              "$ref": "#/responses/error"
   513            },
   514            "500": {
   515              "$ref": "#/responses/error"
   516            },
   517            "503": {
   518              "$ref": "#/responses/error"
   519            }
   520          }
   521        }
   522      },
   523      "/accounts/msisdn/{msisdn}/balance": {
   524        "get": {
   525          "summary": "View Account Balance",
   526          "description": "This endpoint returns the balance of an account (via MSISDN identifier)",
   527          "parameters": [
   528            {
   529              "$ref": "#/parameters/date"
   530            },
   531            {
   532              "$ref": "#/parameters/msisdn"
   533            }
   534          ],
   535          "responses": {
   536            "200": {
   537              "$ref": "#/responses/accountBalance"
   538            },
   539            "400": {
   540              "$ref": "#/responses/error"
   541            },
   542            "401": {
   543              "$ref": "#/responses/error"
   544            },
   545            "404": {
   546              "$ref": "#/responses/error"
   547            },
   548            "500": {
   549              "$ref": "#/responses/error"
   550            },
   551            "503": {
   552              "$ref": "#/responses/error"
   553            }
   554          }
   555        }
   556      },
   557      "/accounts/{accountId}/transactions": {
   558        "get": {
   559          "summary": "View Account Specific Transaction",
   560          "description": "This endpoint returns transactions linked to a specific account",
   561          "parameters": [
   562            {
   563              "$ref": "#/parameters/date"
   564            },
   565            {
   566              "$ref": "#/parameters/accountId"
   567            },
   568            {
   569              "$ref": "#/parameters/limit"
   570            },
   571            {
   572              "$ref": "#/parameters/offset"
   573            },
   574            {
   575              "$ref": "#/parameters/fromDateTime"
   576            },
   577            {
   578              "$ref": "#/parameters/toDateTime"
   579            }
   580          ],
   581          "responses": {
   582            "200": {
   583              "$ref": "#/responses/listTransaction"
   584            },
   585            "400": {
   586              "$ref": "#/responses/error"
   587            },
   588            "401": {
   589              "$ref": "#/responses/error"
   590            },
   591            "404": {
   592              "$ref": "#/responses/error"
   593            },
   594            "500": {
   595              "$ref": "#/responses/error"
   596            },
   597            "503": {
   598              "$ref": "#/responses/error"
   599            }
   600          }
   601        }
   602      },
   603      "/accounts/msisdn/{msisdn}/transactions": {
   604        "get": {
   605          "summary": "View Account Specific Transaction",
   606          "description": "This endpoint returns transactions linked to a specific account (via MSISDN identifier)",
   607          "parameters": [
   608            {
   609              "$ref": "#/parameters/date"
   610            },
   611            {
   612              "$ref": "#/parameters/msisdn"
   613            },
   614            {
   615              "$ref": "#/parameters/limit"
   616            },
   617            {
   618              "$ref": "#/parameters/offset"
   619            },
   620            {
   621              "$ref": "#/parameters/fromDateTime"
   622            },
   623            {
   624              "$ref": "#/parameters/toDateTime"
   625            }
   626          ],
   627          "responses": {
   628            "200": {
   629              "$ref": "#/responses/listTransaction"
   630            },
   631            "400": {
   632              "$ref": "#/responses/error"
   633            },
   634            "401": {
   635              "$ref": "#/responses/error"
   636            },
   637            "404": {
   638              "$ref": "#/responses/error"
   639            },
   640            "500": {
   641              "$ref": "#/responses/error"
   642            },
   643            "503": {
   644              "$ref": "#/responses/error"
   645            }
   646          }
   647        }
   648      },
   649      "/accounts/{accountId}/statemententries": {
   650        "get": {
   651          "summary": "View Account Statements",
   652          "description": "This endpoint returns statements linked to an account",
   653          "parameters": [
   654            {
   655              "$ref": "#/parameters/date"
   656            },
   657            {
   658              "$ref": "#/parameters/accountId"
   659            }
   660          ],
   661          "responses": {
   662            "200": {
   663              "$ref": "#/responses/listStatementEntry"
   664            },
   665            "400": {
   666              "$ref": "#/responses/error"
   667            },
   668            "401": {
   669              "$ref": "#/responses/error"
   670            },
   671            "404": {
   672              "$ref": "#/responses/error"
   673            },
   674            "500": {
   675              "$ref": "#/responses/error"
   676            },
   677            "503": {
   678              "$ref": "#/responses/error"
   679            }
   680          }
   681        }
   682      },
   683      "/accounts/msisdn/{msisdn}/statemententries": {
   684        "get": {
   685          "summary": "View Account Statements",
   686          "description": "This endpoint returns statements linked to an account (via MSISDN identifier)",
   687          "parameters": [
   688            {
   689              "$ref": "#/parameters/date"
   690            },
   691            {
   692              "$ref": "#/parameters/msisdn"
   693            }
   694          ],
   695          "responses": {
   696            "200": {
   697              "$ref": "#/responses/listStatementEntry"
   698            },
   699            "400": {
   700              "$ref": "#/responses/error"
   701            },
   702            "401": {
   703              "$ref": "#/responses/error"
   704            },
   705            "404": {
   706              "$ref": "#/responses/error"
   707            },
   708            "500": {
   709              "$ref": "#/responses/error"
   710            },
   711            "503": {
   712              "$ref": "#/responses/error"
   713            }
   714          }
   715        }
   716      },
   717      "/statemententries/{transactionReference}": {
   718        "get": {
   719          "summary": "View Specific Statement",
   720          "description": "This endpoint returns the statement of a specific transaction",
   721          "parameters": [
   722            {
   723              "$ref": "#/parameters/date"
   724            },
   725            {
   726              "$ref": "#/parameters/transactionReference"
   727            }
   728          ],
   729          "responses": {
   730            "200": {
   731              "$ref": "#/responses/statementEntry"
   732            },
   733            "400": {
   734              "$ref": "#/responses/error"
   735            },
   736            "401": {
   737              "$ref": "#/responses/error"
   738            },
   739            "404": {
   740              "$ref": "#/responses/error"
   741            },
   742            "500": {
   743              "$ref": "#/responses/error"
   744            },
   745            "503": {
   746              "$ref": "#/responses/error"
   747            }
   748          }
   749        }
   750      },
   751      "/accounts/{accountId}/bills": {
   752        "get": {
   753          "summary": "View Account Bills",
   754          "description": "This endpoint returns bills linked to an account",
   755          "parameters": [
   756            {
   757              "$ref": "#/parameters/date"
   758            },
   759            {
   760              "$ref": "#/parameters/accountId"
   761            }
   762          ],
   763          "responses": {
   764            "200": {
   765              "$ref": "#/responses/listBill"
   766            },
   767            "400": {
   768              "$ref": "#/responses/error"
   769            },
   770            "401": {
   771              "$ref": "#/responses/error"
   772            },
   773            "404": {
   774              "$ref": "#/responses/error"
   775            },
   776            "500": {
   777              "$ref": "#/responses/error"
   778            },
   779            "503": {
   780              "$ref": "#/responses/error"
   781            }
   782          }
   783        }
   784      },
   785      "/accounts/msisdn/{msisdn}/bills": {
   786        "get": {
   787          "summary": "View Account Bills",
   788          "description": "This endpoint returns bills linked to an account (via MSISDN identifier)",
   789          "parameters": [
   790            {
   791              "$ref": "#/parameters/date"
   792            },
   793            {
   794              "$ref": "#/parameters/msisdn"
   795            }
   796          ],
   797          "responses": {
   798            "200": {
   799              "$ref": "#/responses/listBill"
   800            },
   801            "400": {
   802              "$ref": "#/responses/error"
   803            },
   804            "401": {
   805              "$ref": "#/responses/error"
   806            },
   807            "404": {
   808              "$ref": "#/responses/error"
   809            },
   810            "500": {
   811              "$ref": "#/responses/error"
   812            },
   813            "503": {
   814              "$ref": "#/responses/error"
   815            }
   816          }
   817        }
   818      },
   819      "/accounts/{accountId}/bills/{billReference}/payments": {
   820        "post": {
   821          "summary": "Create A Bill Payment",
   822          "description": "Provided with a valid object representation, this endpoint allows for a new bill payment to be created for a specific account",
   823          "consumes": [
   824            "application/json"
   825          ],
   826          "parameters": [
   827            {
   828              "$ref": "#/parameters/date"
   829            },
   830            {
   831              "$ref": "#/parameters/correlationId"
   832            },
   833            {
   834              "$ref": "#/parameters/accountId"
   835            },
   836            {
   837              "$ref": "#/parameters/billReference"
   838            },
   839            {
   840              "$ref": "#/parameters/requestBillPayment"
   841            }
   842          ],
   843          "responses": {
   844            "201": {
   845              "$ref": "#/responses/responseBillPayment"
   846            },
   847            "202": {
   848              "$ref": "#/responses/responseRequestState"
   849            },
   850            "400": {
   851              "$ref": "#/responses/error"
   852            },
   853            "401": {
   854              "$ref": "#/responses/error"
   855            },
   856            "404": {
   857              "$ref": "#/responses/error"
   858            },
   859            "500": {
   860              "$ref": "#/responses/error"
   861            },
   862            "503": {
   863              "$ref": "#/responses/error"
   864            }
   865          }
   866        }
   867      },
   868      "/accounts/msisdn/{msisdn}/bills/{billReference}/payments": {
   869        "post": {
   870          "summary": "Create A Bill Payment",
   871          "description": "Provided with a valid object representation, this endpoint allows for a new bill payment to be created for a specific account (via MSISDN identifier)",
   872          "consumes": [
   873            "application/json"
   874          ],
   875          "parameters": [
   876            {
   877              "$ref": "#/parameters/date"
   878            },
   879            {
   880              "$ref": "#/parameters/correlationId"
   881            },
   882            {
   883              "$ref": "#/parameters/msisdn"
   884            },
   885            {
   886              "$ref": "#/parameters/billReference"
   887            },
   888            {
   889              "$ref": "#/parameters/requestBillPayment"
   890            }
   891          ],
   892          "responses": {
   893            "201": {
   894              "$ref": "#/responses/responseBillPayment"
   895            },
   896            "202": {
   897              "$ref": "#/responses/responseRequestState"
   898            },
   899            "400": {
   900              "$ref": "#/responses/error"
   901            },
   902            "401": {
   903              "$ref": "#/responses/error"
   904            },
   905            "404": {
   906              "$ref": "#/responses/error"
   907            },
   908            "500": {
   909              "$ref": "#/responses/error"
   910            },
   911            "503": {
   912              "$ref": "#/responses/error"
   913            }
   914          }
   915        }
   916      },
   917      "/bills/{billReference}/payments": {
   918        "post": {
   919          "summary": "Create A Bill Payment",
   920          "description": "Provided with a valid object representation, this endpoint allows for a new bill payment to be created",
   921          "consumes": [
   922            "application/json"
   923          ],
   924          "parameters": [
   925            {
   926              "$ref": "#/parameters/date"
   927            },
   928            {
   929              "$ref": "#/parameters/correlationId"
   930            },
   931            {
   932              "$ref": "#/parameters/billReference"
   933            },
   934            {
   935              "$ref": "#/parameters/requestBillPayment"
   936            }
   937          ],
   938          "responses": {
   939            "201": {
   940              "$ref": "#/responses/responseBillPayment"
   941            },
   942            "202": {
   943              "$ref": "#/responses/responseRequestState"
   944            },
   945            "400": {
   946              "$ref": "#/responses/error"
   947            },
   948            "401": {
   949              "$ref": "#/responses/error"
   950            },
   951            "404": {
   952              "$ref": "#/responses/error"
   953            },
   954            "500": {
   955              "$ref": "#/responses/error"
   956            },
   957            "503": {
   958              "$ref": "#/responses/error"
   959            }
   960          }
   961        }
   962      },
   963      "/accounts/{accountId}/debitmandates": {
   964        "post": {
   965          "summary": "Create A Debit Mandate",
   966          "description": "Provided with a valid object representation, this endpoint allows for a new debit mandate to be created for a specific account",
   967          "consumes": [
   968            "application/json"
   969          ],
   970          "parameters": [
   971            {
   972              "$ref": "#/parameters/date"
   973            },
   974            {
   975              "$ref": "#/parameters/correlationId"
   976            },
   977            {
   978              "$ref": "#/parameters/accountId"
   979            },
   980            {
   981              "$ref": "#/parameters/requestDebitMandate"
   982            }
   983          ],
   984          "responses": {
   985            "201": {
   986              "$ref": "#/responses/responseDebitMandate"
   987            },
   988            "202": {
   989              "$ref": "#/responses/responseRequestState"
   990            },
   991            "400": {
   992              "$ref": "#/responses/error"
   993            },
   994            "401": {
   995              "$ref": "#/responses/error"
   996            },
   997            "404": {
   998              "$ref": "#/responses/error"
   999            },
  1000            "500": {
  1001              "$ref": "#/responses/error"
  1002            },
  1003            "503": {
  1004              "$ref": "#/responses/error"
  1005            }
  1006          }
  1007        }
  1008      },
  1009      "/accounts/msisdn/{msisdn}/debitmandates": {
  1010        "post": {
  1011          "summary": "Create A Debit Mandate",
  1012          "description": "Provided with a valid object representation, this endpoint allows for a new debit mandate to be created for a specific account (via MSISDN identifier)",
  1013          "consumes": [
  1014            "application/json"
  1015          ],
  1016          "parameters": [
  1017            {
  1018              "$ref": "#/parameters/date"
  1019            },
  1020            {
  1021              "$ref": "#/parameters/correlationId"
  1022            },
  1023            {
  1024              "$ref": "#/parameters/msisdn"
  1025            },
  1026            {
  1027              "$ref": "#/parameters/requestDebitMandate"
  1028            }
  1029          ],
  1030          "responses": {
  1031            "201": {
  1032              "$ref": "#/responses/responseDebitMandate"
  1033            },
  1034            "202": {
  1035              "$ref": "#/responses/responseRequestState"
  1036            },
  1037            "400": {
  1038              "$ref": "#/responses/error"
  1039            },
  1040            "401": {
  1041              "$ref": "#/responses/error"
  1042            },
  1043            "404": {
  1044              "$ref": "#/responses/error"
  1045            },
  1046            "500": {
  1047              "$ref": "#/responses/error"
  1048            },
  1049            "503": {
  1050              "$ref": "#/responses/error"
  1051            }
  1052          }
  1053        }
  1054      },
  1055      "/accounts/{accountId}/debitmandates/{debitMandateReference}": {
  1056        "patch": {
  1057          "summary": "Update A Debit Mandate",
  1058          "description": "This endpoint updates a specific debit mandate linked to an account",
  1059          "consumes": [
  1060            "application/json"
  1061          ],
  1062          "parameters": [
  1063            {
  1064              "$ref": "#/parameters/date"
  1065            },
  1066            {
  1067              "$ref": "#/parameters/correlationId"
  1068            },
  1069            {
  1070              "$ref": "#/parameters/accountId"
  1071            },
  1072            {
  1073              "$ref": "#/parameters/debitMandateReference"
  1074            },
  1075            {
  1076              "$ref": "#/parameters/patch"
  1077            }
  1078          ],
  1079          "responses": {
  1080            "202": {
  1081              "$ref": "#/responses/responseRequestState"
  1082            },
  1083            "204": {
  1084              "description": "an empty response is returned for a synchronous successful patch"
  1085            },
  1086            "400": {
  1087              "$ref": "#/responses/error"
  1088            },
  1089            "401": {
  1090              "$ref": "#/responses/error"
  1091            },
  1092            "404": {
  1093              "$ref": "#/responses/error"
  1094            },
  1095            "500": {
  1096              "$ref": "#/responses/error"
  1097            },
  1098            "503": {
  1099              "$ref": "#/responses/error"
  1100            }
  1101          }
  1102        },
  1103        "get": {
  1104          "summary": "View A Debit Mandate",
  1105          "description": "This endpoint returns a specific debit mandate linked to an account",
  1106          "parameters": [
  1107            {
  1108              "$ref": "#/parameters/date"
  1109            },
  1110            {
  1111              "$ref": "#/parameters/accountId"
  1112            },
  1113            {
  1114              "$ref": "#/parameters/debitMandateReference"
  1115            }
  1116          ],
  1117          "responses": {
  1118            "200": {
  1119              "$ref": "#/responses/responseDebitMandate"
  1120            },
  1121            "400": {
  1122              "$ref": "#/responses/error"
  1123            },
  1124            "401": {
  1125              "$ref": "#/responses/error"
  1126            },
  1127            "404": {
  1128              "$ref": "#/responses/error"
  1129            },
  1130            "500": {
  1131              "$ref": "#/responses/error"
  1132            },
  1133            "503": {
  1134              "$ref": "#/responses/error"
  1135            }
  1136          }
  1137        }
  1138      },
  1139      "/accounts/msisdn/{msisdn}/debitmandates/{debitMandateReference}": {
  1140        "patch": {
  1141          "summary": "Update A Debit Mandate",
  1142          "description": "This endpoint updates a specific debit mandate linked to an account (via MSISDN identifier)",
  1143          "consumes": [
  1144            "application/json"
  1145          ],
  1146          "parameters": [
  1147            {
  1148              "$ref": "#/parameters/date"
  1149            },
  1150            {
  1151              "$ref": "#/parameters/correlationId"
  1152            },
  1153            {
  1154              "$ref": "#/parameters/msisdn"
  1155            },
  1156            {
  1157              "$ref": "#/parameters/debitMandateReference"
  1158            },
  1159            {
  1160              "$ref": "#/parameters/patch"
  1161            }
  1162          ],
  1163          "responses": {
  1164            "202": {
  1165              "$ref": "#/responses/responseRequestState"
  1166            },
  1167            "204": {
  1168              "description": "an empty response is returned for a synchronous successful patch"
  1169            },
  1170            "400": {
  1171              "$ref": "#/responses/error"
  1172            },
  1173            "401": {
  1174              "$ref": "#/responses/error"
  1175            },
  1176            "404": {
  1177              "$ref": "#/responses/error"
  1178            },
  1179            "500": {
  1180              "$ref": "#/responses/error"
  1181            },
  1182            "503": {
  1183              "$ref": "#/responses/error"
  1184            }
  1185          }
  1186        },
  1187        "get": {
  1188          "summary": "View A Debit Mandate",
  1189          "description": "This endpoint returns a specific debit mandate linked to an account (via MSISDN identifier)",
  1190          "parameters": [
  1191            {
  1192              "$ref": "#/parameters/date"
  1193            },
  1194            {
  1195              "$ref": "#/parameters/msisdn"
  1196            },
  1197            {
  1198              "$ref": "#/parameters/debitMandateReference"
  1199            }
  1200          ],
  1201          "responses": {
  1202            "200": {
  1203              "$ref": "#/responses/responseDebitMandate"
  1204            },
  1205            "400": {
  1206              "$ref": "#/responses/error"
  1207            },
  1208            "401": {
  1209              "$ref": "#/responses/error"
  1210            },
  1211            "404": {
  1212              "$ref": "#/responses/error"
  1213            },
  1214            "500": {
  1215              "$ref": "#/responses/error"
  1216            },
  1217            "503": {
  1218              "$ref": "#/responses/error"
  1219            }
  1220          }
  1221        }
  1222      },
  1223      "/accounts/{accountId}/links": {
  1224        "post": {
  1225          "summary": "Create A Link",
  1226          "description": "Provided with a valid object representation, this endpoint allows for a new link to be created for a specific account",
  1227          "consumes": [
  1228            "application/json"
  1229          ],
  1230          "parameters": [
  1231            {
  1232              "$ref": "#/parameters/date"
  1233            },
  1234            {
  1235              "$ref": "#/parameters/correlationId"
  1236            },
  1237            {
  1238              "$ref": "#/parameters/accountId"
  1239            },
  1240            {
  1241              "$ref": "#/parameters/requestLink"
  1242            }
  1243          ],
  1244          "responses": {
  1245            "201": {
  1246              "$ref": "#/responses/responseLink"
  1247            },
  1248            "202": {
  1249              "$ref": "#/responses/responseRequestState"
  1250            },
  1251            "400": {
  1252              "$ref": "#/responses/error"
  1253            },
  1254            "401": {
  1255              "$ref": "#/responses/error"
  1256            },
  1257            "404": {
  1258              "$ref": "#/responses/error"
  1259            },
  1260            "500": {
  1261              "$ref": "#/responses/error"
  1262            },
  1263            "503": {
  1264              "$ref": "#/responses/error"
  1265            }
  1266          }
  1267        }
  1268      },
  1269      "/accounts/msisdn/{msisdn}/links": {
  1270        "post": {
  1271          "summary": "Create A Link",
  1272          "description": "Provided with a valid object representation, this endpoint allows for a new link to be created for a specific account (via MSISDN identifier)",
  1273          "consumes": [
  1274            "application/json"
  1275          ],
  1276          "parameters": [
  1277            {
  1278              "$ref": "#/parameters/date"
  1279            },
  1280            {
  1281              "$ref": "#/parameters/correlationId"
  1282            },
  1283            {
  1284              "$ref": "#/parameters/msisdn"
  1285            },
  1286            {
  1287              "$ref": "#/parameters/requestLink"
  1288            }
  1289          ],
  1290          "responses": {
  1291            "201": {
  1292              "$ref": "#/responses/responseLink"
  1293            },
  1294            "202": {
  1295              "$ref": "#/responses/responseRequestState"
  1296            },
  1297            "400": {
  1298              "$ref": "#/responses/error"
  1299            },
  1300            "401": {
  1301              "$ref": "#/responses/error"
  1302            },
  1303            "404": {
  1304              "$ref": "#/responses/error"
  1305            },
  1306            "500": {
  1307              "$ref": "#/responses/error"
  1308            },
  1309            "503": {
  1310              "$ref": "#/responses/error"
  1311            }
  1312          }
  1313        }
  1314      },
  1315      "/accounts/{accountId}/links/{linkReference}": {
  1316        "patch": {
  1317          "summary": "Update A Link",
  1318          "description": "This endpoint updates a specific link",
  1319          "consumes": [
  1320            "application/json"
  1321          ],
  1322          "parameters": [
  1323            {
  1324              "$ref": "#/parameters/date"
  1325            },
  1326            {
  1327              "$ref": "#/parameters/correlationId"
  1328            },
  1329            {
  1330              "$ref": "#/parameters/accountId"
  1331            },
  1332            {
  1333              "$ref": "#/parameters/linkReference"
  1334            },
  1335            {
  1336              "$ref": "#/parameters/patch"
  1337            }
  1338          ],
  1339          "responses": {
  1340            "202": {
  1341              "$ref": "#/responses/responseRequestState"
  1342            },
  1343            "204": {
  1344              "description": "an empty response is returned for a synchronous successful patch"
  1345            },
  1346            "400": {
  1347              "$ref": "#/responses/error"
  1348            },
  1349            "401": {
  1350              "$ref": "#/responses/error"
  1351            },
  1352            "404": {
  1353              "$ref": "#/responses/error"
  1354            },
  1355            "500": {
  1356              "$ref": "#/responses/error"
  1357            },
  1358            "503": {
  1359              "$ref": "#/responses/error"
  1360            }
  1361          }
  1362        },
  1363        "get": {
  1364          "summary": "View A Link",
  1365          "description": "This endpoint returns a specific link",
  1366          "parameters": [
  1367            {
  1368              "$ref": "#/parameters/date"
  1369            },
  1370            {
  1371              "$ref": "#/parameters/accountId"
  1372            },
  1373            {
  1374              "$ref": "#/parameters/linkReference"
  1375            }
  1376          ],
  1377          "responses": {
  1378            "200": {
  1379              "$ref": "#/responses/responseDebitMandate"
  1380            },
  1381            "400": {
  1382              "$ref": "#/responses/error"
  1383            },
  1384            "401": {
  1385              "$ref": "#/responses/error"
  1386            },
  1387            "404": {
  1388              "$ref": "#/responses/error"
  1389            },
  1390            "500": {
  1391              "$ref": "#/responses/error"
  1392            },
  1393            "503": {
  1394              "$ref": "#/responses/error"
  1395            }
  1396          }
  1397        }
  1398      },
  1399      "/accounts/msisdn/{msisdn}/links/{linkReference}": {
  1400        "patch": {
  1401          "summary": "Update A Link",
  1402          "description": "This endpoint updates a specific link (via MSISDN identifier)",
  1403          "consumes": [
  1404            "application/json"
  1405          ],
  1406          "parameters": [
  1407            {
  1408              "$ref": "#/parameters/date"
  1409            },
  1410            {
  1411              "$ref": "#/parameters/correlationId"
  1412            },
  1413            {
  1414              "$ref": "#/parameters/msisdn"
  1415            },
  1416            {
  1417              "$ref": "#/parameters/linkReference"
  1418            },
  1419            {
  1420              "$ref": "#/parameters/patch"
  1421            }
  1422          ],
  1423          "responses": {
  1424            "202": {
  1425              "$ref": "#/responses/responseRequestState"
  1426            },
  1427            "204": {
  1428              "description": "an empty response is returned for a synchronous successful patch"
  1429            },
  1430            "400": {
  1431              "$ref": "#/responses/error"
  1432            },
  1433            "401": {
  1434              "$ref": "#/responses/error"
  1435            },
  1436            "404": {
  1437              "$ref": "#/responses/error"
  1438            },
  1439            "500": {
  1440              "$ref": "#/responses/error"
  1441            },
  1442            "503": {
  1443              "$ref": "#/responses/error"
  1444            }
  1445          }
  1446        },
  1447        "get": {
  1448          "summary": "View A Link",
  1449          "description": "This endpoint returns a specific link (via MSISDN identifier)",
  1450          "parameters": [
  1451            {
  1452              "$ref": "#/parameters/date"
  1453            },
  1454            {
  1455              "$ref": "#/parameters/msisdn"
  1456            },
  1457            {
  1458              "$ref": "#/parameters/linkReference"
  1459            }
  1460          ],
  1461          "responses": {
  1462            "200": {
  1463              "$ref": "#/responses/responseDebitMandate"
  1464            },
  1465            "400": {
  1466              "$ref": "#/responses/error"
  1467            },
  1468            "401": {
  1469              "$ref": "#/responses/error"
  1470            },
  1471            "404": {
  1472              "$ref": "#/responses/error"
  1473            },
  1474            "500": {
  1475              "$ref": "#/responses/error"
  1476            },
  1477            "503": {
  1478              "$ref": "#/responses/error"
  1479            }
  1480          }
  1481        }
  1482      },
  1483      "/quotations": {
  1484        "post": {
  1485          "summary": "Create A New Quotation",
  1486          "description": "Provided with a valid object representation, this endpoint allows for a new quotation to be created",
  1487          "consumes": [
  1488            "application/json"
  1489          ],
  1490          "parameters": [
  1491            {
  1492              "$ref": "#/parameters/date"
  1493            },
  1494            {
  1495              "$ref": "#/parameters/correlationId"
  1496            },
  1497            {
  1498              "$ref": "#/parameters/requestQuotation"
  1499            }
  1500          ],
  1501          "responses": {
  1502            "201": {
  1503              "$ref": "#/responses/responseQuotation"
  1504            },
  1505            "202": {
  1506              "$ref": "#/responses/responseRequestState"
  1507            },
  1508            "400": {
  1509              "$ref": "#/responses/error"
  1510            },
  1511            "401": {
  1512              "$ref": "#/responses/error"
  1513            },
  1514            "404": {
  1515              "$ref": "#/responses/error"
  1516            },
  1517            "500": {
  1518              "$ref": "#/responses/error"
  1519            },
  1520            "503": {
  1521              "$ref": "#/responses/error"
  1522            }
  1523          }
  1524        }
  1525      },
  1526      "/quotations/{quotationReference}": {
  1527        "patch": {
  1528          "summary": "Update A Quotation",
  1529          "description": "This endpoint updates a specific quotation",
  1530          "consumes": [
  1531            "application/json"
  1532          ],
  1533          "parameters": [
  1534            {
  1535              "$ref": "#/parameters/date"
  1536            },
  1537            {
  1538              "$ref": "#/parameters/correlationId"
  1539            },
  1540            {
  1541              "$ref": "#/parameters/quotationReference"
  1542            },
  1543            {
  1544              "$ref": "#/parameters/patch"
  1545            }
  1546          ],
  1547          "responses": {
  1548            "202": {
  1549              "$ref": "#/responses/responseRequestState"
  1550            },
  1551            "204": {
  1552              "description": "an empty response is returned for a synchronous successful patch"
  1553            },
  1554            "400": {
  1555              "$ref": "#/responses/error"
  1556            },
  1557            "401": {
  1558              "$ref": "#/responses/error"
  1559            },
  1560            "404": {
  1561              "$ref": "#/responses/error"
  1562            },
  1563            "500": {
  1564              "$ref": "#/responses/error"
  1565            },
  1566            "503": {
  1567              "$ref": "#/responses/error"
  1568            }
  1569          }
  1570        },
  1571        "get": {
  1572          "summary": "View A Quotation",
  1573          "description": "This endpoint returns a specific quotation",
  1574          "parameters": [
  1575            {
  1576              "$ref": "#/parameters/date"
  1577            },
  1578            {
  1579              "$ref": "#/parameters/quotationReference"
  1580            }
  1581          ],
  1582          "responses": {
  1583            "200": {
  1584              "$ref": "#/responses/responseQuotation"
  1585            },
  1586            "400": {
  1587              "$ref": "#/responses/error"
  1588            },
  1589            "401": {
  1590              "$ref": "#/responses/error"
  1591            },
  1592            "404": {
  1593              "$ref": "#/responses/error"
  1594            },
  1595            "500": {
  1596              "$ref": "#/responses/error"
  1597            },
  1598            "503": {
  1599              "$ref": "#/responses/error"
  1600            }
  1601          }
  1602        }
  1603      },
  1604      "/heartbeat": {
  1605        "get": {
  1606          "summary": "Check API availability",
  1607          "description": "This endpoint returns the current status of the API",
  1608          "parameters": [
  1609            {
  1610              "$ref": "#/parameters/date"
  1611            }
  1612          ],
  1613          "responses": {
  1614            "200": {
  1615              "$ref": "#/responses/heartbeat"
  1616            },
  1617            "400": {
  1618              "$ref": "#/responses/error"
  1619            },
  1620            "401": {
  1621              "$ref": "#/responses/error"
  1622            },
  1623            "404": {
  1624              "$ref": "#/responses/error"
  1625            },
  1626            "500": {
  1627              "$ref": "#/responses/error"
  1628            },
  1629            "503": {
  1630              "$ref": "#/responses/error"
  1631            }
  1632          }
  1633        }
  1634      },
  1635      "/requeststates/{serverCorrelationId}": {
  1636        "patch": {
  1637          "summary": "Update A Request State",
  1638          "description": "This endpoint updates a specific request state",
  1639          "consumes": [
  1640            "application/json"
  1641          ],
  1642          "parameters": [
  1643            {
  1644              "$ref": "#/parameters/date"
  1645            },
  1646            {
  1647              "$ref": "#/parameters/correlationId"
  1648            },
  1649            {
  1650              "$ref": "#/parameters/serverCorrelationId"
  1651            },
  1652            {
  1653              "$ref": "#/parameters/patch"
  1654            }
  1655          ],
  1656          "responses": {
  1657            "204": {
  1658              "description": "an empty response is returned for a synchronous successful patch"
  1659            },
  1660            "400": {
  1661              "$ref": "#/responses/error"
  1662            },
  1663            "401": {
  1664              "$ref": "#/responses/error"
  1665            },
  1666            "404": {
  1667              "$ref": "#/responses/error"
  1668            },
  1669            "500": {
  1670              "$ref": "#/responses/error"
  1671            },
  1672            "503": {
  1673              "$ref": "#/responses/error"
  1674            }
  1675          }
  1676        },
  1677        "get": {
  1678          "summary": "View A Request State",
  1679          "description": "This endpoint returns a specific request state",
  1680          "parameters": [
  1681            {
  1682              "$ref": "#/parameters/date"
  1683            },
  1684            {
  1685              "$ref": "#/parameters/serverCorrelationId"
  1686            }
  1687          ],
  1688          "responses": {
  1689            "200": {
  1690              "$ref": "#/responses/responseRequestState"
  1691            },
  1692            "401": {
  1693              "$ref": "#/responses/error"
  1694            },
  1695            "404": {
  1696              "$ref": "#/responses/error"
  1697            },
  1698            "500": {
  1699              "$ref": "#/responses/error"
  1700            },
  1701            "503": {
  1702              "$ref": "#/responses/error"
  1703            }
  1704          }
  1705        }
  1706      },
  1707      "/responses/{clientCorrelationId}": {
  1708        "get": {
  1709          "summary": "View A Response",
  1710          "description": "This endpoint returns a specfic response",
  1711          "parameters": [
  1712            {
  1713              "$ref": "#/parameters/date"
  1714            },
  1715            {
  1716              "$ref": "#/parameters/clientCorrelationId"
  1717            }
  1718          ],
  1719          "responses": {
  1720            "200": {
  1721              "$ref": "#/responses/response"
  1722            },
  1723            "401": {
  1724              "$ref": "#/responses/error"
  1725            },
  1726            "404": {
  1727              "$ref": "#/responses/error"
  1728            },
  1729            "500": {
  1730              "$ref": "#/responses/error"
  1731            },
  1732            "503": {
  1733              "$ref": "#/responses/error"
  1734            }
  1735          }
  1736        }
  1737      }
  1738    },
  1739    "definitions": {
  1740      "baseTransaction": {
  1741        "type": "object",
  1742        "required": [
  1743          "amount",
  1744          "currency",
  1745          "type",
  1746          "requestDate",
  1747          "debitParty",
  1748          "creditParty"
  1749        ],
  1750        "properties": {
  1751          "amount": {
  1752            "type": "string",
  1753            "pattern": "^\\d+\\.\\d{2}$",
  1754            "description": "Principle Transaction Amount.",
  1755            "minLength": 4,
  1756            "maxLength": 256
  1757          },
  1758          "currency": {
  1759            "description": "Currency of the principal transaction amount.",
  1760            "$ref": "#/definitions/currenciesEnum"
  1761          },
  1762          "type": {
  1763            "description": "The harmonised Transaction Type",
  1764            "$ref": "#/definitions/transactionTypeEnum"
  1765          },
  1766          "subType": {
  1767            "type": "string",
  1768            "description": "A non-harmonised sub-classification of the type of transaction. Values are not fixed and usage will vary according to Provider.",
  1769            "minLength": 0,
  1770            "maxLength": 256
  1771          },
  1772          "descriptionText": {
  1773            "type": "string",
  1774            "description": "Free format text description of the transaction provided by the client. This can be provided as a reference for the receiver on the SMS and on the account statement.",
  1775            "minLength": 0,
  1776            "maxLength": 160
  1777          },
  1778          "requestDate": {
  1779            "type": "string",
  1780            "description": "The creation date and time of the transaction as supplied by the client.",
  1781            "format": "date-time"
  1782          },
  1783          "requestingOrganisationTransactionReference": {
  1784            "type": "string",
  1785            "description": "A reference provided by the requesting organisation that is to be associated with the transaction.",
  1786            "minLength": 0,
  1787            "maxLength": 256
  1788          },
  1789          "oneTimeCode": {
  1790            "type": "string",
  1791            "description": "A one-time code that can be supplied in the request or can be generated in the response depending upon the use case.",
  1792            "minLength": 0,
  1793            "maxLength": 256
  1794          },
  1795          "geoCode": {
  1796            "type": "string",
  1797            "pattern": "^(-?(90|(\\d|[1-8]\\d)(\\.\\d{1,6}){0,1}))\\,{1}(-?(180|(\\d|\\d\\d|1[0-7]\\d)(\\.\\d{1,6}){0,1}))$",
  1798            "description": "Indicates the geographic location from where the transaction was initiated.",
  1799            "minLength": 0,
  1800            "maxLength": 256
  1801          },
  1802          "debitParty": {
  1803            "type": "array",
  1804            "description": "A collection of key/value pairs that enable the debit party to be identified. Keys include MSISDN and Wallet Identifier.",
  1805            "minItems": 1,
  1806            "maxItems": 10,
  1807            "items": {
  1808              "$ref": "#/definitions/accountIdentifierBase"
  1809            }
  1810          },
  1811          "creditParty": {
  1812            "type": "array",
  1813            "description": "A series of key/value pairs that enable the credit party to be identified. Keys include MSISDN and Wallet Identifier.",
  1814            "minItems": 1,
  1815            "maxItems": 10,
  1816            "items": {
  1817              "$ref": "#/definitions/accountIdentifierBase"
  1818            }
  1819          },
  1820          "senderKyc": {
  1821            "description": "A collection of properties detailing the KYC of the transaction Sender, typically used for International Transfers.",
  1822            "$ref": "#/definitions/kyc"
  1823          },
  1824          "recipientKyc": {
  1825            "description": "A collection of properties detailed the KYC of the transaction Recipient, typically used for International Transfers.",
  1826            "$ref": "#/definitions/kyc"
  1827          },
  1828          "originalTransactionReference": {
  1829            "type": "string",
  1830            "description": "For reversals and refunds, this property indicates the transaction which is the subject of the reversal.",
  1831            "minLength": 0,
  1832            "maxLength": 256
  1833          },
  1834          "servicingIdentity": {
  1835            "type": "string",
  1836            "description": "The property is used to identify the servicing identity for �present� transactions, e.g. till, POS ID, assistant ID",
  1837            "minLength": 0,
  1838            "maxLength": 256
  1839          },
  1840          "requestingLei": {
  1841            "type": "string",
  1842            "pattern": "^[A-Z0-9]{4}00[A-Z0-9]{12}\\d{2}$",
  1843            "description": "Legal Entity Identifier of the organisation that is requesting the transaction.",
  1844            "minLength": 0,
  1845            "maxLength": 20
  1846          },
  1847          "receivingLei": {
  1848            "type": "string",
  1849            "pattern": "^[A-Z0-9]{4}00[A-Z0-9]{12}\\d{2}$",
  1850            "description": "Legal Entity Identifier of the organisation that is receiving the transaction.",
  1851            "minLength": 0,
  1852            "maxLength": 20
  1853          },
  1854          "metadata": {
  1855            "type": "array",
  1856            "description": "A collection of key/value pairs. These can be used to populate additional transaction properties.",
  1857            "maxItems": 20,
  1858            "items": {
  1859              "$ref": "#/definitions/metadata"
  1860            }
  1861          }
  1862        }
  1863      },
  1864      "requestTransaction": {
  1865        "allOf": [
  1866          {
  1867            "$ref": "#/definitions/baseTransaction"
  1868          },
  1869          {
  1870            "type": "object",
  1871            "properties": {
  1872              "transactionStatus": {
  1873                "type": "string",
  1874                "description": "Indicates the status of the transaction as stored by the API provider.",
  1875                "minLength": 0,
  1876                "maxLength": 256
  1877              },
  1878              "internationalTransferInformation": {
  1879                "$ref": "#/definitions/internationalTransfer"
  1880              }
  1881            }
  1882          }
  1883        ]
  1884      },
  1885      "responseTransaction": {
  1886        "allOf": [
  1887          {
  1888            "$ref": "#/definitions/baseTransaction"
  1889          },
  1890          {
  1891            "type": "object",
  1892            "required": [
  1893              "transactionStatus",
  1894              "transactionReference"
  1895            ],
  1896            "properties": {
  1897              "transactionStatus": {
  1898                "type": "string",
  1899                "description": "Indicates the status of the transaction as stored by the API provider.",
  1900                "minLength": 1,
  1901                "maxLength": 256
  1902              },
  1903              "creationDate": {
  1904                "type": "string",
  1905                "format": "date-time",
  1906                "description": "Date and time when the transaction was created by the API Provider."
  1907              },
  1908              "modificationDate": {
  1909                "type": "string",
  1910                "format": "date-time",
  1911                "description": "Date and time when the transaction was modified by the API Provider."
  1912              },
  1913              "transactionReference": {
  1914                "type": "string",
  1915                "description": "Unique reference for the transaction. This is returned in the response by API provider.",
  1916                "minLength": 1,
  1917                "maxLength": 256
  1918              },
  1919              "transactionReceipt": {
  1920                "type": "string",
  1921                "description": "Transaction receipt number as notified to the parties. This may differ from the Transaction Reference.",
  1922                "minLength": 0,
  1923                "maxLength": 256
  1924              },
  1925              "internationalTransferInformation": {
  1926                "description": "A collection of properties detailed information specifically used for international transfers.",
  1927                "$ref": "#/definitions/internationalTransferResponse"
  1928              }
  1929            }
  1930          }
  1931        ]
  1932      },
  1933      "internationalTransfer": {
  1934        "type": "object",
  1935        "required": [
  1936          "originCountry"
  1937        ],
  1938        "properties": {
  1939          "originCountry": {
  1940            "description": "The originating country of the transaction, i.e. the country where the transaction commenced.",
  1941            "$ref": "#/definitions/countriesEnum"
  1942          },
  1943          "quotationReference": {
  1944            "description": "Reference for the quotation that was provider to the sender.",
  1945            "type": "string",
  1946            "minLength": 0,
  1947            "maxLength": 256
  1948          },
  1949          "quoteId": {
  1950            "type": "string",
  1951            "description": "The specific quote associated with the quotation.",
  1952            "minLength": 0,
  1953            "maxLength": 256
  1954          },
  1955          "receivingCountry": {
  1956            "description": "Destination Country of international remittance.",
  1957            "$ref": "#/definitions/countriesEnum"
  1958          },
  1959          "remittancePurpose": {
  1960            "type": "string",
  1961            "description": "Property providing a description of the reason for the international remittance.",
  1962            "minLength": 0,
  1963            "maxLength": 256
  1964          },
  1965          "relationshipSender": {
  1966            "type": "string",
  1967            "description": "Indicates the relationship (if any) between the sender and the receiver.",
  1968            "minLength": 0,
  1969            "maxLength": 256
  1970          },
  1971          "deliveryMethod": {
  1972            "description": "The recipient delivery method as chosen by the sender.",
  1973            "$ref": "#/definitions/deliveryMethodEnum"
  1974          }
  1975        }
  1976      },
  1977      "internationalTransferResponse": {
  1978        "allOf": [
  1979          {
  1980            "$ref": "#/definitions/internationalTransfer"
  1981          },
  1982          {
  1983            "type": "object",
  1984            "properties": {
  1985              "senderBlockingReason": {
  1986                "type": "string",
  1987                "description": "The reason for blocking the transaction, based on AML checks on the sender.",
  1988                "minLength": 0,
  1989                "maxLength": 256
  1990              },
  1991              "recipientBlockingReason": {
  1992                "type": "string",
  1993                "description": "The reason for blocking the transaction, based on AML checks on the recipient.",
  1994                "minLength": 0,
  1995                "maxLength": 256
  1996              }
  1997            }
  1998          }
  1999        ]
  2000      },
  2001      "baseReversal": {
  2002        "type": "object",
  2003        "required": [
  2004          "type",
  2005          "requestDate"
  2006        ],
  2007        "properties": {
  2008          "amount": {
  2009            "type": "string",
  2010            "pattern": "^\\d+\\.\\d{2}$",
  2011            "description": "Principle Transaction Amount.",
  2012            "minLength": 4,
  2013            "maxLength": 256
  2014          },
  2015          "currency": {
  2016            "description": "Currency of the principal transaction amount.",
  2017            "$ref": "#/definitions/currenciesEnum"
  2018          },
  2019          "type": {
  2020            "description": "The harmonised Transaction Type",
  2021            "$ref": "#/definitions/transactionTypeEnum"
  2022          },
  2023          "subType": {
  2024            "type": "string",
  2025            "description": "A non-harmonised sub-classification of the type of transaction. Values are not fixed and usage will vary according to Provider.",
  2026            "minLength": 0,
  2027            "maxLength": 256
  2028          },
  2029          "descriptionText": {
  2030            "type": "string",
  2031            "description": "Free format text description of the transaction provided by the client. This can be provided as a reference for the receiver on the SMS and on the account statement.",
  2032            "minLength": 0,
  2033            "maxLength": 160
  2034          },
  2035          "requestDate": {
  2036            "type": "string",
  2037            "description": "The creation date and time of the transaction as supplied by the client.",
  2038            "format": "date-time"
  2039          },
  2040          "geoCode": {
  2041            "type": "string",
  2042            "pattern": "^(-?(90|(\\d|[1-8]\\d)(\\.\\d{1,6}){0,1}))\\,{1}(-?(180|(\\d|\\d\\d|1[0-7]\\d)(\\.\\d{1,6}){0,1}))$",
  2043            "description": "Indicates the geographic location from where the transaction was initiated.",
  2044            "minLength": 0,
  2045            "maxLength": 256
  2046          },
  2047          "requestingOrganisationTransactionReference": {
  2048            "type": "string",
  2049            "description": "A reference provided by the requesting organisation that is to be associated with the transaction.",
  2050            "minLength": 0,
  2051            "maxLength": 256
  2052          },
  2053          "debitParty": {
  2054            "type": "array",
  2055            "description": "A collection of key/value pairs that enable the debit party to be identified. Keys include MSISDN and Wallet Identifier.",
  2056            "minItems": 0,
  2057            "maxItems": 10,
  2058            "items": {
  2059              "$ref": "#/definitions/accountIdentifierBase"
  2060            }
  2061          },
  2062          "creditParty": {
  2063            "type": "array",
  2064            "description": "A series of key/value pairs that enable the credit party to be identified. Keys include MSISDN and Wallet Identifier.",
  2065            "minItems": 0,
  2066            "maxItems": 10,
  2067            "items": {
  2068              "$ref": "#/definitions/accountIdentifierBase"
  2069            }
  2070          },
  2071          "servicingIdentity": {
  2072            "type": "string",
  2073            "description": "The property is used to identify the servicing identity for �present� transactions, e.g. till, POS ID, assistant ID",
  2074            "minLength": 0,
  2075            "maxLength": 256
  2076          },
  2077          "metadata": {
  2078            "type": "array",
  2079            "description": "A collection of key/value pairs. These can be used to populate additional transaction properties.",
  2080            "maxItems": 20,
  2081            "items": {
  2082              "$ref": "#/definitions/metadata"
  2083            }
  2084          }
  2085        }
  2086      },
  2087      "requestReversal": {
  2088        "allOf": [
  2089          {
  2090            "$ref": "#/definitions/baseReversal"
  2091          },
  2092          {
  2093            "type": "object",
  2094            "properties": {
  2095              "transactionStatus": {
  2096                "type": "string",
  2097                "description": "Indicates the status of the transaction as stored by the API provider.",
  2098                "minLength": 0,
  2099                "maxLength": 256
  2100              }
  2101            }
  2102          }
  2103        ]
  2104      },
  2105      "responseReversal": {
  2106        "allOf": [
  2107          {
  2108            "$ref": "#/definitions/baseReversal"
  2109          },
  2110          {
  2111            "type": "object",
  2112            "required": [
  2113              "transactionStatus",
  2114              "transactionReference",
  2115              "originalTransactionReference"
  2116            ],
  2117            "properties": {
  2118              "transactionStatus": {
  2119                "type": "string",
  2120                "description": "Indicates the status of the transaction as stored by the API provider.",
  2121                "minLength": 1,
  2122                "maxLength": 256
  2123              },
  2124              "creationDate": {
  2125                "type": "string",
  2126                "format": "date-time",
  2127                "description": "Date and time when the transaction was created by the API Provider."
  2128              },
  2129              "modificationDate": {
  2130                "type": "string",
  2131                "format": "date-time",
  2132                "description": "Date and time when the transaction was modified by the API Provider."
  2133              },
  2134              "transactionReference": {
  2135                "type": "string",
  2136                "description": "Unique reference for the transaction. This is returned in the response by API provider.",
  2137                "minLength": 1,
  2138                "maxLength": 256
  2139              },
  2140              "transactionReceipt": {
  2141                "type": "string",
  2142                "description": "Transaction receipt number as notified to the parties. This may differ from the Transaction Reference.",
  2143                "minLength": 0,
  2144                "maxLength": 256
  2145              },
  2146              "originalTransactionReference": {
  2147                "type": "string",
  2148                "description": "For reversals and refunds, this property indicates the transaction which is the subject of the reversal.",
  2149                "minLength": 0,
  2150                "maxLength": 256
  2151              }
  2152            }
  2153          }
  2154        ]
  2155      },
  2156      "baseBatchTransaction": {
  2157        "type": "object",
  2158        "properties": {
  2159          "batchTitle": {
  2160            "type": "string",
  2161            "description": "Client-provided title for the batch.",
  2162            "minLength": 0,
  2163            "maxLength": 256
  2164          },
  2165          "batchDescription": {
  2166            "type": "string",
  2167            "description": "Client-provided description of the batch.",
  2168            "minLength": 0,
  2169            "maxLength": 256
  2170          },
  2171          "processingFlag": {
  2172            "type": "boolean",
  2173            "description": "Indicates whether the batch is currently undergoing processing by the API Provider."
  2174          },
  2175          "scheduledStartDate": {
  2176            "type": "string",
  2177            "format": "date-time",
  2178            "description": "If the batch has been scheduled, the expected start time is provided here."
  2179          }
  2180        }
  2181      },
  2182      "requestBatchTransaction": {
  2183        "allOf": [
  2184          {
  2185            "$ref": "#/definitions/baseBatchTransaction"
  2186          },
  2187          {
  2188            "type": "object",
  2189            "required": [
  2190              "transactions"
  2191            ],
  2192            "properties": {
  2193              "batchStatus": {
  2194                "description": "Indicates the status of the batch.",
  2195                "$ref": "#/definitions/batchStatusEnum"
  2196              },
  2197              "transactions": {
  2198                "type": "array",
  2199                "description": "Collection of Transactions that are to be processed.",
  2200                "minItems": 1,
  2201                "items": {
  2202                  "$ref": "#/definitions/requestTransaction"
  2203                }
  2204              },
  2205              "creationDate": {
  2206                "type": "string",
  2207                "format": "date-time",
  2208                "description": "Indicates when the batch was created as recorded by the API provider."
  2209              }
  2210            }
  2211          }
  2212        ]
  2213      },
  2214      "responseBatchTransaction": {
  2215        "allOf": [
  2216          {
  2217            "$ref": "#/definitions/baseBatchTransaction"
  2218          },
  2219          {
  2220            "type": "object",
  2221            "required": [
  2222              "batchId",
  2223              "batchStatus",
  2224              "creationDate",
  2225              "approvalDate",
  2226              "completionDate"
  2227            ],
  2228            "properties": {
  2229              "batchStatus": {
  2230                "description": "Indicates the status of the batch.",
  2231                "$ref": "#/definitions/batchStatusEnum"
  2232              },
  2233              "batchId": {
  2234                "type": "string",
  2235                "description": "Identifier for the Batch that is assigned by the API provider. This ID is used by the client on subsequent GET or PATCH operations.",
  2236                "minLength": 1,
  2237                "maxLength": 256
  2238              },
  2239              "creationDate": {
  2240                "type": "string",
  2241                "format": "date-time",
  2242                "description": "Indicates when the batch was created as recorded by the API provider."
  2243              },
  2244              "approvalDate": {
  2245                "type": "string",
  2246                "format": "date-time",
  2247                "description": "Indicates when the batch was approved as recorded by the API provider."
  2248              },
  2249              "completionDate": {
  2250                "type": "string",
  2251                "format": "date-time",
  2252                "description": "Indicates when the batch was completed as recorded by the API provider."
  2253              },
  2254              "rejectionCount": {
  2255                "type": "number",
  2256                "format": "int32",
  2257                "description": "Indicates the number of records that have been rejected, either during parsing or during final processing.",
  2258                "minimum": 0
  2259              },
  2260              "parsingSuccessCount": {
  2261                "type": "number",
  2262                "format": "int32",
  2263                "description": "Indicates the number of records that have been parsed successfully.",
  2264                "minimum": 0
  2265              },
  2266              "completedCount": {
  2267                "type": "number",
  2268                "format": "int32",
  2269                "description": "Indicates the number of records that have been successful completed.",
  2270                "minimum": 0
  2271              }
  2272            }
  2273          }
  2274        ]
  2275      },
  2276      "batchRejection": {
  2277        "type": "object",
  2278        "required": [
  2279          "rejectionDate",
  2280          "debitParty",
  2281          "creditParty",
  2282          "rejectionReason"
  2283        ],
  2284        "properties": {
  2285          "transactionReference": {
  2286            "type": "string",
  2287            "description": "Transaction Reference as assigned by the API provider.",
  2288            "minLength": 0,
  2289            "maxLength": 256
  2290          },
  2291          "rejectionDate": {
  2292            "type": "string",
  2293            "format": "date-time",
  2294            "description": "Date and time of the rejection."
  2295          },
  2296          "debitParty": {
  2297            "type": "array",
  2298            "description": "The debit party identifiers for the transaction as specific in the batch request.",
  2299            "minItems": 1,
  2300            "maxItems": 10,
  2301            "items": {
  2302              "$ref": "#/definitions/accountIdentifierBase"
  2303            }
  2304          },
  2305          "creditParty": {
  2306            "type": "array",
  2307            "description": "The credit party identifiers for the transaction as specific in the batch request.",
  2308            "minItems": 1,
  2309            "maxItems": 10,
  2310            "items": {
  2311              "$ref": "#/definitions/accountIdentifierBase"
  2312            }
  2313          },
  2314          "rejectionReason": {
  2315            "type": "string",
  2316            "description": "The reason for the transaction request as indicated by the API provider.",
  2317            "minLength": 1,
  2318            "maxLength": 256
  2319          },
  2320          "requestingOrganisationTransactionReference": {
  2321            "type": "string",
  2322            "description": "A reference provider by the requesting organisation that is to be associated with the transactions.",
  2323            "minLength": 0,
  2324            "maxLength": 256
  2325          }
  2326        }
  2327      },
  2328      "batchCompletion": {
  2329        "type": "object",
  2330        "required": [
  2331          "transactionReference",
  2332          "completionDate",
  2333          "link",
  2334          "debitParty",
  2335          "creditParty"
  2336        ],
  2337        "properties": {
  2338          "transactionReference": {
  2339            "type": "string",
  2340            "description": "Transaction Reference as assigned by the API provider.",
  2341            "minLength": 0,
  2342            "maxLength": 256
  2343          },
  2344          "completionDate": {
  2345            "type": "string",
  2346            "format": "date-time",
  2347            "description": "Date and time indicating when the transaction was completed."
  2348          },
  2349          "link": {
  2350            "type": "string",
  2351            "description": "Provides a URL to the transaction resource.",
  2352            "minLength": 1,
  2353            "maxLength": 256
  2354          },
  2355          "debitParty": {
  2356            "type": "array",
  2357            "description": "The debit party identifiers for the transaction as specific in the batch request.",
  2358            "minItems": 1,
  2359            "maxItems": 10,
  2360            "items": {
  2361              "$ref": "#/definitions/accountIdentifierBase"
  2362            }
  2363          },
  2364          "creditParty": {
  2365            "type": "array",
  2366            "description": "The credit party identifiers for the transaction as specific in the batch request.",
  2367            "minItems": 1,
  2368            "maxItems": 10,
  2369            "items": {
  2370              "$ref": "#/definitions/accountIdentifierBase"
  2371            }
  2372          },
  2373          "requestingOrganisationTransactionReference": {
  2374            "type": "string",
  2375            "description": "A reference provider by the requesting organisation that is to be associated with the transactions.",
  2376            "minLength": 0,
  2377            "maxLength": 256
  2378          }
  2379        }
  2380      },
  2381      "accountStatus": {
  2382        "type": "object",
  2383        "required": [
  2384          "status"
  2385        ],
  2386        "properties": {
  2387          "status": {
  2388            "description": "Indicates a simplified representation of the account status. This will be shown as �available� or �unavailable�. A state of �unavailable� means that the account is in a state that does not allow posting of transactions. �unregistered� indicates that although not available a transaction posted with the account identifier(s) will result an unregistered voucher creation.",
  2389            "$ref": "#/definitions/accountStatusEnum"
  2390          },
  2391          "subStatus": {
  2392            "type": "string",
  2393            "description": "Property can be used to return a provider-specific status for the account.",
  2394            "minLength": 0,
  2395            "maxLength": 256
  2396          },
  2397          "lei": {
  2398            "type": "string",
  2399            "pattern": "^[A-Z0-9]{4}00[A-Z0-9]{12}\\d{2}$",
  2400            "description": "Indicates the Legal Entity Identifier of the organisation holding the account.",
  2401            "minLength": 0,
  2402            "maxLength": 20
  2403          }
  2404        }
  2405      },
  2406      "accountBalance": {
  2407        "type": "object",
  2408        "properties": {
  2409          "currentBalance": {
  2410            "type": "string",
  2411            "pattern": "^\\d+\\.\\d{2}$",
  2412            "description": "Current outstanding balance on the account.",
  2413            "minLength": 4,
  2414            "maxLength": 256
  2415          },
  2416          "availableBalance": {
  2417            "type": "string",
  2418            "pattern": "^\\d+\\.\\d{2}$",
  2419            "description": "Indicates the balance that is able to be debited for an account. This balance is only provided on some API provider systems.",
  2420            "minLength": 4,
  2421            "maxLength": 256
  2422          },
  2423          "reservedBalance": {
  2424            "type": "string",
  2425            "pattern": "^\\d+\\.\\d{2}$",
  2426            "description": "Indicates the portion of the balance that is reserved, i.e. intended to be debited. This balance is only provided on some API provider systems.",
  2427            "minLength": 4,
  2428            "maxLength": 256
  2429          },
  2430          "unclearedBalance": {
  2431            "type": "string",
  2432            "pattern": "^\\d+\\.\\d{2}$",
  2433            "description": "Indicates the sum of uncleared funds in an account, i.e. those that are awaiting a credit confirmation.",
  2434            "minLength": 4,
  2435            "maxLength": 256
  2436          },
  2437          "currency": {
  2438            "description": "Currency for all returned balances.",
  2439            "$ref": "#/definitions/currenciesEnum"
  2440          },
  2441          "status": {
  2442            "description": "Indicates a simplified representation of the account status. This will be shown as �available� or �unavailable�. A state of �unavailable� means that the account is in a state that does not allow posting of transactions. �unregistered� indicates that although not available a transaction posted with the account identifier(s) will result an unregistered voucher creation.",
  2443            "$ref": "#/definitions/accountStatusEnum"
  2444          }
  2445        }
  2446      },
  2447      "accountName": {
  2448        "type": "object",
  2449        "required": [
  2450          "status"
  2451        ],
  2452        "properties": {
  2453          "name": {
  2454            "description": "A collection of properties detailing the name of the Primary Account Holder.",
  2455            "$ref": "#/definitions/name"
  2456          },
  2457          "status": {
  2458            "description": "Indicates a simplified representation of the account status. This will be shown as �available� or �unavailable�. A state of �unavailable� means that the account is in a state that does not allow posting of transactions. �unregistered� indicates that although not available a transaction posted with the account identifier(s) will result an unregistered voucher creation.",
  2459            "$ref": "#/definitions/accountStatusEnum"
  2460          },
  2461          "lei": {
  2462            "type": "string",
  2463            "pattern": "^[A-Z0-9]{4}00[A-Z0-9]{12}\\d{2}$",
  2464            "description": "Indicates the Legal Entity Identifier of the organisation holding the account.",
  2465            "minLength": 0,
  2466            "maxLength": 20
  2467          }
  2468        }
  2469      },
  2470      "statementEntry": {
  2471        "type": "object",
  2472        "required": [
  2473          "amount",
  2474          "currency",
  2475          "transactionReference",
  2476          "debitParty",
  2477          "creditParty",
  2478          "transactionStatus"
  2479        ],
  2480        "properties": {
  2481          "amount": {
  2482            "type": "string",
  2483            "pattern": "^\\d+\\.\\d{2}$",
  2484            "description": "Requested transaction amount.",
  2485            "minLength": 4,
  2486            "maxLength": 256
  2487          },
  2488          "currency": {
  2489            "description": "Currency of the requested transaction amount.",
  2490            "$ref": "#/definitions/currenciesEnum"
  2491          },
  2492          "displayType": {
  2493            "type": "string",
  2494            "description": "The transaction type that is to be used for presentation to the account holder as determined by the API provider. This is not necessarily the actual transaction type.",
  2495            "minLength": 0,
  2496            "maxLength": 256
  2497          },
  2498          "transactionStatus": {
  2499            "type": "string",
  2500            "description": "Indicates the status of the transaction as represented by the API provider.",
  2501            "minLength": 1,
  2502            "maxLength": 256
  2503          },
  2504          "descriptionText": {
  2505            "type": "string",
  2506            "description": "Free format text description of the transaction provided by the client. This can be provided as a reference for the receiver on the SMS and on the account statement.",
  2507            "minLength": 0,
  2508            "maxLength": 160
  2509          },
  2510          "requestDate": {
  2511            "type": "string",
  2512            "format": "datetime",
  2513            "description": "The creation date and time of the transaction as supplied by the client."
  2514          },
  2515          "creationDate": {
  2516            "type": "string",
  2517            "format": "datetime",
  2518            "description": "Date and time when the transaction was created by the API Provider."
  2519          },
  2520          "modificationDate": {
  2521            "type": "string",
  2522            "format": "datetime",
  2523            "description": "Date and time when the transaction modified by the API Provider."
  2524          },
  2525          "transactionReference": {
  2526            "type": "string",
  2527            "minLength": 1,
  2528            "maxLength": 256,
  2529            "description": "Unique reference for the transaction. This is returned in the response by API provider."
  2530          },
  2531          "transactionReceipt": {
  2532            "type": "string",
  2533            "minLength": 0,
  2534            "maxLength": 256,
  2535            "description": "Transaction receipt number as notified to the parties. This may differ from the Transaction Reference."
  2536          },
  2537          "debitParty": {
  2538            "type": "array",
  2539            "description": "A collection of key/value pairs that enable the debit party to be identified. Keys include MSISDN and Wallet Identifier.",
  2540            "minItems": 1,
  2541            "maxItems": 10,
  2542            "items": {
  2543              "$ref": "#/definitions/accountIdentifierBase"
  2544            }
  2545          },
  2546          "creditParty": {
  2547            "type": "array",
  2548            "description": "A series of key/value pairs that identify the credit party. Keys include MSISDN and Wallet Identifier.",
  2549            "minItems": 1,
  2550            "maxItems": 10,
  2551            "items": {
  2552              "$ref": "#/definitions/accountIdentifierBase"
  2553            }
  2554          }
  2555        }
  2556      },
  2557      "bill": {
  2558        "type": "object",
  2559        "properties": {
  2560          "currency": {
  2561            "description": "Currency of the bill to be paid.",
  2562            "$ref": "#/definitions/currenciesEnum"
  2563          },
  2564          "amountDue": {
  2565            "type": "string",
  2566            "pattern": "^\\d+\\.\\d{2}$",
  2567            "description": "Amount outstanding on the bill to be paid.",
  2568            "minLength": 4,
  2569            "maxLength": 256
  2570          },
  2571          "dueDate": {
  2572            "type": "string",
  2573            "format": "date",
  2574            "description": "Date on which the Bill is due to be paid."
  2575          },
  2576          "billReference": {
  2577            "type": "string",
  2578            "description": "Reference number for the Bill that this payer can use when he/she wishes to pay.",
  2579            "minLength": 0,
  2580            "maxLength": 256
  2581          },
  2582          "minimumAmountDue": {
  2583            "type": "string",
  2584            "pattern": "^\\d+\\.\\d{2}$",
  2585            "description": "The minimum amount that is outstanding on the bill to be paid.",
  2586            "minLength": 4,
  2587            "maxLength": 256
  2588          },
  2589          "billDescription": {
  2590            "type": "string",
  2591            "description": "Description of the bill that is to be paid.",
  2592            "minLength": 0,
  2593            "maxLength": 256
  2594          },
  2595          "metadata": {
  2596            "type": "array",
  2597            "description": "A collection of key/value pairs. These can be used to return additional information regarding the bill.",
  2598            "maxItems": 20,
  2599            "items": {
  2600              "$ref": "#/definitions/metadata"
  2601            }
  2602          }
  2603        }
  2604      },
  2605      "billPayment": {
  2606        "type": "object",
  2607        "required": [
  2608          "currency",
  2609          "paidAmount"
  2610        ],
  2611        "properties": {
  2612          "currency": {
  2613            "description": "Currency of the amount that is being paid.",
  2614            "$ref": "#/definitions/currenciesEnum"
  2615          },
  2616          "paidAmount": {
  2617            "type": "string",
  2618            "pattern": "^\\d+\\.\\d{2}$",
  2619            "description": "Amount that is being paid.",
  2620            "minLength": 4,
  2621            "maxLength": 256
  2622          },
  2623          "customerReference": {
  2624            "type": "string",
  2625            "description": "Textual reference provided by the customer paying the bill",
  2626            "minLength": 0,
  2627            "maxLength": 256
  2628          },
  2629          "supplementaryBillReferenceDetails": {
  2630            "type": "array",
  2631            "description": "In some cases, a single reference is not sufficient to identify a bill. This key-value collection enables further reference information to be supplied.",
  2632            "minItems": 0,
  2633            "maxItems": 20,
  2634            "items": {
  2635              "$ref": "#/definitions/supplementaryBillReference"
  2636            }
  2637          }
  2638        }
  2639      },
  2640      "baseDebitMandate": {
  2641        "type": "object",
  2642        "required": [
  2643          "startDate",
  2644          "requestDate"
  2645        ],
  2646        "properties": {
  2647          "currency": {
  2648            "description": "Currency of the principal transaction amount.",
  2649            "$ref": "#/definitions/currenciesEnum"
  2650          },
  2651          "amountLimit": {
  2652            "type": "string",
  2653            "pattern": "^\\d+\\.\\d{2}$",
  2654            "description": "The maximum amount that can be taken by the Payee on a payment request.",
  2655            "minLength": 4,
  2656            "maxLength": 256
  2657          },
  2658          "startDate": {
  2659            "type": "string",
  2660            "format": "date",
  2661            "description": "Date on which the first payment is to be taken."
  2662          },
  2663          "endDate": {
  2664            "type": "string",
  2665            "format": "date",
  2666            "description": "Date on which the final payment is to be taken."
  2667          },
  2668          "numberOfPayments": {
  2669            "type": "number",
  2670            "format": "int32",
  2671            "description": "Indicates the number of consecutive payments that are to be taken.",
  2672            "minimum": 0,
  2673            "exclusiveMinimum": false
  2674          },
  2675          "frequencyType": {
  2676            "description": "Indicates the frequency for which payments will be taken from the payers account.",
  2677            "$ref": "#/definitions/frequencyTypeEnum"
  2678          },
  2679          "mandateStatus": {
  2680            "description": "Indicates the status of the Mandate as held in the API Provider system.",
  2681            "$ref": "#/definitions/mandateStatusEnum"
  2682          },
  2683          "requestDate": {
  2684            "type": "string",
  2685            "format": "datetime",
  2686            "description": "The request date and time of the transaction as supplied by the client."
  2687          }
  2688        }
  2689      },
  2690      "requestDebitMandate": {
  2691        "allOf": [
  2692          {
  2693            "$ref": "#/definitions/baseDebitMandate"
  2694          },
  2695          {
  2696            "type": "object",
  2697            "properties": {
  2698              "mandateReference": {
  2699                "type": "string",
  2700                "description": "Unique reference provided by the API Provider for the mandate.",
  2701                "minLength": 0,
  2702                "maxLength": 256
  2703              }
  2704            }
  2705          }
  2706        ]
  2707      },
  2708      "responseDebitMandate": {
  2709        "allOf": [
  2710          {
  2711            "$ref": "#/definitions/baseDebitMandate"
  2712          },
  2713          {
  2714            "type": "object",
  2715            "required": [
  2716              "mandateReference"
  2717            ],
  2718            "properties": {
  2719              "mandateReference": {
  2720                "type": "string",
  2721                "description": "Unique reference provided by the API Provider for the mandate.",
  2722                "minLength": 1,
  2723                "maxLength": 256
  2724              },
  2725              "creationDate": {
  2726                "type": "string",
  2727                "format": "datetime",
  2728                "description": "Date and time when the debit mandate was created by the API Provider."
  2729              },
  2730              "modificationDate": {
  2731                "type": "string",
  2732                "format": "datetime",
  2733                "description": "Date and time when the debit mandate was modified by the API Provider."
  2734              }
  2735            }
  2736          }
  2737        ]
  2738      },
  2739      "link": {
  2740        "type": "object",
  2741        "required": [
  2742          "status",
  2743          "sourceAccountIdentifiers"
  2744        ],
  2745        "properties": {
  2746          "status": {
  2747            "description": "Indicates the status of the Link.",
  2748            "$ref": "#/definitions/linkStatusEnum"
  2749          },
  2750          "mode": {
  2751            "description": "Indicates the mode of operation support for the Link. If not populated, then default value it �Both�.",
  2752            "$ref": "#/definitions/linkModeEnum"
  2753          },
  2754          "sourceAccountIdentifiers": {
  2755            "type": "array",
  2756            "description": "A series of key/value pairs that identify the source account. Keys include MSISDN and Wallet Identifier.",
  2757            "minItems": 1,
  2758            "maxItems": 10,
  2759            "items": {
  2760              "$ref": "#/definitions/accountIdentifierBase"
  2761            }
  2762          }
  2763        }
  2764      },
  2765      "responseLink": {
  2766        "allOf": [
  2767          {
  2768            "$ref": "#/definitions/link"
  2769          },
  2770          {
  2771            "type": "object",
  2772            "required": [
  2773              "linkReference"
  2774            ],
  2775            "properties": {
  2776              "linkReference": {
  2777                "type": "string",
  2778                "description": "Indicates the Link reference. This enables a linked account to be uniquely identified.",
  2779                "minLength": 1,
  2780                "maxLength": 256
  2781              }
  2782            }
  2783          }
  2784        ]
  2785      },
  2786      "baseQuotation": {
  2787        "type": "object",
  2788        "required": [
  2789          "requestDate",
  2790          "creditParty",
  2791          "debitParty",
  2792          "requestAmount",
  2793          "requestCurrency"
  2794        ],
  2795        "properties": {
  2796          "requestDate": {
  2797            "type": "string",
  2798            "format": "datetime",
  2799            "description": "The creation date and time of the transaction as supplied by the client."
  2800          },
  2801          "debitParty": {
  2802            "type": "array",
  2803            "description": "A collection of key/value pairs that enable the debit party to be identified. Keys include MSISDN and Wallet Identifier.",
  2804            "minItems": 1,
  2805            "maxItems": 10,
  2806            "items": {
  2807              "$ref": "#/definitions/accountIdentifierBase"
  2808            }
  2809          },
  2810          "creditParty": {
  2811            "type": "array",
  2812            "description": "A series of key/value pairs that enable the credit party to be identified. Keys include MSISDN and Wallet Identifier.",
  2813            "minItems": 1,
  2814            "maxItems": 10,
  2815            "items": {
  2816              "$ref": "#/definitions/accountIdentifierBase"
  2817            }
  2818          },
  2819          "senderKyc": {
  2820            "description": "A collection of properties detailing the KYC of the transaction Sender, typically used for International Transfers.",
  2821            "$ref": "#/definitions/kyc"
  2822          },
  2823          "recipientKyc": {
  2824            "description": "A collection of properties detailed the KYC of the transaction Recipient, typically used for International Transfers.",
  2825            "$ref": "#/definitions/kyc"
  2826          },
  2827          "requestAmount": {
  2828            "type": "string",
  2829            "pattern": "^\\d+\\.\\d{2}$",
  2830            "description": "Requested quotation amount.",
  2831            "minLength": 4,
  2832            "maxLength": 256
  2833          },
  2834          "requestCurrency": {
  2835            "description": "Currency of the requested quotation amount.",
  2836            "$ref": "#/definitions/currenciesEnum"
  2837          },
  2838          "chosenDeliveryMethod": {
  2839            "description": "The delivery method chosen by the sending end user as the specific delivery method to be used in the quotes received.",
  2840            "$ref": "#/definitions/deliveryMethodEnum"
  2841          },
  2842          "quotes": {
  2843            "type": "array",
  2844            "description": "A collection of quotes. A quote can be received from a single receiving payment service provider or from multiple providers.",
  2845            "minItems": 0,
  2846            "maxItems": 10,
  2847            "items": {
  2848              "$ref": "#/definitions/quote"
  2849            }
  2850          },
  2851          "senderBlockingReason": {
  2852            "type": "string",
  2853            "description": "The reason for blocking the quotation, based on AML checks on the sender.",
  2854            "minLength": 0,
  2855            "maxLength": 256
  2856          },
  2857          "recipientBlockingReason": {
  2858            "type": "string",
  2859            "description": "The reason for blocking the quotation, based on AML checks on the recipient.",
  2860            "minLength": 0,
  2861            "maxLength": 256
  2862          },
  2863          "metadata": {
  2864            "type": "array",
  2865            "description": "A collection of key/value pairs. These can be used to populate additional quotation properties.",
  2866            "maxItems": 10,
  2867            "items": {
  2868              "$ref": "#/definitions/metadata"
  2869            }
  2870          }
  2871        }
  2872      },
  2873      "requestQuotation": {
  2874        "allOf": [
  2875          {
  2876            "$ref": "#/definitions/baseQuotation"
  2877          }
  2878        ]
  2879      },
  2880      "responseQuotation": {
  2881        "allOf": [
  2882          {
  2883            "$ref": "#/definitions/baseQuotation"
  2884          },
  2885          {
  2886            "type": "object",
  2887            "required": [
  2888              "quotationReference"
  2889            ],
  2890            "properties": {
  2891              "quotationReference": {
  2892                "type": "string",
  2893                "description": "Unique reference for the Quotation as provided by the API Provider.",
  2894                "minLength": 1,
  2895                "maxLength": 256
  2896              },
  2897              "quotationStatus": {
  2898                "description": "Indicates the creation state of the quotation.",
  2899                "$ref": "#/definitions/quotationStatusEnum"
  2900              },
  2901              "creationDate": {
  2902                "type": "string",
  2903                "format": "datetime",
  2904                "description": "Date and time when the transaction was created by the API Provider."
  2905              },
  2906              "modificationDate": {
  2907                "type": "string",
  2908                "format": "datetime",
  2909                "description": "Date and time when the transaction was modified by the API Provider."
  2910              },
  2911              "availableDeliveryMethod": {
  2912                "description": "Delivery Methods that are possible for the intended recipient.",
  2913                "$ref": "#/definitions/deliveryMethodEnum"
  2914              }
  2915            }
  2916          }
  2917        ]
  2918      },
  2919      "requestState": {
  2920        "type": "object",
  2921        "required": [
  2922          "serverCorrelationId",
  2923          "status",
  2924          "notificationMethod"
  2925        ],
  2926        "properties": {
  2927          "serverCorrelationId": {
  2928            "type": "string",
  2929            "description": "A unique identifier issued by the provider to enable the client to identify the RequestState resource on subsequent polling requests.",
  2930            "pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$",
  2931            "minLength": 1,
  2932            "maxLength": 256
  2933          },
  2934          "status": {
  2935            "description": "Indicates the status of the request.",
  2936            "$ref": "#/definitions/requestStateStatusEnum"
  2937          },
  2938          "pendingReason": {
  2939            "type": "string",
  2940            "description": "A textual description that can be provided to describe the reason for a pending status.",
  2941            "minLength": 0,
  2942            "maxLength": 256
  2943          },
  2944          "notificationMethod": {
  2945            "description": "Indicates whether a callback will be issued or whether the client will need to poll.",
  2946            "$ref": "#/definitions/notificationMethodEnum"
  2947          },
  2948          "objectReference": {
  2949            "type": "string",
  2950            "description": "Provides a reference to the subject resource, e.g. transaction reference.",
  2951            "minLength": 0,
  2952            "maxLength": 256
  2953          },
  2954          "expiryTime": {
  2955            "type": "string",
  2956            "format": "datetime",
  2957            "description": "Indicate the time by which the provider will fail the request if completion criteria have not been met. For an example, a debit party failing to authorise within the allowed time period."
  2958          },
  2959          "pollLimit": {
  2960            "type": "number",
  2961            "format": "int32",
  2962            "description": "Indicates the number of poll attempts for the given requeststate resource that will be allowed by the provider.",
  2963            "minimum": 0,
  2964            "exclusiveMinimum": true
  2965          },
  2966          "error": {
  2967            "$ref": "#/definitions/error"
  2968          }
  2969        }
  2970      },
  2971      "kyc": {
  2972        "type": "object",
  2973        "properties": {
  2974          "nationality": {
  2975            "description": "Nationality of the KYC subject.",
  2976            "$ref": "#/definitions/countriesEnum"
  2977          },
  2978          "dateOfBirth": {
  2979            "type": "string",
  2980            "format": "date",
  2981            "description": "Birth date of the KYC subject."
  2982          },
  2983          "occupation": {
  2984            "type": "string",
  2985            "description": "Occupation of the KYC subject.",
  2986            "minLength": 0,
  2987            "maxLength": 256
  2988          },
  2989          "employerName": {
  2990            "type": "string",
  2991            "description": "Employer Name of the KYC subject.",
  2992            "minLength": 0,
  2993            "maxLength": 256
  2994          },
  2995          "contactPhone": {
  2996            "type": "string",
  2997            "description": "Contact phone number (mobile or landline) of the KYC subject.",
  2998            "minLength": 0,
  2999            "maxLength": 256
  3000          },
  3001          "gender": {
  3002            "description": "Gender of the KYC Object.",
  3003            "$ref": "#/definitions/genderEnum"
  3004          },
  3005          "idDocument": {
  3006            "type": "array",
  3007            "description": "An array of properties containing the forms of identification that are associated with the subject.",
  3008            "minItems": 0,
  3009            "maxItems": 10,
  3010            "items": {
  3011              "$ref": "#/definitions/idDocument"
  3012            }
  3013          },
  3014          "postalAddress": {
  3015            "description": "A collection of properties that details the postal address of the KYC subject.",
  3016            "$ref": "#/definitions/address"
  3017          },
  3018          "subjectName": {
  3019            "description": "Refers to the name properties for the KYC subject.",
  3020            "$ref": "#/definitions/name"
  3021          },
  3022          "emailAddress": {
  3023            "type": "string",
  3024            "description": "Email address of the KYC subject.",
  3025            "minLength": 0,
  3026            "maxLength": 256
  3027          },
  3028          "birthCountry": {
  3029            "description": "The country of birth of the KYC subject.",
  3030            "$ref": "#/definitions/countriesEnum"
  3031          }
  3032        }
  3033      },
  3034      "name": {
  3035        "type": "object",
  3036        "properties": {
  3037          "title": {
  3038            "type": "string",
  3039            "description": "The given title of the KYC subject, e.g. Mr, Mrs, Dr.",
  3040            "minLength": 0,
  3041            "maxLength": 256
  3042          },
  3043          "firstName": {
  3044            "type": "string",
  3045            "description": "First name (also referred to as given name) of the KYC subject.",
  3046            "minLength": 0,
  3047            "maxLength": 256
  3048          },
  3049          "middleName": {
  3050            "type": "string",
  3051            "description": "Middle Name of the KYC subject.",
  3052            "minLength": 0,
  3053            "maxLength": 256
  3054          },
  3055          "lastName": {
  3056            "type": "string",
  3057            "description": "Surname (also referred to as last or family name) of the KYC subject.",
  3058            "minLength": 0,
  3059            "maxLength": 256
  3060          },
  3061          "fullName": {
  3062            "type": "string",
  3063            "description": "The full name of the KYC subject.",
  3064            "minLength": 0,
  3065            "maxLength": 256
  3066          },
  3067          "nativeName": {
  3068            "type": "string",
  3069            "description": "The full name expressed as in the native language.",
  3070            "minLength": 0,
  3071            "maxLength": 256
  3072          }
  3073        }
  3074      },
  3075      "idDocument": {
  3076        "type": "object",
  3077        "required": [
  3078          "idType"
  3079        ],
  3080        "properties": {
  3081          "idType": {
  3082            "description": "Indicates the type of identification for the KYC subject, e.g. passport, driving licence etc.",
  3083            "$ref": "#/definitions/idTypeEnum"
  3084          },
  3085          "idNumber": {
  3086            "type": "string",
  3087            "description": "Reference pertaining to the type of identification for the KYC subject.",
  3088            "minLength": 0,
  3089            "maxLength": 256
  3090          },
  3091          "issueDate": {
  3092            "type": "string",
  3093            "format": "date",
  3094            "description": "Date of issue for the identification document."
  3095          },
  3096          "expiryDate": {
  3097            "type": "string",
  3098            "format": "date",
  3099            "description": "Date of expiry for the identification document."
  3100          },
  3101          "issuer": {
  3102            "type": "string",
  3103            "minLength": 0,
  3104            "maxLength": 256,
  3105            "description": "Indicates the organisation/government entity that issued the ID document."
  3106          },
  3107          "issuerPlace": {
  3108            "type": "string",
  3109            "minLength": 0,
  3110            "maxLength": 256,
  3111            "description": "Place of issue for the identification type."
  3112          },
  3113          "issuerCountry": {
  3114            "description": "Country where the identification type was issued.",
  3115            "$ref": "#/definitions/countriesEnum"
  3116          },
  3117          "otherIdDescription": {
  3118            "type": "string",
  3119            "description": "Where an ID Type of �otherid� is specified, a description of the type of identification can be provided in this property.",
  3120            "minLength": 0,
  3121            "maxLength": 256
  3122          }
  3123        }
  3124      },
  3125      "address": {
  3126        "type": "object",
  3127        "required": [
  3128          "country"
  3129        ],
  3130        "properties": {
  3131          "addressLine1": {
  3132            "type": "string",
  3133            "description": "First line of the address.",
  3134            "minLength": 0,
  3135            "maxLength": 256
  3136          },
  3137          "addressLine2": {
  3138            "type": "string",
  3139            "description": "Second line of the address.",
  3140            "minLength": 0,
  3141            "maxLength": 256
  3142          },
  3143          "addressLine3": {
  3144            "type": "string",
  3145            "description": "Third line of the address.",
  3146            "minLength": 0,
  3147            "maxLength": 256
  3148          },
  3149          "city": {
  3150            "type": "string",
  3151            "description": "City/Town",
  3152            "minLength": 0,
  3153            "maxLength": 256
  3154          },
  3155          "stateProvince": {
  3156            "type": "string",
  3157            "description": "State or Province",
  3158            "minLength": 0,
  3159            "maxLength": 256
  3160          },
  3161          "postalCode": {
  3162            "type": "string",
  3163            "description": "Postal Code",
  3164            "minLength": 0,
  3165            "maxLength": 256
  3166          },
  3167          "country": {
  3168            "description": "Country",
  3169            "$ref": "#/definitions/countriesEnum"
  3170          }
  3171        }
  3172      },
  3173      "quote": {
  3174        "type": "object",
  3175        "required": [
  3176          "quoteId",
  3177          "sendingAmount",
  3178          "sendingCurrency",
  3179          "receivingAmount",
  3180          "receivingCurrency",
  3181          "fxRate"
  3182        ],
  3183        "properties": {
  3184          "quoteId": {
  3185            "type": "string",
  3186            "description": "The unique ID for this quote.",
  3187            "minLength": 1,
  3188            "maxLength": 256
  3189          },
  3190          "quoteExpiryTime": {
  3191            "type": "string",
  3192            "description": "The timestamp when the quote will expire.",
  3193            "format": "datetime"
  3194          },
  3195          "receivingServiceProvider": {
  3196            "type": "string",
  3197            "description": "The name of the RSP, i.e. the provider that the quote is associated with.",
  3198            "minLength": 0,
  3199            "maxLength": 256
  3200          },
  3201          "sendingAmount": {
  3202            "type": "string",
  3203            "pattern": "^\\d+\\.\\d{2}$",
  3204            "description": "Requested quotation amount as supplied by the sender.",
  3205            "minLength": 4,
  3206            "maxLength": 256
  3207          },
  3208          "sendingCurrency": {
  3209            "description": "Currency of the requested quotation amount.",
  3210            "$ref": "#/definitions/currenciesEnum"
  3211          },
  3212          "receivingAmount": {
  3213            "type": "string",
  3214            "pattern": "^\\d+\\.\\d{2}$",
  3215            "description": "The total amount as it will be received by the receiving end user.",
  3216            "minLength": 4,
  3217            "maxLength": 256
  3218          },
  3219          "receivingCurrency": {
  3220            "description": "The currency of the quote.",
  3221            "$ref": "#/definitions/currenciesEnum"
  3222          },
  3223          "fxRate": {
  3224            "type": "string",
  3225            "pattern": "^\\d+\\.\\d{2}$",
  3226            "description": "The conversion rate applicable between the sending and the receiving currency for the requested transaction.",
  3227            "minLength": 4,
  3228            "maxLength": 256
  3229          },
  3230          "deliveryMethod": {
  3231            "description": "The delivery method that is applicable to the quotation.",
  3232            "$ref": "#/definitions/deliveryMethodEnum"
  3233          }
  3234        }
  3235      },
  3236      "metadata": {
  3237        "type": "object",
  3238        "required": [
  3239          "key",
  3240          "value"
  3241        ],
  3242        "properties": {
  3243          "key": {
  3244            "type": "string",
  3245            "description": "Identifies the type of additional property.",
  3246            "minLength": 1,
  3247            "maxLength": 256
  3248          },
  3249          "value": {
  3250            "type": "string",
  3251            "description": "Identifies the value of the additional property.",
  3252            "minLength": 1,
  3253            "maxLength": 256
  3254          }
  3255        }
  3256      },
  3257      "supplementaryBillReference": {
  3258        "type": "object",
  3259        "required": [
  3260          "paymentReferenceType",
  3261          "paymentReferenceValue"
  3262        ],
  3263        "properties": {
  3264          "paymentReferenceType": {
  3265            "type": "string",
  3266            "description": "Identifies the type of the additional payment reference.",
  3267            "minLength": 1,
  3268            "maxLength": 256
  3269          },
  3270          "paymentReferenceValue": {
  3271            "type": "string",
  3272            "description": "Identifies the value of the additional payment reference.",
  3273            "minLength": 1,
  3274            "maxLength": 256
  3275          }
  3276        }
  3277      },
  3278      "error": {
  3279        "type": "object",
  3280        "required": [
  3281          "errorCategory",
  3282          "errorCode"
  3283        ],
  3284        "properties": {
  3285          "errorCategory": {
  3286            "description": "The category grouping for the error.",
  3287            "$ref": "#/definitions/errorCategoryEnum"
  3288          },
  3289          "errorCode": {
  3290            "description": "The harmonised error code identifying the reason for error.",
  3291            "$ref": "#/definitions/errorCodeEnum"
  3292          },
  3293          "errorDescription": {
  3294            "type": "string",
  3295            "description": "A textual Description of the error.",
  3296            "minLength": 0,
  3297            "maxLength": 256
  3298          },
  3299          "errorDateTime": {
  3300            "type": "string",
  3301            "format": "datetime",
  3302            "description": "The timestamp indicating when the error occurred."
  3303          },
  3304          "errorParameters": {
  3305            "type": "array",
  3306            "description": "Diagnostic information in the form of key/value pairs relating to the error.",
  3307            "minItems": 0,
  3308            "maxItems": 10,
  3309            "items": {
  3310              "$ref": "#/definitions/metadata"
  3311            }
  3312          }
  3313        }
  3314      },
  3315      "heartbeat": {
  3316        "type": "object",
  3317        "required": [
  3318          "serviceStatus"
  3319        ],
  3320        "properties": {
  3321          "serviceStatus": {
  3322            "description": "Provides the status of the requested service.",
  3323            "$ref": "#/definitions/serviceStatusEnum"
  3324          },
  3325          "delay": {
  3326            "type": "number",
  3327            "format": "int64",
  3328            "description": "The anticipated processing delay in milliseconds."
  3329          }
  3330        }
  3331      },
  3332      "response": {
  3333        "type": "object",
  3334        "required": [
  3335          "link"
  3336        ],
  3337        "properties": {
  3338          "link": {
  3339            "type": "string",
  3340            "description": "Provides a URL to the resource associated with the given correlation ID.",
  3341            "minLength": 1,
  3342            "maxLength": 256
  3343          }
  3344        }
  3345      },
  3346      "patch": {
  3347        "type": "object",
  3348        "required": [
  3349          "op",
  3350          "path",
  3351          "value"
  3352        ],
  3353        "properties": {
  3354          "op": {
  3355            "$ref": "#/definitions/patchOpEnum"
  3356          },
  3357          "path": {
  3358            "type": "string"
  3359          },
  3360          "value": {
  3361            "type": "string"
  3362          }
  3363        }
  3364      },
  3365      "accountIdentifierBase": {
  3366        "discriminator": "key",
  3367        "properties": {
  3368          "key": {
  3369            "type": "string",
  3370            "description": "Provides the account identifier type.",
  3371            "minLength": 1,
  3372            "maxLength": 256
  3373          },
  3374          "value": {
  3375            "type": "string",
  3376            "description": "Provides the account identifier type value.",
  3377            "minLength": 1,
  3378            "maxLength": 256
  3379          }
  3380        },
  3381        "required": [
  3382          "key",
  3383          "value"
  3384        ]
  3385      },
  3386      "accountcategory": {
  3387        "description": "Can be used to identify the sources of funds category where there are multiple accounts (wallets) held against an account holder.",
  3388        "allOf": [
  3389          {
  3390            "$ref": "#/definitions/accountIdentifierBase"
  3391          },
  3392          {
  3393            "properties": {
  3394              "value": {
  3395                "type": "string",
  3396                "minLength": 1,
  3397                "maxLength": 256
  3398              }
  3399            },
  3400            "required": [
  3401              "value"
  3402            ]
  3403          }
  3404        ]
  3405      },
  3406      "bankaccountno": {
  3407        "description": "Financial institution account number that is typically known by the account holder.",
  3408        "allOf": [
  3409          {
  3410            "$ref": "#/definitions/accountIdentifierBase"
  3411          },
  3412          {
  3413            "properties": {
  3414              "value": {
  3415                "type": "string",
  3416                "minLength": 1,
  3417                "maxLength": 256
  3418              }
  3419            },
  3420            "required": [
  3421              "value"
  3422            ]
  3423          }
  3424        ]
  3425      },
  3426      "accountrank": {
  3427        "description": "Is used to identify the rank of the source of funds ranks where there are multiple accounts (wallets) held against an account holder.",
  3428        "allOf": [
  3429          {
  3430            "$ref": "#/definitions/accountIdentifierBase"
  3431          },
  3432          {
  3433            "properties": {
  3434              "value": {
  3435                "type": "string",
  3436                "minLength": 1,
  3437                "maxLength": 256
  3438              }
  3439            },
  3440            "required": [
  3441              "value"
  3442            ]
  3443          }
  3444        ]
  3445      },
  3446      "identityalias": {
  3447        "description": "An alias for the identity, e.g. short code for an agent till or company name/number for a bill payment.",
  3448        "allOf": [
  3449          {
  3450            "$ref": "#/definitions/accountIdentifierBase"
  3451          },
  3452          {
  3453            "properties": {
  3454              "value": {
  3455                "type": "string",
  3456                "minLength": 1,
  3457                "maxLength": 256
  3458              }
  3459            },
  3460            "required": [
  3461              "value"
  3462            ]
  3463          }
  3464        ]
  3465      },
  3466      "iban": {
  3467        "description": "Internationally agreed system of identifying bank accounts across national borders to facilitate the communication and processing of cross border transactions. Can contain up to 34 alphanumeric characters.",
  3468        "allOf": [
  3469          {
  3470            "$ref": "#/definitions/accountIdentifierBase"
  3471          },
  3472          {
  3473            "properties": {
  3474              "value": {
  3475                "type": "string",
  3476                "minLength": 1,
  3477                "maxLength": 256
  3478              }
  3479            },
  3480            "required": [
  3481              "value"
  3482            ]
  3483          }
  3484        ]
  3485      },
  3486      "accountid": {
  3487        "description": "Identifier for the account holder.",
  3488        "allOf": [
  3489          {
  3490            "$ref": "#/definitions/accountIdentifierBase"
  3491          },
  3492          {
  3493            "properties": {
  3494              "value": {
  3495                "type": "string",
  3496                "minLength": 1,
  3497                "maxLength": 256
  3498              }
  3499            },
  3500            "required": [
  3501              "value"
  3502            ]
  3503          }
  3504        ]
  3505      },
  3506      "msisdn": {
  3507        "description": "Mobile Number of the account holder. Should conform to ITU E.123.",
  3508        "allOf": [
  3509          {
  3510            "$ref": "#/definitions/accountIdentifierBase"
  3511          },
  3512          {
  3513            "properties": {
  3514              "value": {
  3515                "type": "string",
  3516                "pattern": "^\\+(?:[0-9] ?){6,14}[0-9]$",
  3517                "minLength": 1,
  3518                "maxLength": 256
  3519              }
  3520            },
  3521            "required": [
  3522              "value"
  3523            ]
  3524          }
  3525        ]
  3526      },
  3527      "swiftbic": {
  3528        "description": "A bank identifier code (BIC) is a unique identifier for a specific financial institution. A BIC is composed of a 4-character bank code, a 2-character country code, a 2-character location code and an optional 3-character branch code. BICs are used by financial institutions for letters of credit, payments and securities transactions and other business messages between banks. Please refer to ISO 9362 for further information.",
  3529        "allOf": [
  3530          {
  3531            "$ref": "#/definitions/accountIdentifierBase"
  3532          },
  3533          {
  3534            "properties": {
  3535              "value": {
  3536                "type": "string",
  3537                "pattern": "^[a-zA-Z]{4}[a-zA-Z]{2}[a-zA-Z0-9]{2}([a-zA-Z0-9]{3})?$",
  3538                "minLength": 1,
  3539                "maxLength": 256
  3540              }
  3541            },
  3542            "required": [
  3543              "value"
  3544            ]
  3545          }
  3546        ]
  3547      },
  3548      "sortcode": {
  3549        "description": "Sort code to identify the financial institution holding the account.",
  3550        "allOf": [
  3551          {
  3552            "$ref": "#/definitions/accountIdentifierBase"
  3553          },
  3554          {
  3555            "properties": {
  3556              "value": {
  3557                "type": "string",
  3558                "minLength": 1,
  3559                "maxLength": 256
  3560              }
  3561            },
  3562            "required": [
  3563              "value"
  3564            ]
  3565          }
  3566        ]
  3567      },
  3568      "organisationid": {
  3569        "description": "Used to identify the organisation for which a payment is to be made.",
  3570        "allOf": [
  3571          {
  3572            "$ref": "#/definitions/accountIdentifierBase"
  3573          },
  3574          {
  3575            "properties": {
  3576              "value": {
  3577                "type": "string",
  3578                "minLength": 1,
  3579                "maxLength": 256
  3580              }
  3581            },
  3582            "required": [
  3583              "value"
  3584            ]
  3585          }
  3586        ]
  3587      },
  3588      "username": {
  3589        "description": "Used to identify target account via an associated username.",
  3590        "allOf": [
  3591          {
  3592            "$ref": "#/definitions/accountIdentifierBase"
  3593          },
  3594          {
  3595            "properties": {
  3596              "value": {
  3597                "type": "string",
  3598                "minLength": 1,
  3599                "maxLength": 256
  3600              }
  3601            },
  3602            "required": [
  3603              "value"
  3604            ]
  3605          }
  3606        ]
  3607      },
  3608      "walletid": {
  3609        "description": "A means to identify a mobile money wallet, particularly where multiple wallets can be held against an MSISDN. typically used in conjunction with MSISDN or identity alias to identify a particular wallet.",
  3610        "allOf": [
  3611          {
  3612            "$ref": "#/definitions/accountIdentifierBase"
  3613          },
  3614          {
  3615            "properties": {
  3616              "value": {
  3617                "type": "string",
  3618                "minLength": 1,
  3619                "maxLength": 256
  3620              }
  3621            },
  3622            "required": [
  3623              "value"
  3624            ]
  3625          }
  3626        ]
  3627      },
  3628      "linkref": {
  3629        "description": "A means to uniquely identify an account via an account to account link. E.g. wallet account link to bank account.",
  3630        "allOf": [
  3631          {
  3632            "$ref": "#/definitions/accountIdentifierBase"
  3633          },
  3634          {
  3635            "properties": {
  3636              "value": {
  3637                "type": "string",
  3638                "minLength": 1,
  3639                "maxLength": 256
  3640              }
  3641            },
  3642            "required": [
  3643              "value"
  3644            ]
  3645          }
  3646        ]
  3647      },
  3648      "transactionTypeEnum": {
  3649        "type": "string",
  3650        "enum": [
  3651          "billpay",
  3652          "deposit",
  3653          "disbursement",
  3654          "transfer",
  3655          "merchantpayment",
  3656          "inttransfer",
  3657          "adjustment",
  3658          "reversal",
  3659          "withdrawal"
  3660        ]
  3661      },
  3662      "countriesEnum": {
  3663        "type": "string",
  3664        "enum": [
  3665          "AD",
  3666          "AE",
  3667          "AF",
  3668          "AG",
  3669          "AI",
  3670          "AL",
  3671          "AM",
  3672          "AO",
  3673          "AQ",
  3674          "AR",
  3675          "AS",
  3676          "AT",
  3677          "AU",
  3678          "AW",
  3679          "AX",
  3680          "AZ",
  3681          "BA",
  3682          "BB",
  3683          "BD",
  3684          "BE",
  3685          "BF",
  3686          "BG",
  3687          "BH",
  3688          "BI",
  3689          "BJ",
  3690          "BL",
  3691          "BM",
  3692          "BN",
  3693          "BO",
  3694          "BQ",
  3695          "BR",
  3696          "BS",
  3697          "BT",
  3698          "BV",
  3699          "BW",
  3700          "BY",
  3701          "BZ",
  3702          "CA",
  3703          "CC",
  3704          "CD",
  3705          "CF",
  3706          "CG",
  3707          "CH",
  3708          "CI",
  3709          "CK",
  3710          "CL",
  3711          "CM",
  3712          "CN",
  3713          "CO",
  3714          "CR",
  3715          "CU",
  3716          "CV",
  3717          "CW",
  3718          "CX",
  3719          "CY",
  3720          "CZ",
  3721          "DE",
  3722          "DJ",
  3723          "DK",
  3724          "DM",
  3725          "DO",
  3726          "DZ",
  3727          "EC",
  3728          "EE",
  3729          "EG",
  3730          "EH",
  3731          "ER",
  3732          "ES",
  3733          "ET",
  3734          "FI",
  3735          "FJ",
  3736          "FK",
  3737          "FM",
  3738          "FO",
  3739          "FR",
  3740          "GA",
  3741          "GB",
  3742          "GD",
  3743          "GE",
  3744          "GF",
  3745          "GG",
  3746          "GH",
  3747          "GI",
  3748          "GL",
  3749          "GM",
  3750          "GN",
  3751          "GP",
  3752          "GQ",
  3753          "GR",
  3754          "GS",
  3755          "GT",
  3756          "GU",
  3757          "GW",
  3758          "GY",
  3759          "HK",
  3760          "HM",
  3761          "HN",
  3762          "HR",
  3763          "HT",
  3764          "HU",
  3765          "ID",
  3766          "IE",
  3767          "IL",
  3768          "IM",
  3769          "IN",
  3770          "IO",
  3771          "IQ",
  3772          "IR",
  3773          "IS",
  3774          "IT",
  3775          "JE",
  3776          "JM",
  3777          "JO",
  3778          "JP",
  3779          "KE",
  3780          "KG",
  3781          "KH",
  3782          "KI",
  3783          "KM",
  3784          "KN",
  3785          "KP",
  3786          "KR",
  3787          "KW",
  3788          "KY",
  3789          "KZ",
  3790          "LA",
  3791          "LB",
  3792          "LC",
  3793          "LI",
  3794          "LK",
  3795          "LR",
  3796          "LS",
  3797          "LT",
  3798          "LU",
  3799          "LV",
  3800          "LY",
  3801          "MA",
  3802          "MC",
  3803          "MD",
  3804          "ME",
  3805          "MF",
  3806          "MG",
  3807          "MH",
  3808          "MK",
  3809          "ML",
  3810          "MM",
  3811          "MN",
  3812          "MO",
  3813          "MP",
  3814          "MQ",
  3815          "MR",
  3816          "MS",
  3817          "MT",
  3818          "MU",
  3819          "MV",
  3820          "MW",
  3821          "MX",
  3822          "MY",
  3823          "MZ",
  3824          "NA",
  3825          "NC",
  3826          "NE",
  3827          "NF",
  3828          "NG",
  3829          "NI",
  3830          "NL",
  3831          "NO",
  3832          "NP",
  3833          "NR",
  3834          "NU",
  3835          "NZ",
  3836          "OM",
  3837          "PA",
  3838          "PE",
  3839          "PF",
  3840          "PG",
  3841          "PH",
  3842          "PK",
  3843          "PL",
  3844          "PM",
  3845          "PN",
  3846          "PR",
  3847          "PS",
  3848          "PT",
  3849          "PW",
  3850          "PY",
  3851          "QA",
  3852          "RE",
  3853          "RO",
  3854          "RS",
  3855          "RU",
  3856          "RW",
  3857          "SA",
  3858          "SB",
  3859          "SC",
  3860          "SD",
  3861          "SE",
  3862          "SG",
  3863          "SH",
  3864          "SI",
  3865          "SJ",
  3866          "SK",
  3867          "SL",
  3868          "SM",
  3869          "SN",
  3870          "SO",
  3871          "SR",
  3872          "SS",
  3873          "ST",
  3874          "SV",
  3875          "SX",
  3876          "SY",
  3877          "SZ",
  3878          "TC",
  3879          "TD",
  3880          "TF",
  3881          "TG",
  3882          "TH",
  3883          "TJ",
  3884          "TK",
  3885          "TL",
  3886          "TM",
  3887          "TN",
  3888          "TO",
  3889          "TR",
  3890          "TT",
  3891          "TV",
  3892          "TW",
  3893          "TZ",
  3894          "UA",
  3895          "UG",
  3896          "UM",
  3897          "US",
  3898          "UY",
  3899          "UZ",
  3900          "VA",
  3901          "VC",
  3902          "VE",
  3903          "VG",
  3904          "VI",
  3905          "VN",
  3906          "VU",
  3907          "WF",
  3908          "WS",
  3909          "YE",
  3910          "YT",
  3911          "ZA",
  3912          "ZM",
  3913          "ZW"
  3914        ]
  3915      },
  3916      "currenciesEnum": {
  3917        "type": "string",
  3918        "enum": [
  3919          "AED",
  3920          "AFN",
  3921          "ALL",
  3922          "AMD",
  3923          "ANG",
  3924          "AOA",
  3925          "ARS",
  3926          "AUD",
  3927          "AWG",
  3928          "AZN",
  3929          "BAM",
  3930          "BBD",
  3931          "BDT",
  3932          "BGN",
  3933          "BHD",
  3934          "BIF",
  3935          "BMD",
  3936          "BND",
  3937          "BOB",
  3938          "BOV",
  3939          "BRL",
  3940          "BSD",
  3941          "BTN",
  3942          "BWP",
  3943          "BYR",
  3944          "BZD",
  3945          "CAD",
  3946          "CDF",
  3947          "CHE",
  3948          "CHF",
  3949          "CHW",
  3950          "CLF",
  3951          "CLP",
  3952          "CNY",
  3953          "COP",
  3954          "COU",
  3955          "CRC",
  3956          "CUC",
  3957          "CUP",
  3958          "CVE",
  3959          "CZK",
  3960          "DJF",
  3961          "DKK",
  3962          "DOP",
  3963          "DZD",
  3964          "EGP",
  3965          "ERN",
  3966          "ETB",
  3967          "EUR",
  3968          "FJD",
  3969          "FKP",
  3970          "GBP",
  3971          "GEL",
  3972          "GHS",
  3973          "GIP",
  3974          "GMD",
  3975          "GNF",
  3976          "GTQ",
  3977          "GYD",
  3978          "HKD",
  3979          "HNL",
  3980          "HRK",
  3981          "HTG",
  3982          "HUF",
  3983          "IDR",
  3984          "ILS",
  3985          "INR",
  3986          "IQD",
  3987          "IRR",
  3988          "ISK",
  3989          "JMD",
  3990          "JOD",
  3991          "JPY",
  3992          "KES",
  3993          "KGS",
  3994          "KHR",
  3995          "KMF",
  3996          "KPW",
  3997          "KRW",
  3998          "KWD",
  3999          "KYD",
  4000          "KZT",
  4001          "LAK",
  4002          "LBP",
  4003          "LKR",
  4004          "LRD",
  4005          "LSL",
  4006          "LYD",
  4007          "MAD",
  4008          "MDL",
  4009          "MGA",
  4010          "MKD",
  4011          "MMK",
  4012          "MNT",
  4013          "MOP",
  4014          "MRO",
  4015          "MUR",
  4016          "MVR",
  4017          "MWK",
  4018          "MXN",
  4019          "MXV",
  4020          "MYR",
  4021          "MZN",
  4022          "NAD",
  4023          "NGN",
  4024          "NIO",
  4025          "NOK",
  4026          "NPR",
  4027          "NZD",
  4028          "OMR",
  4029          "PAB",
  4030          "PEN",
  4031          "PGK",
  4032          "PHP",
  4033          "PKR",
  4034          "PLN",
  4035          "PYG",
  4036          "QAR",
  4037          "RON",
  4038          "RSD",
  4039          "RUB",
  4040          "RWF",
  4041          "SAR",
  4042          "SBD",
  4043          "SCR",
  4044          "SDG",
  4045          "SEK",
  4046          "SGD",
  4047          "SHP",
  4048          "SLL",
  4049          "SOS",
  4050          "SRD",
  4051          "SSP",
  4052          "STD",
  4053          "SVC",
  4054          "SYP",
  4055          "SZL",
  4056          "THB",
  4057          "TJS",
  4058          "TMT",
  4059          "TND",
  4060          "TOP",
  4061          "TRY",
  4062          "TTD",
  4063          "TWD",
  4064          "TZS",
  4065          "UAH",
  4066          "UGX",
  4067          "USD",
  4068          "USN",
  4069          "UYI",
  4070          "UYU",
  4071          "UZS",
  4072          "VEF",
  4073          "VND",
  4074          "VUV",
  4075          "WST",
  4076          "XAF",
  4077          "XAG",
  4078          "XAU",
  4079          "XBA",
  4080          "XBB",
  4081          "XBC",
  4082          "XBD",
  4083          "XCD",
  4084          "XDR",
  4085          "XOF",
  4086          "XPD",
  4087          "XPF",
  4088          "XPT",
  4089          "XSU",
  4090          "XTS",
  4091          "XUA",
  4092          "XXX",
  4093          "YER",
  4094          "ZAR",
  4095          "ZMW",
  4096          "ZWL"
  4097        ]
  4098      },
  4099      "genderEnum": {
  4100        "type": "string",
  4101        "enum": [
  4102          "m",
  4103          "f",
  4104          "u"
  4105        ]
  4106      },
  4107      "idTypeEnum": {
  4108        "type": "string",
  4109        "enum": [
  4110          "passport",
  4111          "nationalregistration",
  4112          "otherId",
  4113          "drivinglicence",
  4114          "socialsecurity",
  4115          "alienregistration",
  4116          "nationalidcard",
  4117          "employer",
  4118          "taxid",
  4119          "seniorcitizenscard",
  4120          "marriagecertificate",
  4121          "birthcertificate",
  4122          "healthcard",
  4123          "votersid",
  4124          "villageelderLetter",
  4125          "pancard",
  4126          "officialletter"
  4127        ]
  4128      },
  4129      "deliveryMethodEnum": {
  4130        "type": "string",
  4131        "enum": [
  4132          "directtoaccount",
  4133          "agent",
  4134          "personaldelivery"
  4135        ]
  4136      },
  4137      "frequencyTypeEnum": {
  4138        "type": "string",
  4139        "enum": [
  4140          "weekly",
  4141          "fortnight",
  4142          "monthspecificdate",
  4143          "twomonths",
  4144          "threemonths",
  4145          "fourmonths",
  4146          "sixmonths",
  4147          "yearly",
  4148          "lastdaymonth",
  4149          "lastdaymonthworking",
  4150          "lastmonday",
  4151          "lasttuesday",
  4152          "lastwednesday",
  4153          "lastthursday",
  4154          "lastfriday",
  4155          "lastsaturday",
  4156          "lastsunday",
  4157          "specificdaymonthly"
  4158        ]
  4159      },
  4160      "accountStatusEnum": {
  4161        "enum": [
  4162          "available",
  4163          "unavailable",
  4164          "unregistered"
  4165        ]
  4166      },
  4167      "mandateStatusEnum": {
  4168        "type": "string",
  4169        "enum": [
  4170          "active",
  4171          "inactive"
  4172        ]
  4173      },
  4174      "linkStatusEnum": {
  4175        "type": "string",
  4176        "enum": [
  4177          "active",
  4178          "inactive"
  4179        ]
  4180      },
  4181      "linkModeEnum": {
  4182        "type": "string",
  4183        "enum": [
  4184          "push",
  4185          "pull",
  4186          "both"
  4187        ]
  4188      },
  4189      "quotationStatusEnum": {
  4190        "type": "string",
  4191        "enum": [
  4192          "pending",
  4193          "rejected",
  4194          "completed"
  4195        ]
  4196      },
  4197      "patchOpEnum": {
  4198        "type": "string",
  4199        "enum": [
  4200          "replace",
  4201          "add"
  4202        ]
  4203      },
  4204      "requestStateStatusEnum": {
  4205        "type": "string",
  4206        "enum": [
  4207          "pending",
  4208          "completed",
  4209          "failed"
  4210        ]
  4211      },
  4212      "notificationMethodEnum": {
  4213        "type": "string",
  4214        "enum": [
  4215          "callback",
  4216          "polling"
  4217        ]
  4218      },
  4219      "serviceStatusEnum": {
  4220        "type": "string",
  4221        "enum": [
  4222          "available",
  4223          "unavailable",
  4224          "degraded"
  4225        ]
  4226      },
  4227      "batchStatusEnum": {
  4228        "type": "string",
  4229        "enum": [
  4230          "created",
  4231          "approved",
  4232          "completed"
  4233        ]
  4234      },
  4235      "errorCategoryEnum": {
  4236        "type": "string",
  4237        "enum": [
  4238          "businessRule",
  4239          "validation",
  4240          "authorisation",
  4241          "identification",
  4242          "internal",
  4243          "serviceUnavailable"
  4244        ]
  4245      },
  4246      "errorCodeEnum": {
  4247        "type": "string",
  4248        "enum": [
  4249          "genericError",
  4250          "dailyVolumeLimitExceeded",
  4251          "dailyValueLimitExceeded",
  4252          "weeklyVolumeLimitExceeded",
  4253          "weeklyValueLimitExceeded",
  4254          "monthlyVolumeLimitExceeded",
  4255          "monthlyValueLimitExceeded",
  4256          "accountMaxTotalVolumeExceeded",
  4257          "accountMaxTotalValueExceeded",
  4258          "lessThanTransactionMinValue",
  4259          "greaterThanTransactionMaxValue",
  4260          "maxBalanceExceed",
  4261          "samePartiesError",
  4262          "duplicateRequest",
  4263          "insufficientFunds",
  4264          "incorrectState",
  4265          "underPaymentNotAllowed",
  4266          "overPaymentNotAllowed",
  4267          "rateLimitError",
  4268          "transactionTypeError",
  4269          "noMandateAuthority",
  4270          "linkViolation",
  4271          "countryofOriginNotPermitted",
  4272          "nationalityNotPermitted",
  4273          "idDocumentNotSupported",
  4274          "issuingCountryNotSupported",
  4275          "quoteHasExpired",
  4276          "identifierError",
  4277          "lengthError",
  4278          "formatError",
  4279          "negativeValue",
  4280          "currencyNotSupported",
  4281          "mandatoryValueNotSupplied",
  4282          "invalidOffset",
  4283          "clientAuthorisationError",
  4284          "requestDeclined",
  4285          "servicingPartyAuthorisationError",
  4286          "requestingPartyAuthorisationError"
  4287        ]
  4288      }
  4289    },
  4290    "parameters": {
  4291      "correlationId": {
  4292        "name": "X-CorrelationID",
  4293        "in": "header",
  4294        "description": "Header parameter to uniquely identify the request",
  4295        "required": true,
  4296        "type": "string",
  4297        "pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$"
  4298      },
  4299      "transactionReference": {
  4300        "name": "transactionReference",
  4301        "in": "path",
  4302        "description": "Path variable to uniquely identify the transaction",
  4303        "required": true,
  4304        "type": "string",
  4305        "minLength": 1,
  4306        "maxLength": 256
  4307      },
  4308      "date": {
  4309        "name": "Date",
  4310        "in": "header",
  4311        "description": "Header parameter to indicate the date and time that the message was originated",
  4312        "required": true,
  4313        "type": "string",
  4314        "format": "datetime"
  4315      },
  4316      "requestTransaction": {
  4317        "name": "requestTransaction",
  4318        "in": "body",
  4319        "description": "Represents the request body of a transaction",
  4320        "required": true,
  4321        "schema": {
  4322          "$ref": "#/definitions/requestTransaction"
  4323        }
  4324      },
  4325      "requestReversal": {
  4326        "name": "requestReversal",
  4327        "in": "body",
  4328        "description": "Represents the request body of a reversal",
  4329        "required": true,
  4330        "schema": {
  4331          "$ref": "#/definitions/requestReversal"
  4332        }
  4333      },
  4334      "batchId": {
  4335        "name": "batchId",
  4336        "in": "path",
  4337        "description": "Path variable to uniquely identify the transaction batch",
  4338        "required": true,
  4339        "type": "string",
  4340        "minLength": 1,
  4341        "maxLength": 256
  4342      },
  4343      "requestBatchTransaction": {
  4344        "name": "requestBatchTransaction",
  4345        "in": "body",
  4346        "description": "Represents the request body of a transaction batch",
  4347        "required": true,
  4348        "schema": {
  4349          "$ref": "#/definitions/requestBatchTransaction"
  4350        }
  4351      },
  4352      "limit": {
  4353        "name": "limit",
  4354        "in": "query",
  4355        "description": "Supports pagination. If this is not supplied, then the server will apply a limit of 50 records returned for each request.",
  4356        "required": false,
  4357        "type": "integer",
  4358        "format": "int32"
  4359      },
  4360      "offset": {
  4361        "name": "offset",
  4362        "in": "query",
  4363        "description": "Supports pagination. This value will indicate the cursor position from where to retrieve the set of records. For example, a limit of 50 and offset of 10 will return records 10 to 60.",
  4364        "required": false,
  4365        "type": "integer",
  4366        "format": "int32"
  4367      },
  4368      "fromDateTime": {
  4369        "name": "fromDateTime",
  4370        "in": "query",
  4371        "description": "Indicates the minimum date for which records should be returned",
  4372        "required": false,
  4373        "type": "string",
  4374        "format": "datetime"
  4375      },
  4376      "toDateTime": {
  4377        "name": "toDateTime",
  4378        "in": "query",
  4379        "description": "Indicates the maximum date for which records should be returned",
  4380        "required": false,
  4381        "type": "string",
  4382        "format": "datetime"
  4383      },
  4384      "patch": {
  4385        "name": "patch",
  4386        "in": "body",
  4387        "description": "Represents the request body of a patch operation",
  4388        "required": true,
  4389        "schema": {
  4390          "type": "array",
  4391          "minItems": 1,
  4392          "maxItems": 10,
  4393          "items": {
  4394            "$ref": "#/definitions/patch"
  4395          }
  4396        }
  4397      },
  4398      "accountId": {
  4399        "name": "accountId",
  4400        "in": "path",
  4401        "description": "Path variable to uniquely identify an account",
  4402        "required": true,
  4403        "type": "string",
  4404        "pattern": "^(accountcategory|bankaccountno|accountrank|identityalias|iban|accountid|msisdn|swiftbic|sortcode|organisationid|username|walletid|linkref)(@.+?\\\\$(accountcategory|bankaccountno|accountrank|identityalias|iban|accountid|msisdn|swiftbic|sortcode|organisationid|username|walletid|linkref))*@(?!.*?\\\\$(accountcategory|bankaccountno|accountrank|identityalias|iban|accountid|msisdn|swiftbic|sortcode|organisationid|username|walletid|linkref).*).+?$"
  4405      },
  4406      "msisdn": {
  4407        "name": "msisdn",
  4408        "in": "path",
  4409        "description": "Path variable to uniquely identify an account (via MSISDN identifier)",
  4410        "required": true,
  4411        "type": "string",
  4412        "pattern": "^\\+(?:[0-9] ?){6,14}[0-9]$"
  4413      },
  4414      "requestDebitMandate": {
  4415        "name": "requestDebitMandate",
  4416        "in": "body",
  4417        "description": "Represents the request body of a debit mandate",
  4418        "required": true,
  4419        "schema": {
  4420          "$ref": "#/definitions/requestDebitMandate"
  4421        }
  4422      },
  4423      "billReference": {
  4424        "name": "billReference",
  4425        "in": "path",
  4426        "description": "Path variable to uniquely identify a bill",
  4427        "required": true,
  4428        "type": "string",
  4429        "minLength": 1,
  4430        "maxLength": 256
  4431      },
  4432      "debitMandateReference": {
  4433        "name": "debitMandateReference",
  4434        "in": "path",
  4435        "description": "Path variable to uniquely identify a debit mandate",
  4436        "required": true,
  4437        "type": "string",
  4438        "minLength": 1,
  4439        "maxLength": 256
  4440      },
  4441      "requestLink": {
  4442        "name": "requestLink",
  4443        "in": "body",
  4444        "description": "Represents the request body of a link",
  4445        "required": true,
  4446        "schema": {
  4447          "$ref": "#/definitions/link"
  4448        }
  4449      },
  4450      "linkReference": {
  4451        "name": "linkReference",
  4452        "in": "path",
  4453        "description": "Path variable to uniquely identify a link",
  4454        "required": true,
  4455        "type": "string",
  4456        "minLength": 1,
  4457        "maxLength": 256
  4458      },
  4459      "quotationReference": {
  4460        "name": "quotationReference",
  4461        "in": "path",
  4462        "description": "Path variable to uniquely identify a quotation",
  4463        "required": true,
  4464        "type": "string",
  4465        "minLength": 1,
  4466        "maxLength": 256
  4467      },
  4468      "requestQuotation": {
  4469        "name": "requestQuotation",
  4470        "in": "body",
  4471        "description": "Represents the request body of a quotation request",
  4472        "required": true,
  4473        "schema": {
  4474          "$ref": "#/definitions/requestQuotation"
  4475        }
  4476      },
  4477      "requestBillPayment": {
  4478        "name": "requestBillPayment",
  4479        "in": "body",
  4480        "description": "Represents the request body of a bill payment",
  4481        "required": true,
  4482        "schema": {
  4483          "$ref": "#/definitions/billPayment"
  4484        }
  4485      },
  4486      "serverCorrelationId": {
  4487        "name": "serverCorrelationId",
  4488        "in": "path",
  4489        "description": "Path variable to uniquely identify a request state",
  4490        "required": true,
  4491        "type": "string",
  4492        "pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$"
  4493      },
  4494      "clientCorrelationId": {
  4495        "name": "clientCorrelationId",
  4496        "in": "path",
  4497        "description": "Path variable to uniquely identify a response",
  4498        "required": true,
  4499        "type": "string",
  4500        "pattern": "^[0-9A-Fa-f]{8}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{4}-[0-9A-Fa-f]{12}$"
  4501      }
  4502    },
  4503    "responses": {
  4504      "responseTransaction": {
  4505        "description": "Represents a Transaction response",
  4506        "headers": {
  4507          "Date": {
  4508            "description": "The date and time that the response message was sent",
  4509            "type": "string",
  4510            "format": "datetime"
  4511          }
  4512        },
  4513        "schema": {
  4514          "$ref": "#/definitions/responseTransaction"
  4515        }
  4516      },
  4517      "responseReversal": {
  4518        "description": "Represents a Reversal response",
  4519        "headers": {
  4520          "Date": {
  4521            "description": "The date and time that the response message was sent",
  4522            "type": "string",
  4523            "format": "datetime"
  4524          }
  4525        },
  4526        "schema": {
  4527          "$ref": "#/definitions/responseReversal"
  4528        }
  4529      },
  4530      "responseBatchTransaction": {
  4531        "description": "Represents a Transaction Batch response",
  4532        "headers": {
  4533          "Date": {
  4534            "description": "The date and time that the response message was sent",
  4535            "type": "string",
  4536            "format": "datetime"
  4537          }
  4538        },
  4539        "schema": {
  4540          "$ref": "#/definitions/responseBatchTransaction"
  4541        }
  4542      },
  4543      "listBatchRejection": {
  4544        "description": "Represent a list of Batch Rejections",
  4545        "headers": {
  4546          "Date": {
  4547            "description": "The date and time that the response message was sent",
  4548            "type": "string",
  4549            "format": "datetime"
  4550          },
  4551          "X-Records-Available-Count": {
  4552            "description": "Integer containing number of records that are available to be returned",
  4553            "type": "integer",
  4554            "format": "int32"
  4555          }
  4556        },
  4557        "schema": {
  4558          "type": "array",
  4559          "minItems": 0,
  4560          "items": {
  4561            "$ref": "#/definitions/batchRejection"
  4562          }
  4563        }
  4564      },
  4565      "listBatchCompletion": {
  4566        "description": "Represent a list of Batch Completions",
  4567        "headers": {
  4568          "Date": {
  4569            "description": "The date and time that the response message was sent",
  4570            "type": "string",
  4571            "format": "datetime"
  4572          },
  4573          "X-Records-Available-Count": {
  4574            "description": "Integer containing number of records that are available to be returned",
  4575            "type": "integer",
  4576            "format": "int32"
  4577          }
  4578        },
  4579        "schema": {
  4580          "type": "array",
  4581          "minItems": 0,
  4582          "items": {
  4583            "$ref": "#/definitions/batchCompletion"
  4584          }
  4585        }
  4586      },
  4587      "listTransaction": {
  4588        "description": "Represent a list of Transactions",
  4589        "headers": {
  4590          "Date": {
  4591            "description": "The date and time that the response message was sent",
  4592            "type": "string",
  4593            "format": "datetime"
  4594          },
  4595          "X-Records-Available-Count": {
  4596            "description": "Integer containing number of records that are available to be returned",
  4597            "type": "integer",
  4598            "format": "int32"
  4599          }
  4600        },
  4601        "schema": {
  4602          "type": "array",
  4603          "minItems": 1,
  4604          "items": {
  4605            "$ref": "#/definitions/responseTransaction"
  4606          }
  4607        }
  4608      },
  4609      "accountStatus": {
  4610        "description": "Represents the response body of an account status",
  4611        "headers": {
  4612          "Date": {
  4613            "description": "The date and time that the response message was sent",
  4614            "type": "string",
  4615            "format": "datetime"
  4616          }
  4617        },
  4618        "schema": {
  4619          "$ref": "#/definitions/accountStatus"
  4620        }
  4621      },
  4622      "accountName": {
  4623        "description": "Represents the response body of an account name",
  4624        "headers": {
  4625          "Date": {
  4626            "description": "The date and time that the response message was sent",
  4627            "type": "string",
  4628            "format": "datetime"
  4629          }
  4630        },
  4631        "schema": {
  4632          "$ref": "#/definitions/accountName"
  4633        }
  4634      },
  4635      "accountBalance": {
  4636        "description": "Represents the response body of an account balance",
  4637        "headers": {
  4638          "Date": {
  4639            "description": "The date and time that the response message was sent",
  4640            "type": "string",
  4641            "format": "datetime"
  4642          }
  4643        },
  4644        "schema": {
  4645          "$ref": "#/definitions/accountBalance"
  4646        }
  4647      },
  4648      "statementEntry": {
  4649        "description": "Represents the response body of a statement entry",
  4650        "headers": {
  4651          "Date": {
  4652            "description": "The date and time that the response message was sent",
  4653            "type": "string",
  4654            "format": "datetime"
  4655          }
  4656        },
  4657        "schema": {
  4658          "$ref": "#/definitions/statementEntry"
  4659        }
  4660      },
  4661      "listStatementEntry": {
  4662        "description": "Represents a list of statements",
  4663        "headers": {
  4664          "Date": {
  4665            "description": "The date and time that the response message was sent",
  4666            "type": "string",
  4667            "format": "datetime"
  4668          }
  4669        },
  4670        "schema": {
  4671          "type": "array",
  4672          "minItems": 1,
  4673          "items": {
  4674            "$ref": "#/definitions/statementEntry"
  4675          }
  4676        }
  4677      },
  4678      "listBill": {
  4679        "description": "Represents a list of bills",
  4680        "headers": {
  4681          "Date": {
  4682            "description": "The date and time that the response message was sent",
  4683            "type": "string",
  4684            "format": "datetime"
  4685          }
  4686        },
  4687        "schema": {
  4688          "type": "array",
  4689          "minItems": 1,
  4690          "items": {
  4691            "$ref": "#/definitions/bill"
  4692          }
  4693        }
  4694      },
  4695      "responseDebitMandate": {
  4696        "description": "Represents the response body of a debit mandate",
  4697        "headers": {
  4698          "Date": {
  4699            "description": "The date and time that the response message was sent",
  4700            "type": "string",
  4701            "format": "datetime"
  4702          }
  4703        },
  4704        "schema": {
  4705          "$ref": "#/definitions/responseDebitMandate"
  4706        }
  4707      },
  4708      "responseLink": {
  4709        "description": "Represents the response body of a link",
  4710        "headers": {
  4711          "Date": {
  4712            "description": "The date and time that the response message was sent",
  4713            "type": "string",
  4714            "format": "datetime"
  4715          }
  4716        },
  4717        "schema": {
  4718          "$ref": "#/definitions/responseLink"
  4719        }
  4720      },
  4721      "responseQuotation": {
  4722        "description": "Represents the response body of a quotation",
  4723        "headers": {
  4724          "Date": {
  4725            "description": "The date and time that the response message was sent",
  4726            "type": "string",
  4727            "format": "datetime"
  4728          }
  4729        },
  4730        "schema": {
  4731          "$ref": "#/definitions/responseQuotation"
  4732        }
  4733      },
  4734      "responseBillPayment": {
  4735        "description": "Represents the response body of a bill payment",
  4736        "headers": {
  4737          "Date": {
  4738            "description": "The date and time that the response message was sent",
  4739            "type": "string",
  4740            "format": "datetime"
  4741          }
  4742        },
  4743        "schema": {
  4744          "$ref": "#/definitions/billPayment"
  4745        }
  4746      },
  4747      "responseRequestState": {
  4748        "description": "Represents the response body of an asynchronous request",
  4749        "headers": {
  4750          "Date": {
  4751            "description": "The date and time that the response message was sent",
  4752            "type": "string",
  4753            "format": "datetime"
  4754          }
  4755        },
  4756        "schema": {
  4757          "$ref": "#/definitions/requestState"
  4758        }
  4759      },
  4760      "response": {
  4761        "description": "Represents the response body of a response",
  4762        "headers": {
  4763          "Date": {
  4764            "description": "The date and time that the response message was sent",
  4765            "type": "string",
  4766            "format": "datetime"
  4767          }
  4768        },
  4769        "schema": {
  4770          "$ref": "#/definitions/response"
  4771        }
  4772      },
  4773      "heartbeat": {
  4774        "description": "Represents the response body of a heartbeat",
  4775        "headers": {
  4776          "Date": {
  4777            "description": "The date and time that the response message was sent",
  4778            "type": "string",
  4779            "format": "datetime"
  4780          }
  4781        },
  4782        "schema": {
  4783          "$ref": "#/definitions/heartbeat"
  4784        }
  4785      },
  4786      "error": {
  4787        "description": "error object",
  4788        "headers": {
  4789          "Date": {
  4790            "description": "The date and time that the response message was sent",
  4791            "type": "string",
  4792            "format": "datetime"
  4793          }
  4794        },
  4795        "schema": {
  4796          "$ref": "#/definitions/error"
  4797        }
  4798      }
  4799    }
  4800  }