{"swagger":"2.0","info":{"version":"0.1","title":"Mobile Banking API Specifications"},"basePath":"/MobilePROD/rsservice/v1/private","tags":[{"name":"Mobile"},{"name":"Auth"},{"name":"Account"},{"name":"Card"},{"name":"Contact"},{"name":"Documents"},{"name":"IRD"},{"name":"Device"},{"name":"Messages"},{"name":"MFA Enrollment Token Service"},{"name":"Nominated"},{"name":"Password"},{"name":"Payee"},{"name":"Payment"},{"name":"Transaction"},{"name":"Transfer"},{"name":"User"}],"consumes":["application/json"],"produces":["application/json"],"paths":{"/server_version":{"get":{"tags":["Mobile"],"summary":"Get server version","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API requires System API level authentication (OAuth2.0 Client Credentials). Consumer must supply a valid access token (Bearer).<p>For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorization logic:</h2><p>This API also expects an OCC Client ID representing a Sovereign entity such as dealer or employee. For example, Dealer John Smith has client id = 000023112. <p>This OCC ID should be passed in as a http header in <code>x-occapi-request-by-client=000023112</code>. This API will only return the requested data if the client <p>(1) is an employee defined in OCC backend or <p>(2) has been defined as a key person for an originator that originated the loan application.<p>When the mentioned header is unset, API will return 400 with an error message: Http header:x-occapi-request-by-client is required for this API.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/public/server_version<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"version\": \"1.2.3\"\n}\n```\n","operationId":"getServerVersion","consumes":["application/json"],"produces":["application/json"],"parameters":[],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"type":"string"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/logout":{"delete":{"tags":["Auth"],"summary":"Logout seal the deal user","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API requires System API level authentication (OAuth2.0 Client Credentials). Consumer must supply a valid access token (Bearer).<p>For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorization logic:</h2><p>This API also expects an OCC Client ID representing a Sovereign entity such as dealer or employee. For example, Dealer John Smith has client id = 000023112. <p>This OCC ID should be passed in as a http header in <code>x-occapi-request-by-client=000023112</code>. This API will only return the requested data if the client <p>(1) is an employee defined in OCC backend or <p>(2) has been defined as a key person for an originator that originated the loan application.<p>When the mentioned header is unset, API will return 400 with an error message: Http header:x-occapi-request-by-client is required for this API.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/logout<p>Http-Method: DELETE<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>```json \n```\n","operationId":"logoutUserSession","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"Authorization header","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/accounts/icon":{"post":{"tags":["Account"],"summary":"This API set the icon for the account.","description":"<h2>Summary:</h2><p>This API allows the logged in user to change the icon of accounts that they have access to. The icon name must be from the following:<table><tr><td>icon_personalloan_1.svg</td><td>icon_everyday_1.svg</td><td>icon_homeloan_1.svg</td></tr><tr><td>icon_termdeposits_1.svg</td><td>icon_billpay_1.svg</td><td>icon_everydayunlimited_1.svg</td></tr><tr><td>icon_kiwisaver_1.svg</td><td>icon_christmassaver_1.svg</td><td>icon_everydaysaver_1.svg</td></tr><tr><td>icon_freedom_1.svg</td><td>icon_kidssaver_1.svg</td><td>icon_onlinesaver_1.svg</td></tr></table><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/accounts/icon<p>HttpMethod: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json]</code>\n```json \n{\n  \"accountNumber\": \"0020011326\",\n  \"iconFileName\": \"icon_personalloan_1.svg\"\n}\n```\n<h2>Sample Response:</h2><p>Empty response with code = 200.\n","operationId":"icon","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/AccountIconReq"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Succeed"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/accounts/account_detail":{"get":{"tags":["Account"],"summary":"This API will return lending account details for the provided account.","description":"<h2>Summary:</h2><p>Return lending account details for the provided account. It will contain the expected maturitydate which takes into account the actual payments made.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to access details for account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/account_detail?accountExternalNumber=0011629979&productCode=CALL<p>Http-Method: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n{\n    \"accountExternalNumber\": \"0020032123\",\n    \"contractStartDate\": \"2017-05-01\",\n    \"amountFinanced\": \"$15.075.00\",\n    \"financeRate\": \"7.00%\",\n    \"currentBalance\": \"$10.915.68\",\n    \"arrearsBalance\": \"$71.328.01\",\n    \"termDescription\": \"98 Months\",\n    \"currentMaturityDate\": \"2025-07-01\",\n    \"lastPaymentDate\": \"2024-02-08\",\n    \"lastPaymentAmount\": \"$1.181.99\",\n    \"nextPaymentDate\": \"2025-07-01\",\n    \"nextPaymentAmount\": \"$0.00\",\n    \"paymentFrequencyDesc\": \"Monthly on the 1st of the mont\",\n    \"paymentFrequency\": \"M\",\n    \"paymentFrequencyExt\": \"Monthly\",\n    \"calculatedMaturityDate\": \"2025-02-01\"\n}\n","operationId":"getAccountDetail","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"accountExternalNumber","in":"query","required":true,"type":"string","maxLength":11,"minLength":0,"pattern":"\\d+"},{"name":"productCode","in":"query","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/LendingAccountDetail"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/accounts":{"get":{"tags":["Account"],"summary":"This API return a list of accounts with information such as account balance, available funds, product code, etc for each account that belong to the user","description":"<h2>Summary:</h2><p>Input must be Form-url Encoded We should specify transferableTo, <p>transferableFrom, billPayable as 'true' or 'false' to enable specific filtering. <p>All parameters are optional and defaulted to false.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/accounts?transferableTo=abc&transferableFrom=abc&billPayable=abc<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"accountList\": [\n    {\n      \"accountName\": \"Wood Kate - Card Miss\",\n      \"accountExternalNumber\": \"0000036663\",\n      \"bankAccountNumber\": \"---\",\n      \"accountType\": \"Call Account-Diamond Card\",\n      \"availableAmount\": 3727.43,\n      \"balance\": 3727.43,\n      \"moduleId\": \"CC\",\n      \"productCode\": \"CADC\",\n      \"productDesc\": \"Call Account-Diamond Card\",\n      \"clientCategory\": \"Jimmy Jumper\"\n      \"icon\": \"icon_everydaysaver_1.svg\"\n    },\n    {\n      \"accountName\": \"Bond J & Holmes S\",\n      \"accountExternalNumber\": \"0000001504\",\n      \"bankAccountNumber\": \"03-1783-0001011-11\",\n      \"accountType\": \"Term Deposit - 755 Days\",\n      \"availableAmount\": 25728.27,\n      \"balance\": 25728.27,\n      \"moduleId\": \"CC\",\n      \"productCode\": \"TD\",\n      \"productDesc\": \"Term Deposit - 755 Days\",\n      \"clientCategory\": \"Jimmy Jumper\"\n      \"icon\": \"icon_personalloan_1.svg\"\n    },\n    {\n      \"accountName\": \"McLean Ron William Mr\",\n      \"accountExternalNumber\": \"0000029117\",\n      \"bankAccountNumber\": \"03-1351-0004729-11\",\n      \"accountType\": \"Term Deposit - 290 Days\",\n      \"availableAmount\": 5159.55,\n      \"balance\": 5159.55,\n      \"moduleId\": \"CC\",\n      \"productCode\": \"TD\",\n      \"productDesc\": \"Term Deposit - 290 Days\",\n      \"clientCategory\": \"Jimmy Jumper\"\n      \"icon\": \"icon_christmassaver_1.svg\"\n    }\n  ]\n}\n```\n","operationId":"getAccounts","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"transferableTo","in":"query","description":"true means filtering in only the accounts that can be transferred to will be returned, false or unset means no filtering","required":false,"type":"string"},{"name":"transferableFrom","in":"query","description":"true means filtering in only the accounts that can be transferred from will be returned, false or unset means no filtering","required":false,"type":"string"},{"name":"billPayable","in":"query","description":"true means filtering in only the accounts that can make bill payments will be returned, false or unset means no filtering","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Accounts"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/accounts/forCards":{"get":{"tags":["Account"],"summary":"This API return a list of accounts for a provided card type code that belong to the user","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/accounts/forCards?cardTypeCode=0001<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n\"accountList\": [\n        {\n            \"accountName\": \"Vertexon Steve Mr\",\n            \"accountExternalNumber\": \"0011628559\",\n            \"bankAccountNumber\": \"01-0126-0001xxxx-0000\",\n            \"accountType\": \"CQ\",\n            \"availableAmount\": 7078.39,\n            \"balance\": 6978.39,\n            \"moduleId\": \"CC\",\n            \"productCode\": \"CALL\",\n            \"productDesc\": \"Call Product\",\n            \"dualAuthRequired\": false,\n            \"alias\": \"Vertexon Steve Mr\",\n            \"icon\": \"icon_billpay_1.png\",\n            \"contractStartDate\": \"2022-09-19\",\n            \"contractEndDate\": \"0001-01-01\"\n        },\n        {\n            \"accountName\": \"Vertexon Steve Mr\",\n            \"accountExternalNumber\": \"0011628566\",\n            \"bankAccountNumber\": \"03-1783-00002xxx-0000\",\n            \"accountType\": \"CQ\",\n            \"availableAmount\": 4235.53,\n            \"balance\": 4235.53,\n            \"moduleId\": \"CC\",\n            \"productCode\": \"CALL\",\n            \"productDesc\": \"Call Product\",\n            \"dualAuthRequired\": false,\n            \"alias\": \"Vertexon Steve Mr\",\n            \"icon\": \"icon_billpay_1.png\",\n            \"contractStartDate\": \"2022-09-19\",\n            \"contractEndDate\": \"0001-01-01\"\n        }\n    ]\n}```\n","operationId":"getAccountForCards","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"cardTypeCode","in":"query","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Accounts"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/accounts/sequence":{"post":{"tags":["Account"],"summary":"This API updates the accounts sequence.","description":"<h2>Summary:</h2><p>This API allows the logged in user to update the display sequence of of the accounts that he/she has access to.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/accounts/sequence<p>HttpMethod: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json]</code>\n```json \n{\n  \"accountExternalNumber\": \"0020011326\",\n  \"displaySequence\": \"1\"\n}\n```\n<h2>Sample Response:</h2><p>Empty response with code = 200.\n","operationId":"updateAccountSequences","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/AccountSequenceReq"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Succeed"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/accounts/{accountExtNum}/statements":{"get":{"tags":["Account"],"summary":"This API return a list of account statement that belong to the user","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/accounts/0011628559/statements?startDate=2020-06-07&endDate=2023-06-07<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n[\n    {\n        \"id\": \"00000181344\",\n        \"capturedDate\": \"2022-10-10 00:00:00\",\n        \"typeCode\": \"FNDSMT\",\n        \"description\": \"Funding statement             \",\n        \"openingBalance\": 0.00,\n        \"closingBalance\": 0.00,\n        \"createdStatus\": \"PROCESSING\",\n        \"source\": \"B\"\n    }\n]```\n","operationId":"getAccountStatements","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"accountExtNum","in":"path","required":true,"type":"string","maxLength":11,"minLength":0,"pattern":"\\d+"},{"name":"fromDate","in":"query","description":"From Date. Format: yyyy-MM-dd, Optional","required":false,"type":"string"},{"name":"toDate","in":"query","description":"To Date. Format: yyyy-MM-dd, Optional","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Accounts"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/accounts/{accountExtNum}/newStatement":{"post":{"tags":["Account"],"summary":"This API create a new statement for an account.","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/accounts/000023432/newStatement?fromDate=2020-06-07&toDate=2023-06-07<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n    \"documentId\": \"00000188112\"\n}```\n","operationId":"generateStatement","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"accountExtNum","in":"path","required":true,"type":"string","maxLength":11,"minLength":0,"pattern":"\\d+"},{"name":"fromDate","in":"query","description":"From Date. Format: yyyy-MM-dd","required":true,"type":"string"},{"name":"toDate","in":"query","description":"To Date. Format: yyyy-MM-dd","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Accounts"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/accounts/rename":{"post":{"tags":["Account"],"summary":"This API renames the account.","description":"<h2>Summary:</h2><p>This API allows the logged in user to change the name of the accounts that he/she has access to. It is idempotent. It does not check if the new name is the same as the old.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/accounts/rename<p>HttpMethod: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json]</code>\n```json \n{\n  \"accountNumber\": \"0020011326\",\n  \"renameTo\": \"new name\"\n}\n```\n<h2>Sample Response:</h2><p>Empty response with code = 200.\n","operationId":"rename","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/RenameAccountReq"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Succeed"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/accounts/transfer":{"post":{"tags":["Account"],"summary":"This API performs a funds transfer","description":"<h2>Summary:</h2><p>This API transfers money between two accounts.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/accounts/transfers<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>```json \n{\n  \"fromExternalAccountNumber\": \"string\",\n  \"toExternalAccountNumber\": \"string\",\n  \"fromProductCode\": \"string\",\n  \"toProductCode\": \"string\",\n  \"amount\": \"string\",\n  \"effectiveDate\": \"string\",\n  \"toTransactionDescription\": \"string\",\n  \"fromTransactionDescription\": \"string\"\n}\n```\n","operationId":"transfer","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/TransferRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"type":"string"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/validate_bank_account":{"get":{"tags":["Account"],"summary":"This API checks if a given account number is in legal format.","description":"<h2>Summary:</h2><p>This API returns validation results for a given account number.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/validate_bank_account?bankAccount=abc<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"bankAccountForBillPay\": \"12-3013-0893681-00\",\n  \"bankAccountNumber\": \"12-3013-00893681-0000\",\n  \"errorStatus\": \"\",\n  \"msgidForMbCode\": \"\",\n  \"errorDescription\": \"\"\n}\n```\n","operationId":"validateBankAccount","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"bankAccount","in":"query","description":"The bank account number","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ValidateBankAccountResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cluster_info":{"get":{"tags":["Mobile"],"summary":"Get cluster info","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API requires System API level authentication (OAuth2.0 Client Credentials). Consumer must supply a valid access token (Bearer).<p>For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorization logic:</h2><p>This API also expects an OCC Client ID representing a Sovereign entity such as dealer or employee. For example, Dealer John Smith has client id = 000023112. <p>This OCC ID should be passed in as a http header in <code>x-occapi-request-by-client=000023112</code>. This API will only return the requested data if the client <p>(1) is an employee defined in OCC backend or <p>(2) has been defined as a key person for an originator that originated the loan application.<p>When the mentioned header is unset, API will return 400 with an error message: Http header:x-occapi-request-by-client is required for this API.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/occ-api/v1.0/private/cluster_info<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"data\": {\n    \"type\": \"cluster_info\",\n    \"id\": \"3b7f79a3-edd8-4f7f-a4c2-fc154c6eb41a\",\n    \"attributes\": {\n      \"configuredMembers\": \"127.0.0.1\",\n      \"configuredTimeToLiveSeconds\": \"1800\",\n      \"configuredGroup\": \"occ-development\",\n      \"configuredMulticast\": false,\n      \"memberInfos\": [\n        {\n          \"host\": \"127.0.0.1:5701\",\n          \"attributes\": {}\n        }\n      ],\n      \"cacheStoreInfos\": [\n        {\n          \"name\": \"token_store\",\n          \"items\": [\n            \"11***************************7f=IBAccessToken(keepSafeQuestionsAnswered=true)\"\n          ],\n          \"size\": 1,\n          \"timeToLiveSeconds\": 1800\n        },\n        {\n          \"name\": \"password_ip_store\",\n          \"items\": [],\n          \"size\": 0,\n          \"timeToLiveSeconds\": 1800\n        },\n        {\n          \"name\": \"pin_ip_store\",\n          \"items\": [],\n          \"size\": 0,\n          \"timeToLiveSeconds\": 1800\n        },\n        {\n          \"name\": \"question_ip_store\",\n          \"items\": [],\n          \"size\": 0,\n          \"timeToLiveSeconds\": 1800\n        }\n      ]\n    }\n  }\n}\n ```","operationId":"getClusterInfo","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ClusterInfo"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/biometrics":{"put":{"tags":["Auth"],"summary":"Create or updating the existing Biometrics secret","description":"<h2>Summary:</h2><p>This API can be used to register a biometrics login or reset an existing one. The user must already loggedin. It requires a valid token for the customer and the UUID of the app.<h2>Security:</h2><p>This API requires System API level authentication (OAuth2.0 Client Credentials). Consumer must supply a valid access token (Bearer).<p>For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorization logic:</h2><p>This API also expects an OCC Client ID representing a Sovereign entity such as dealer or employee. For example, Dealer John Smith has client id = 000023112. <p>This OCC ID should be passed in as a http header in <code>x-occapi-request-by-client=000023112</code>. This API will only return the requested data if the client <p>(1) is an employee defined in OCC backend or <p>(2) has been defined as a key person for an originator that originated the loan application.<p>When the mentioned header is unset, API will return 400 with an error message: Http header:x-occapi-request-by-client is required for this API.<h2>Function Detail:</h2><p>This function will create or update the biometrics secret record for a device. The device must have been regiestered before (means the UUID exists). <p>As upon succcess login, if its a new UUID, a record will be created, this API will expect an existing record for the clientNumber, UUID pair, otherwise will reject the request.<p>If the record exist, this API will set the encrypted biometrics key so that it can be used for login.<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/biometrics<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>\n```json \n{\n    \"uuid\":\"1234567-test\"\n}\nSample Response:\n{\n    \"biometricsSecret\": \"3aab5709-304f-4690-9867-fd9feec94502\"\n}\n","operationId":"generateBiometricsSecret","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"Biometrics create/update request","required":true,"schema":{"$ref":"#/definitions/BiometricsGenRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Accepted","schema":{"$ref":"#/definitions/BiometricsGenResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cards":{"get":{"tags":["Card"],"summary":"This API return a list of cards owned by the logged in user. It returns information such as card number (masked), card name, card surrogate and status.","description":"<h2>Summary:</h2><p>Returns list of cards owned by the login user. By default it only returns cards that are at the following 2 status: Active/blocked<p>There is a query parameter to turn off the default filtering.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Function Detail:</h2><p>This API will do a database query to find all the cards that owned by the owner (logged in user or nomineetage user if using client credential mode.). By default, <p>It will filter by and return the cards that are only at the following 4 status: Active/blocked/lost/stolen.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/cards<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n{\n    \"cards\": [\n        {\n            \"surrogateNumber\": \"0000016592\",\n            \"cardType\": \"Kate's Testing\",\n            \"cardTypeDesc\": null,\n            \"number\": \"6274043000000113\",\n            \"name\": \"Joanne M C Lai\",\n            \"name2ndLine\": \"something\",\n            \"status\": \"Active\",\n            \"statusDate\": null,\n            \"expiryDate\": \"2025-12-19\"\n        },\n        {\n            \"surrogateNumber\": \"0000018824\",\n            \"cardType\": \"NBS Westpac MasterCard Debit\",\n            \"cardTypeDesc\": null,\n            \"number\": \"51xxxxxxxxxxx1541\",\n            \"name\": \"Joanne M C Lai\",\n            \"name2ndLine\": \"something else\",\n            \"status\": \"Blocked\",\n            \"statusDate\": null,\n            \"expiryDate\": null\n        }\n    ]\n}\n","operationId":"getCards","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"filterOff","in":"query","description":"If filterOff=true then this API will return cards of all status, otherwise just active, blocked, new ","required":false,"type":"string","default":"false"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Cards"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"post":{"tags":["Card"],"summary":"This API can be used to block and unblock a card.","description":"<h2>Summary:</h2><p>Apply an action such as block, unblock to a nominated card.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to block must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/cards<p>Http-Method: POST<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code>```json \n \n{\n  \"action\": \"unblock\",\n  \"surrogateNumber\": \"0000018824\"\n}\n```\n<h2>Sample Response:</h2><p>Empty response with code = 200.\n","operationId":"updateCard","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/CardAction"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cards/pin":{"put":{"tags":["Card"],"summary":"This API can be used to set PIN for a card.","description":"<h2>Summary:</h2><p>Set PIN for a nominated card.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to block must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/cards/pin<p>Http-Method: PUT<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code>```json \n \n{\n  \"pin\": \"2b7e151628aed2a6abf71589\",\n  \"surrogateNumber\": \"0000018824\"\n}\n```\n<h2>Sample Response:</h2><p>Empty response with code = 204.\n","operationId":"setPin","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/CardPin"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"type":"string"}},"204":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}}},"/cards/{surrogateNumber}/cancel":{"post":{"tags":["Card"],"summary":"This API is to cancel the card.","description":"<h2>Summary:</h2><p>This API is to cancel the card.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to update services must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/{cardSurrogate}/cancel<p>Http-Method: POST<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=0}</code>```json \n{\n   {\n       \"cancelReasonCode\": \"DC\",\n    }\n}```\n","operationId":"cancelCard","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"surrogateNumber","in":"path","required":true,"type":"string","default":"false"},{"in":"body","name":"body","description":"Card cancel request","required":true,"schema":{"$ref":"#/definitions/CardCancelRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cards/{surrogateNumber}":{"get":{"tags":["Card"],"summary":"This API will return card details for provided surrogate.","description":"<h2>Summary:</h2><p>Return card details for provided surrogate.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/cards/{surrogateNumber}<p>Http-Method: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n{\n   {\n       \"surrogateNumber\": \"0000016592\",\n       \"cardType\": \"Kate's Testing\",\n       \"cardTypeDesc\": null,\n       \"number\": \"6274043000000113\",\n       \"name\": \"Joanne M C Lai\",\n       \"name2ndLine\": \"something\",\n       \"status\": \"Active\",\n       \"statusDate\": null,\n       \"expiryDate\": \"2025-12-19\"\n       \"cardPinningAllowed\": \"Y\"\n       \"realtimeProcessing\": \"Y\"\n       \"services\": [\n           \"eCommerce\"\n           \"paywave\"\n           \"applePay\"\n       ]\n    }\n}\n","operationId":"getCardDetail","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"surrogateNumber","in":"path","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cards/{surrogateNumber}/service":{"put":{"tags":["Card"],"summary":"This API will update card services.","description":"<h2>Summary:</h2><p>Update card services for provided surrogate and services<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to update services must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/cards/{surrogateNumber}/services<p>Http-Method: PUT<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code>```json \n \n{\n  \"eCommerce\": \"true\",\n  \"paywave\": \"false\"\n}\n```\n<h2>Sample Response:</h2><p>Empty response with code = 200.\n","operationId":"updateService","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"surrogateNumber","in":"path","required":true,"type":"string","default":"false"},{"in":"body","name":"body","description":"Card status request","required":true,"schema":{"type":"object","additionalProperties":{"type":"boolean"}}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cards/new":{"post":{"tags":["Card"],"summary":"This API will order a new card","description":"<h2>Summary:</h2><p>Order a new card linked the provided account.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to update services must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/cards/new<p>Http-Method: POST<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=0}</code>json\n\n{\n  \"cardTypeCode\": \"0001\",\n  \"cardName\": \"S. Squirrel\",\n  \"cardDesignCode\": \"0007\",\n  \"chequeAccount\": \"1234567890\"\n}\n<h2>Sample Response:</h2>{\n  \"cardSurrogate\": \"1234567890\"\n}\n\n","operationId":"issueNewCard","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/CardIssueRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cards/types":{"get":{"tags":["Card"],"summary":"This API return a list of card types and their designs","description":"<h2>Summary:</h2><p>Returns list of card types and their designs information<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Function Detail:</h2><p>This API will do a database query to find all the cards that owned by the owner (logged in user or nomineetage user if using client credential mode.). By default, <p>It will filter by and return the cards that are only at the following 4 status: Active/blocked/lost/stolen.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/cards/types<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n[\n    {\n        \"typeCode\": \"0001\",\n        \"typeName\": \"Vertexon Test Card 2\",\n        \"designs\": [\n            {\n                \"designCode\": \"0001\",\n                \"designName\": \"Default Vertexon design\",\n                \"iconFileName\": \"CardDesign2.png\"\n            },\n            {\n                \"designCode\": \"0003\",\n                \"designName\": \"Vertexon Card Design 3\",\n                \"iconFileName\": \"CardDesign3.png\"\n            },\n            {\n                \"designCode\": \"0004\",\n                \"designName\": \"Vertexon Card Design 4\",\n                \"iconFileName\": \"CardDesign4.png\"\n            }\n        ]\n    },\n    {\n        \"typeCode\": \"0002\",\n        \"typeName\": \"Vtxn Firefighters Card\",\n        \"designs\": [\n            {\n                \"designCode\": \"0002\",\n                \"designName\": \"FFC 002\",\n                \"iconFileName\": \"CardDesign2.png\"\n            },\n            {\n                \"designCode\": \"0003\",\n                \"designName\": \"Vertexon Card Design 3\",\n                \"iconFileName\": \"CardDesign3.png\"\n            }\n        ]\n    }\n]\n","operationId":"getCardTypes","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Cards"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cards/cancel-reasons":{"get":{"tags":["Card"],"summary":"This API return a list of card cancel reasons","description":"<h2>Summary:</h2><p>Returns list of card cancel reasons<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Function Detail:</h2><p>This API will do a database query to find all of card cancel reasons.<h2>Sample request:</h2><p><code>Address: http://hostname/SovSE_Mobile_Banking_Server/rsservice/v1/private/cards/cancel-reasons<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>```json \n \n [{\n  \"reasonCode\": \"DC\"\n  \"reasonDescription\": \"Damaged Card\"\n},\n{\n  \"reasonCode\": \"L\"\n  \"reasonDescription\": \"Lost\"\n}\n ]```\n","operationId":"getCardCancelReasons","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/CardCancelReason"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cards/{surrogateNumber}/walletRegistrationRequest":{"get":{"tags":["Card"],"summary":"This API will return card wallet details.","description":"<h2>Summary:</h2><p>Returns a card wallet details for google pay / apple pay registration<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to update services must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/cards/0000016592/walletRegistrationRequest<p>Http-Method: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=0}</code>\n<h2>Sample Response:</h2>\n```json \n{\n   {\n       \"cardID\": \"6274043000000113\",\n       \"cardSecret\": \"squirrel\",\n       \"nameOfPerson\": \"Kate's Testing\",\n       \"addressLine1\": \"174 Elmtree Point\",\n       \"addressLine2\": \"Westmere\",\n       \"city\": \"Carterton\",\n       \"postalCode\": \"1742\",\n       \"countryCode\": \"USA\",\n       \"last4CardDigits\": \"1234\"\n    }\n}```\n","operationId":"walletRegistrationRequest","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"surrogateNumber","in":"path","required":true,"type":"string","default":"false"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/cards/getClientAuthToken":{"get":{"tags":["Card"],"summary":"This API will return CF Client Auth Token.","description":"<h2>Summary:</h2><p>Returns CF Client AuthToken used by CF's Mobile SDK to perform card actions.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to update services must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/cards/getClientAuthToken<p>Http-Method: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=0}</code>\n<h2>Sample Response:</h2>\n```json \n{\n   {\n       \"clientNumber\": \"0000000000\",\n       \"token\": \"werasdFWERadsfwerwasdfWEASDf@=\",\n       \"expiryDateTime\": \"2025-06-06T00:00:00Z\",\n    }\n}```\n","operationId":"getCardSDKAuthClientToken","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/terms_and_conditions":{"get":{"tags":["Mobile"],"summary":"Get terms and conditions text.","description":"<h2>Summary:</h2><p>Returns the terms and conditions resource as either a link or html code<h2>Security:</h2><p>This API requires System API level authentication (OAuth2.0 Client Credentials). Consumer must supply a valid access token (Bearer).<p>For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorization logic:</h2><p>This API also expects an OCC Client ID representing a Sovereign entity such as dealer or employee. For example, Dealer John Smith has client id = 000023112. <p>This OCC ID should be passed in as a http header in <code>x-occapi-request-by-client=000023112</code>. This API will only return the requested data if the client <p>(1) is an employee defined in OCC backend or <p>(2) has been defined as a key person for an originator that originated the loan application.<p>When the mentioned header is unset, API will return 400 with an error message: Http header:x-occapi-request-by-client is required for this API.<h2>Function Detail:</h2><p>Returns the terms and conditions resource. The lookup is done in the following order:<p>1. If terms.and.conditions.htmlURL property is defined, this will be returned as \"htmlURL\" property.<p>2. Otherwise, if terms.and.conditions.pdfURL property is defined, this will be returned as \"pdfURL\" property.<p>3. Otherwise, the contents of a terms_and_conditions.html file are returned as \"text\" property.<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/public/terms_and_conditions?mobileAppId123<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"text\": \"Terms and conditions text\"\n}\n```\n","operationId":"getTermsAndConditions","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"mobileAppId","in":"query","description":"Mobile App ID. The Id to uniquely identify the mobile app. Meaningful only when the server side hosts multiple companies","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/TermsAndConditionsInfo"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"post":{"tags":["Mobile"],"summary":"Create stats record for terms and condition.","description":"<h2>Summary:</h2><p>Status - (A) Accepted or (R) Rejected<h2>Security:</h2><p>This API requires System API level authentication (OAuth2.0 Client Credentials). Consumer must supply a valid access token (Bearer).<p>For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorization logic:</h2><p>This API also expects an OCC Client ID representing a Sovereign entity such as dealer or employee. For example, Dealer John Smith has client id = 000023112. <p>This OCC ID should be passed in as a http header in <code>x-occapi-request-by-client=000023112</code>. This API will only return the requested data if the client <p>(1) is an employee defined in OCC backend or <p>(2) has been defined as a key person for an originator that originated the loan application.<p>When the mentioned header is unset, API will return 400 with an error message: Http header:x-occapi-request-by-client is required for this API.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/public/terms_and_conditions<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>","operationId":"createTermsAndConditionStats","consumes":["application/x-www-form-urlencoded"],"produces":["application/json"],"parameters":[{"name":"status","in":"formData","description":"Session status.\nL = Success And Login,\nS = Success,\nC = Password Fail Complexity\nE = New Password Not Equal\nI = Invalid Access Code\nP = Existing Password Invalid\nA = Accepted\nR = Rejected","required":true,"type":"string","enum":["L","S","C","E","I","P","A","R"]},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/client/contacts/street_types":{"get":{"tags":["Contact"],"summary":"This API will return List of street types.","description":"<h2>Summary:</h2><p>Get list of Street Types.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to block must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/client/contacts/street_types<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n[\n    {\n       \"streetTypeList\": [\n           {\n               \"code\": \"AC\",\n               \"description\": \"Access\"\n           },\n           {\n               \"code\": \"AW\",\n               \"description\": \"Accessway\"\n           },\n           {\n               \"code\": \"AL\",\n               \"description\": \"Alley\"\n           },\n           {\n               \"code\": \"AM\",\n               \"description\": \"Amble\"\n           },\n        ]\n    }\n]\n","operationId":"getStreetTypes","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/StreetTypes"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/client/contacts":{"get":{"tags":["Contact"],"summary":"This API will return the contact details of the client.","description":"<h2>Summary:</h2><p>return the contact details of the client.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to block must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/client/contacts<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n[\n    \"phones\": [\n        {\n            \"effectiveDate\": \"Wed May 29 00:00:00 NZST 2024\",\n            \"expiryDate\": \"null\",\n            \"surrogate\": \"0000422404\",\n            \"contactType\": \"MB\",\n            \"countryCode\": \"64\",\n            \"networkCode\": \"21\",\n            \"number\": \"619267\",\n            \"preferredMethod\": \"N\",\n            \"priority\": \"0\"\n        }\n    ],\n    \"mobiles\": [\n        {\n            \"effectiveDate\": \"Wed May 29 00:00:00 NZST 2024\",\n            \"expiryDate\": \"null\",\n            \"surrogate\": \"0000422404\",\n            \"contactType\": \"MB\",\n            \"countryCode\": \"64\",\n            \"networkCode\": \"21\",\n            \"number\": \"619267\",\n            \"preferredMethod\": \"N\",\n            \"priority\": \"0\"\n        }\n    ],\n    \"emails\": [\n        {\n            \"effectiveDate\": \"Wed May 29 00:00:00 NZST 2024\",\n            \"expiryDate\": \"null\",\n            \"surrogate\": \"0000422405\",\n            \"contactType\": \"WK\",\n            \"address\": \"test@test.com\",\n            \"preferredMethod\": \"Y\",\n            \"priority\": \"0\"\n        }\n       \"addresses\": [\n        {\n            \"careOfName\": \"\",\n            \"unitType\": \"\",\n            \"apartment\": \"\",\n            \"building\": \"\",\n            \"streetNumber\": {\n                \"from\": \"33\",\n                \"to\": \"0\"\n            },\n            \"effectiveDate\": \"Wed May 29 00:00:00 NZST 2024\",\n            \"addressType\": \"S\",\n            \"purpose\": \"R\",\n            \"alpha\": \"\",\n            \"streetOrPostalName\": \"Premier\",\n            \"streetType\": \"AV\",\n            \"streetDirection\": \"\",\n            \"suburb\": \"Point Chevalier\",\n            \"city\": \"Auckland\",\n            \"state\": \"\",\n            \"postCode\": \"1022\",\n            \"country\": null,\n            \"priority\": 0,\n            \"seq\": \"1\",\n            \"surrogate\": \"0000422403\",\n            \"preferredMethod\": \"N\",\n            \"floor\": \"\"\n        }\n    ]\n","operationId":"getContact","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Contacts"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"post":{"tags":["Contact"],"summary":"This API can be used to Create or Update Contact Details.","description":"<h2>Summary:</h2><p>Create or Update Contact Details.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to block must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/client/contacts<p>HttpMethod: POST<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code>```json \n[\n    \"phones\": [\n        {\n            \"effectiveDate\": \"Wed May 29 00:00:00 NZST 2024\",\n            \"expiryDate\": \"null\",\n            \"surrogate\": \"0000422404\",\n            \"contactType\": \"MB\",\n            \"countryCode\": \"64\",\n            \"networkCode\": \"21\",\n            \"number\": \"619267\",\n            \"preferredMethod\": \"N\",\n            \"priority\": \"0\"\n        }\n    ],\n    \"mobiles\": [\n        {\n            \"effectiveDate\": \"Wed May 29 00:00:00 NZST 2024\",\n            \"expiryDate\": \"null\",\n            \"surrogate\": \"0000422404\",\n            \"contactType\": \"MB\",\n            \"countryCode\": \"64\",\n            \"networkCode\": \"21\",\n            \"number\": \"619267\",\n            \"preferredMethod\": \"N\",\n            \"priority\": \"0\"\n        }\n    ],\n    \"emails\": [\n        {\n            \"effectiveDate\": \"Wed May 29 00:00:00 NZST 2024\",\n            \"expiryDate\": \"null\",\n            \"surrogate\": \"0000422405\",\n            \"contactType\": \"WK\",\n            \"address\": \"test@test.com\",\n            \"preferredMethod\": \"Y\",\n            \"priority\": \"0\"\n        }\n       \"addresses\": [\n        {\n            \"careOfName\": \"\",\n            \"unitType\": \"\",\n            \"apartment\": \"\",\n            \"building\": \"\",\n            \"streetNumber\": {\n                \"from\": \"33\",\n                \"to\": \"0\"\n            },\n            \"effectiveDate\": \"Wed May 29 00:00:00 NZST 2024\",\n            \"addressType\": \"S\",\n            \"purpose\": \"R\",\n            \"alpha\": \"\",\n            \"streetOrPostalName\": \"Premier\",\n            \"streetType\": \"AV\",\n            \"streetDirection\": \"\",\n            \"suburb\": \"Point Chevalier\",\n            \"city\": \"Auckland\",\n            \"state\": \"\",\n            \"postCode\": \"1022\",\n            \"country\": null,\n            \"priority\": 0,\n            \"seq\": \"1\",\n            \"surrogate\": \"0000422403\",\n            \"preferredMethod\": \"N\",\n            \"floor\": \"\"\n        }\n    ]\n<h2>Sample Response:</h2>\n```json \n{\n    \"clientNumber\": \"0000422404\",\n    \"summaries\": [\n        \"Contact details for surrogate xxxxx updated successfully\"\n    ]\n\n\n","operationId":"updateContact","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/Contacts"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/ContactsResponse"}},"204":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}}},"/client/contacts/field_settings":{"get":{"tags":["Contact"],"summary":"This API will return field settings on update contact detail page.","description":"<h2>Summary:</h2><p>Get field settings on update contact detail page.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to block must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/client/contacts/field_settings<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n{\"protectedFields\":[\"field1\",\"field2\"],\"mandatoryFields\":[\"field3\",\"field4\"]}\n","operationId":"getFieldSettings","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/CountryCodes"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/client/contacts/country_code_types":{"get":{"tags":["Contact"],"summary":"This API will return List of Country Code Types.","description":"<h2>Summary:</h2><p>Get list of Country Code Types.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to block must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/client/contacts/country_code_types<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n[\n    {\n       \"countryCodeList\": [\n           {\n               \"code\": \"AUS\",\n               \"description\": \"Australia\"\n           },\n           {\n               \"code\": \"NZ\",\n               \"description\": \"New Zealand\"\n           }\n        ]\n    }\n]\n","operationId":"getCountryCodeTypes","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/CountryCodes"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/client/contacts/validate_mobile_number":{"get":{"tags":["Contact"],"summary":"This API can be used to Check Mobile number is valid.","description":"<h2>Summary:</h2><p>Check that Mobile number is valid.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to block must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/client/contacts/validate_mobile_number<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n","operationId":"validateMobileNumber","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"countryCode","in":"query","description":"Country Code","required":true,"type":"string"},{"name":"areaCode","in":"query","description":"Area Code","required":false,"type":"string"},{"name":"phoneNumber","in":"query","description":"Phone Number","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"type":"string"}},"204":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}}},"/documents/{surrogateId}":{"get":{"tags":["Documents"],"operationId":"downloadDocument","consumes":["application/json"],"produces":["application/octet-stream"],"parameters":[{"name":"surrogateId","in":"path","description":"Surrogate Id","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"responses":{"default":{"description":"successful operation"}}}},"/documents":{"get":{"tags":["Documents"],"summary":"Get list of documents","description":"<h2>Summary:</h2><p>This API retrieves the list of document for the user. It supports pagination and filtering.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/documents<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n{\n    \"documents\": [\n        {\n            \"documentId\": \"00000188019\",\n            \"documentType\": \"UCU Lend Statement (Docmosis)\",\n            \"externalAccountNumber\": \"0010753001\",\n            \"fileType\": \"PDF\",\n            \"createdDate\": 1708404163000\n        },\n        {\n            \"documentId\": \"00000188007\",\n            \"documentType\": \"UCU Lend Statement (Docmosis)\",\n            \"externalAccountNumber\": \"0010753001\",\n            \"fileType\": \"PDF\",\n            \"createdDate\": 1708332204000\n        },\n        {\n            \"documentId\": \"00000187979\",\n            \"documentType\": \"Misc Lending Account Letter2\",\n            \"externalAccountNumber\": \"0010753001\",\n            \"fileType\": \"doc\",\n            \"createdDate\": 1707886813000\n        }\n    ]\n}```\n","operationId":"getDocumentList","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"externalAccountNumber","in":"query","description":"External Account Number (Optional)","required":false,"type":"string"},{"name":"fromDate","in":"query","description":"From Date (Optional), eg: yyyy-MM-dd So 2013-12-31 means 2013-dec-31st.","required":false,"type":"string"},{"name":"toDate","in":"query","description":"To Date (Optional), eg: yyyy-MM-dd So 2013-12-31 means 2013-dec-31st.","required":false,"type":"string"},{"name":"documentType","in":"query","description":"Document Type (Optional)","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/DocumentList"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/ird_payment_info":{"get":{"tags":["IRD"],"summary":"This API return a list of IRD Tax Payment Info.","description":"<h2>Summary:</h2><p>This API returns a list of IRD Payment Info which describes how IRD wants bill payment to be formatted for different tax types.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Function Detail:</h2><p> please read the model 'IRDPaymentInfo' swagger docs for detailed explanation of how the formatting works.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/ird_payment_info<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n{\n    \"irdPaymentInfoList\": [\n        {\n            \"taxCode\": \"AIL\",\n            \"taxDescription\": \"Approved Issuer Levy\",\n            \"periodEndDateRequired\": \"Y\",\n            \"validDates\": \"31/*\"\n        },\n        {\n            \"taxCode\": \"AIP\",\n            \"taxDescription\": \"Account Information Provider\",\n            \"periodEndDateRequired\": \"Y\",\n            \"validDates\": \"31/03\"\n        },\n        {\n            \"taxCode\": \"ARR\",\n            \"taxDescription\": \"Tax Under Arrangement\",\n            \"periodEndDateRequired\": \"N\",\n            \"validDates\": \"\"\n        }```\n","operationId":"get","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/IRDPaymentInfoList"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/validate_tax_number":{"get":{"tags":["IRD"],"summary":"This API checks if a given tax number is in legal format.","description":"<h2>Summary:</h2><p>This API returns validation results for a given tax number such as IRD, GST, may include ABN, ACN numbers later. If its valid return only response code 202, otherwise 400.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: {{MB_Server_URL}}/rsservice/v1/private/validate_tax_number?taxNumber=87688321&taxType=IRD<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample response:</h2><p>no response for success just header code = 202\n<h2>Sample bad response:</h2><p>no response for illegal tax number just header code = 400","operationId":"validateTaxNumber","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"taxNumber","in":"query","description":"Tax Number","required":true,"type":"string"},{"name":"taxType","in":"query","description":"Tax Type","required":true,"type":"string","enum":["IRD","GST"]},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"202":{"description":"Accepted"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/device_management":{"get":{"tags":["Device"],"summary":"This API return a list of devices that are linked to the loggedin user. It will ignore disabled devices. ","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>This API will use the client number (logged in user) to find all the devices associated with max = 10, ignoring disabled ones.  <h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/device_management<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n    \"deviceList\": [\n        {\n            \"clientNumber\": \"0003006651\",\n            \"deviceType\": \"Android SDK built for x86, Android-8.1.0\",\n            \"deviceId\": \"cwozKZ6fQ7Y\",\n            \"pinEnabled\": true,\n            \"primaryClient\": true,\n            \"disabledDevice\": false,\n            \"createdTimestamp\": \"2020-08-31\",\n            \"lastAccessedTimestamp\": \"2020-08-31\"\n        },\n        {\n            \"clientNumber\": \"0003006651\",\n            \"deviceType\": \"ONEPLUS A6010, Android-10\",\n            \"deviceId\": \"cR8Uz7rGui0\",\n            \"pinEnabled\": true,\n            \"primaryClient\": true,\n            \"disabledDevice\": false,\n            \"createdTimestamp\": \"2020-08-31\",\n            \"lastAccessedTimestamp\": \"2020-09-01\"\n        }}\n```\n","operationId":"getDevicesForClient","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"isoDate","in":"query","description":"Y means returned date is in iso format, N or unset means default date format","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/Devices"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"put":{"tags":["Device"],"summary":"Disable a device so that it no longer can login for this client using pin/biometrics.","description":"<h2>Summary:</h2><p>This API can be used to disable devices for the current user (primary or secondary) or disable secondary users from using the current device to login.<h2>Security:</h2><p>This API requires System API level authentication (OAuth2.0 Client Credentials). Consumer must supply a valid access token (Bearer).<p>For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorization logic:</h2><p>This API also expects an OCC Client ID representing a Sovereign entity such as dealer or employee. For example, Dealer John Smith has client id = 000023112. <p>This OCC ID should be passed in as a http header in <code>x-occapi-request-by-client=000023112</code>. This API will only return the requested data if the client <p>(1) is an employee defined in OCC backend or <p>(2) has been defined as a key person for an originator that originated the loan application.<p>When the mentioned header is unset, API will return 400 with an error message: Http header:x-occapi-request-by-client is required for this API.<h2>Extra: Note if the logged in user is not the primary in the specified currentDeviceId, then 401 unauthorized error.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/device_management<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><p> 1. the Logged in user wants to disable the two devices (device-1 and device-2) he/she is registered with.{\n  \"devicesToDisable\": [\n    \"device-1\",\"device-2\"\n  ]\n}\n<p> 2. the logged in user 3006651 is the primary user on the device new_test_66. General_Data API returns this back: \"registeredLogins\": [\n        {\n            \"userId\": \"testmob1\",\n            \"clientNumber\": \"0003078581\",\n            \"primary\": false\n        },\n        {\n            \"userId\": \"589279360\",\n            \"clientNumber\": \"0589279360\",\n            \"primary\": false\n        },\n        {\n            \"userId\": \"3006651\",\n            \"clientNumber\": \"0003006651\",\n            \"primary\": true\n        }\n    ]<p>So there are two secondary users on this device: 589279360 and testmob1.<p>The logined user '3006651' can disable the two secondary users by calling this: {\n    \"secondaryLoginsToDisables\": {\n    \"currentDeviceId\": \"new_device_99\",\n    \"secondaryClientNumbers\": [\n      \"0589279360\",\"0003078581\"\n    ]\n  }\n}<h2>Sample Response:</h2>(No response body)\n","operationId":"disable","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"Device to disable","required":false,"schema":{"$ref":"#/definitions/DisableDeviceRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"default":{"description":"successful operation"}}}},"/menu_structure":{"get":{"tags":["Mobile"],"summary":"Get Menu","description":"<h2>Summary:</h2><p>This API returns the customer's menu structure setting.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/menu_structure<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n    \"id\": \"MAIN\",\n    \"description\": null,\n    \"menuList\": [\n        {\n            \"id\": \"ACCNTS\",\n            \"description\": \"Accounts\",\n            \"menuList\": null\n        },\n        {\n            \"id\": \"PAY_TSFR\",\n            \"description\": \"Pay/Transfer\",\n            \"menuList\": [\n                {\n                    \"id\": \"TRANSFER\",\n                    \"description\": \"Transfer\",\n                    \"menuList\": null\n                },\n                {\n                    \"id\": \"BILPAY\",\n                    \"description\": \"Bill Pay/Pay Anyone\",\n                    \"menuList\": null\n                },\n                {\n                    \"id\": \"AUTOPAY\",\n                    \"description\": \"Auto Payments\",\n                    \"menuList\": null\n                },\n                {\n                    \"id\": \"BILPAYL\",\n                    \"description\": \"Manage Payees\",\n                    \"menuList\": null\n                },\n                {\n                    \"id\": \"APRRQSS\",\n                    \"description\": \"Approval Requests\",\n                    \"menuList\": null\n                }\n            ]\n        },\n        {\n            \"id\": \"SETTINGS\",\n            \"description\": \"Settings\",\n            \"menuList\": null\n        },\n        {\n            \"id\": \"MSG\",\n            \"description\": \"Messages\",\n            \"menuList\": [\n                {\n                    \"id\": \"MSGS\",\n                    \"description\": \"Inbox\",\n                    \"menuList\": null\n                },\n                {\n                    \"id\": \"SENTITEMS\",\n                    \"description\": \"Sent Items\",\n                    \"menuList\": null\n                },\n                {\n                    \"id\": \"NEWMSG\",\n                    \"description\": \"New Message\",\n                    \"menuList\": null\n                }\n            ]\n        },\n        {\n            \"id\": \"EXFEATURES\",\n            \"description\": \"Feature turnkeys -- not to display.\",\n            \"menuList\": null\n        }\n    ]\n}```\n","operationId":"getMenuStructure","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"descriptionType","in":"query","description":"Description Type codes used: N=Normal S=Short","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/MobileMenu"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/messages/all":{"get":{"tags":["Messages"],"operationId":"getAllMessages","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"startPositionMemoKey","in":"query","description":"Pagination start from memo key","required":false,"type":"string"},{"name":"numOfEmails","in":"query","description":"Number of messages","required":false,"type":"integer","format":"int32"},{"name":"withMessageSnippet","in":"query","description":"Whether this API should return the first line (up to the 1st carridge return) of the message, always less than 60 chars.","required":false,"type":"string","default":"false"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"responses":{"200":{"description":"successful operation","headers":{},"schema":{"$ref":"#/definitions/MessageList"}}}}},"/messages/sent":{"get":{"tags":["Messages"],"summary":"Get Sent Messages","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/messages/sent?startPositionMemoKey=abc&numOfEmails=20&withMessageSnippet=true<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"messageList\": [\n    {\n      \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n      \"subject\": \"test 1\",\n      \"message\": \"Another response from MB\",\n      \"fromClientNumber\": \"0003002539\",\n      \"fromClientName\": \"Mr John Avery Wilson\",\n      \"memoKey\": \"M00001364083\",\n      \"messageType\": \"I\",\n      \"recipientNumber\": \"0003003012\",\n      \"recipientName\": \"\",\n      \"amdSurrogate\": \"\",\n      \"isUnread\": true\n    },\n    {\n      \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n      \"subject\": \"test 1\",\n      \"message\": \"Here's my first test\",\n      \"fromClientNumber\": \"0003002539\",\n      \"fromClientName\": \"Mr John Avery Wilson\",\n      \"memoKey\": \"M00001364082\",\n      \"messageType\": \"I\",\n      \"recipientNumber\": \"0003003012\",\n      \"recipientName\": \"\",\n      \"amdSurrogate\": \"\",\n      \"isUnread\": true\n    }\n  ]\n}\n```\n","operationId":"getSentMessages","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"startPositionMemoKey","in":"query","description":"Pagination start from memo key","required":false,"type":"string"},{"name":"numOfEmails","in":"query","description":"Number of messages","required":false,"type":"integer","format":"int32"},{"name":"withMessageSnippet","in":"query","description":"Whether this API should return the first line (up to the 1st carridge return) of the message, always less than 60 chars.","required":false,"type":"string","default":"false"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/MessageList"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/messages/{message_id}":{"get":{"tags":["Messages"],"summary":"Get Message Content detail","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/messages/123456<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n  \"subject\": \"test 1\",\n  \"message\": \"Another response from MB\",\n  \"fromClientNumber\": \"0003002539\",\n  \"fromClientName\": \"Mr John Avery Wilson\",\n  \"memoKey\": \"M00001364083\",\n  \"messageType\": \"I\",\n  \"recipientNumber\": \"0003003012\",\n  \"recipientName\": \"\",\n  \"amdSurrogate\": \"\",\n  \"isUnread\": true\n}\n```\n","operationId":"getMessageContent","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"message_id","in":"path","description":"Message ID","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/MessageDetail"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"put":{"tags":["Messages"],"summary":"Update message read/unread status","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/messages/123456<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n  \"subject\": \"test 1\",\n  \"message\": \"Another response from MB\",\n  \"fromClientNumber\": \"0003002539\",\n  \"fromClientName\": \"Mr John Avery Wilson\",\n  \"memoKey\": \"M00001364083\",\n  \"messageType\": \"I\",\n  \"recipientNumber\": \"0003003012\",\n  \"recipientName\": \"\",\n  \"amdSurrogate\": \"\",\n  \"isUnread\": true\n}\n```\n","operationId":"updateMessage","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"message_id","in":"path","required":true,"type":"string"},{"in":"body","name":"body","description":"Only isUnread should be use, all other params will be ignore","required":false,"schema":{"$ref":"#/definitions/MessageDetail"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/MessageDetail"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/messages/inbox":{"get":{"tags":["Messages"],"summary":"Get Inbox Messages","description":"<h2>Summary:</h2><p>This API allows users to read their inbox (for Sovereign messages either generated by backend system or sent by back officer. )<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/messages/inbox?startPositionMemoKey=abc&numOfEmails=20&withMessageSnippet=true<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"messageList\": [\n    {\n      \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n      \"subject\": \"test 1\",\n      \"message\": \"Another response from MB\",\n      \"fromClientNumber\": \"0003002539\",\n      \"fromClientName\": \"Mr John Avery Wilson\",\n      \"memoKey\": \"M00001364083\",\n      \"messageType\": \"I\",\n      \"recipientNumber\": \"0003003012\",\n      \"recipientName\": \"\",\n      \"amdSurrogate\": \"\",\n      \"unread\": false\n    },\n    {\n      \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n      \"subject\": \"test 1\",\n      \"message\": \"Here's my first test\",\n      \"fromClientNumber\": \"0003002539\",\n      \"fromClientName\": \"Mr John Avery Wilson\",\n      \"memoKey\": \"M00001364082\",\n      \"messageType\": \"I\",\n      \"recipientNumber\": \"0003003012\",\n      \"recipientName\": \"\",\n      \"amdSurrogate\": \"\",\n      \"unread\": false\n    }\n  ]\n}\n```\n","operationId":"getInboxMessagesPagination","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"startPositionMemoKey","in":"query","description":"Pagination start from memo key","required":false,"type":"string"},{"name":"numOfEmails","in":"query","description":"Number of messages","required":false,"type":"integer","format":"int32"},{"name":"withMessageSnippet","in":"query","description":"Whether this API should return the first line (up to the 1st carridge return) of the message, always less than 60 chars.","required":false,"type":"string","default":"false"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/MessageList"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/messages/inbox/unread":{"get":{"tags":["Messages"],"summary":"Get Unread Messages","description":"<h2>Summary:</h2><p>This API returns unread messages for the logged in user. Optionally, it may return the first line of each message if query parameter withMessageSnippet is set to true.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/messages/inbox/unread?withMessageSnippet=true<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"messageList\": [\n    {\n      \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n      \"subject\": \"test 1\",\n      \"message\": \"Another response from MB\",\n      \"fromClientNumber\": \"0003002539\",\n      \"fromClientName\": \"Mr John Avery Wilson\",\n      \"memoKey\": \"M00001364083\",\n      \"messageType\": \"I\",\n      \"recipientNumber\": \"0003003012\",\n      \"recipientName\": \"\",\n      \"amdSurrogate\": \"\",\n      \"isUnread\": true\n    },\n    {\n      \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n      \"subject\": \"test 1\",\n      \"message\": \"Here's my first test\",\n      \"fromClientNumber\": \"0003002539\",\n      \"fromClientName\": \"Mr John Avery Wilson\",\n      \"memoKey\": \"M00001364082\",\n      \"messageType\": \"I\",\n      \"recipientNumber\": \"0003003012\",\n      \"recipientName\": \"\",\n      \"amdSurrogate\": \"\",\n      \"isUnread\": true\n    }\n  ]\n}\n```\n","operationId":"getInboxUnreadMessages","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"withMessageSnippet","in":"query","description":"Whether this API should return the first line (up to the 1st carridge return) of the message, always less than 60 chars.","required":false,"type":"string","default":"false"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/MessageList"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/messages":{"post":{"tags":["Messages"],"summary":"Send Memo message to Admin","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/messages<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"status\": \"200\"\n}\n```\n","operationId":"sendMessageToAdmin","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"The message to be sent","required":false,"schema":{"$ref":"#/definitions/MessageDetail"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"type":"string"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"put":{"tags":["Messages"],"summary":"Batch Update message read/unread status","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/messages<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n[\n  {\n    \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n    \"subject\": \"test 1\",\n    \"message\": \"Another response from MB\",\n    \"fromClientNumber\": \"0003002539\",\n    \"fromClientName\": \"Mr John Avery Wilson\",\n    \"memoKey\": \"M00001364083\",\n    \"messageType\": \"I\",\n    \"recipientNumber\": \"0003003012\",\n    \"recipientName\": \"\",\n    \"amdSurrogate\": \"\",\n    \"isUnread\": true\n  },\n  {\n    \"messageDate\": Tue Oct 06 15:20:48 NZDT 2015,\n    \"subject\": \"test 1\",\n    \"message\": \"Here's my first test\",\n    \"fromClientNumber\": \"0003002539\",\n    \"fromClientName\": \"Mr John Avery Wilson\",\n    \"memoKey\": \"M00001364082\",\n    \"messageType\": \"I\",\n    \"recipientNumber\": \"0003003012\",\n    \"recipientName\": \"\",\n    \"amdSurrogate\": \"\",\n    \"isUnread\": true\n  }\n]\n```\n","operationId":"batchUpdateMessage","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"List of messages which need to update read/unread status. Only memoKey and isUnread should be used, all other params will be ignored.","required":false,"schema":{"type":"array","items":{"$ref":"#/definitions/MessageDetail"}}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"type":"array","items":{"$ref":"#/definitions/MessageDetail"}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/mfa/enroll":{"get":{"tags":["MFA Enrollment Token Service"],"operationId":"getEnrollToken","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"responses":{"200":{"description":"successful operation","headers":{},"schema":{"$ref":"#/definitions/MFA Enrollment Response."}}}}},"/nominated_bank_account_number/validate":{"get":{"tags":["Nominated"],"summary":"This API checks if a given account number is in legal for RBNZ/DSC Submission.","description":"<h2>Summary:</h2><p>This API returns validation results for a given account number for RBNZ/DSC Submission<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/nominated_bank_account_number/validate?bankAccount=abc<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"bankAccountForBillPay\": \"\",\n  \"bankAccountNumber\": \"12-3013-00893681-0000\",\n  \"errorStatus\": \"\",\n  \"msgidForMbCode\": \"\",\n  \"errorDescription\": \"\"\n}\n```\n","operationId":"validateBankAccount_1","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"bankAccount","in":"query","description":"The bank account number","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ValidateBankAccountResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/nominated_bank_account_number":{"get":{"tags":["Nominated"],"summary":"This API return a list of nominated bank account numbers.","description":"<h2>Summary:</h2><p>Returns list of Nominated Bank Accounts owned by the login user, and also any possible entries for accounts they are ATO/POA of<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Function Detail:</h2><p>This API will do a database query to find all the cards that owned by the owner (logged in user or nomineetage user if using client credential mode.). By default, <p>It will filter by and return the cards that are only at the following 4 status: Active/blocked/lost/stolen.<h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/nominated_bank_account_number<p>HttpMethod: GET<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code><h2>Sample Response:</h2>\n```json \n{\n  \"nominatedBankAccountList\": [\n    {\n      \"clientNumber\": \"123456\",\n      \"bankAccountNumber\": \"123456789\",\n      \"bankAccountName\": \"John Doe\"\n    },\n    {\n      \"clientNumber\": \"123456\",\n      \"bankAccountNumber\": \"987654321\",\n      \"bankAccountName\": \"Jane Doe\"\n    }\n\n","operationId":"getNominatedBankAccounts","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/NominatedBankAccountListResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"post":{"tags":["Nominated"],"summary":"This API can be used to set a Nominated Bank account Number.","description":"<h2>Summary:</h2><p>A Nominated Bank account Number.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, the card to block must be owned by the user.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Sample request:</h2><p><code>Address: https://{server_name}/rsservice/v1/private/nominated_bank_account_number<p>Http-Method: POST<p>Headers:{Authorization=Bearer 1b6dbfe7641f87d62d324fdff94a65c, Accept=*/*, content-type=application/json, cache-control=no-cache, Content-Length=61}</code>```json \n{\n  \"nominatedBankAccounts\": [\n    {\n      \"clientNumber\": \"123456\",\n      \"bankAccountNumber\": \"123456789\",\n      \"bankAccountName\": \"John Doe\"\n    },\n    {\n      \"clientNumber\": \"123456\",\n      \"bankAccountNumber\": \"987654321\",\n      \"bankAccountName\": \"Jane Doe\"\n    }\n   ]\n}\n\n<h2>Sample Response:</h2><p>Empty response with code = 204.\n","operationId":"postNominatedBankAccount","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/NominatedBankAccountRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"type":"string"}},"204":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"500":{"description":"Internal Server Error"}}}},"/password":{"post":{"tags":["Password"],"summary":"This API allows callee to update the password","description":"<h2>Summary:</h2><p>This API allows callee to update the password if current correct password can be provided. <h2>Detail:</h2><p>This API will check on the client number, current password, and set the password to be the new one if and only if <p>1. the client number + password (after hash) credentials match existing record.<p>2. new password satisfies configured password policy.<h2>Security:</h2><p>This API requires a valid token. Standard OAuth security applies. <p>It also has built-in brute force prevention to block too many failed attempts. <h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/password<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>```json \n{\n  \"currentPassword\": \"F1nzs0ft01\",\n  \"newPassword\": \"F1nzs0ft02\"\nn```\nSample Bad request 1: when current password is wrong:<p> Status code: 400:{\n    \"id\": \"passChangeFail\",\n    \"type\": \"BadRequest\",\n    \"messages\": {\n        \"headerNarrative\": \"Device ID is Invalid for Client\",\n        \"messageItems\": []\n    }\n}\nSample Response: when new password dose not satisfy configured policy. The passed rules will be returned as type:'Info' and the failed policy will be of type 'Error' <p> Status code: 400:{\n    \"id\": \"FailPassPolicy\",\n    \"type\": \"BadRequest\",\n    \"messages\": {\n        \"headerNarrative\": \"New Password does not satisfy password policy.\",\n        \"messageItems\": [\n            {\n                \"code\": \"S619640\",\n                \"type\": \"Info\",\n                \"description\": \"Must contain at least 5 characters (but no more than 16 characters).\"\n            },\n            {\n                \"code\": \"S619646\",\n                \"type\": \"Info\",\n                \"description\": \"Must be different to the last 10 passwords you have used.\"\n            },\n            {\n                \"code\": \"S619643\",\n                \"type\": \"Info\",\n                \"description\": \"Must not have 3 or more of the same character in a row (e.g AAA or 111)\"\n            },\n            {\n                \"code\": \"S619644\",\n                \"type\": \"Info\",\n                \"description\": \"Must not be the same as your customer number, card number or surname.\"\n            },\n            {\n                \"code\": \"S619614\",\n                \"type\": \"Error\",\n                \"description\": \"Must contain at least one upper case, one lower case and one numeric character.\"\n            }\n        ]\n    }\n}\n","operationId":"changePassword","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/PasswordChangeRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request","schema":{"$ref":"#/definitions/ErrorResponse"}},"401":{"description":"Unauthorized","schema":{"$ref":"#/definitions/ErrorResponse"}},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/payees":{"get":{"tags":["Payee"],"summary":"Get list of Payees","description":"<h2>Summary:</h2><p>This API retrieves the list of payees for the user. It supports pagination and filtering.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payees<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"payeeDetailsList\": [\n    {\n      \"payeeId\": \"00024\",\n      \"bankAccountName\": \"Steve Account\",\n      \"payeeDescription\": \"Steve Testo\",\n      \"preferenceSequence\": \"00001\",\n      \"bankAccountNumber\": \"01-0242-0174441-00\",\n      \"particulars\": \"testParticul\",\n      \"analysis\": \"testCode\",\n      \"reference\": \"testRef\",\n      \"payeeRef\": \"B0000000024\",\n      \"payeeType\": \"C\",\n      \"payeeName\": \"Steve Testo\",\n      \"payeeClientNumber\": null,\n      \"publicPayeeCode\": null\n    },\n    {\n      \"payeeId\": \"00027\",\n      \"bankAccountName\": \"Steve Account\",\n      \"payeeDescription\": \"Steve Testo\",\n      \"preferenceSequence\": \"00001\",\n      \"bankAccountNumber\": \"01-0242-0174441-00\",\n      \"particulars\": \"testParticul\",\n      \"analysis\": \"testCode\",\n      \"reference\": \"testRef\",\n      \"payeeRef\": \"B0000000027\",\n      \"payeeType\": \"C\",\n      \"payeeName\": \"Steve Testo\",\n      \"payeeClientNumber\": null,\n      \"publicPayeeCode\": null\n    }\n  ]\n}\n```\n","operationId":"getPayeeList","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"nameContains","in":"query","description":"Payee name searching characters","required":false,"type":"string"},{"name":"maxRows","in":"query","description":"Mandatory parameter for paging of results.","required":true,"type":"integer","format":"int32"},{"name":"onlyPublic","in":"query","description":"Optional parameter for listing only public payees.","required":false,"type":"boolean"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PayeeDetailsList"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"post":{"tags":["Payee"],"summary":"Create a new Payee","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payees<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"payeeRef\": \"A7003751756\"\n}\n```\n","operationId":"createPayee","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/PayeeDetails"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/PayeeRef"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/PayeeDetails"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"put":{"tags":["Payee"],"summary":"Update an existing Payee","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payees<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"payeeRef\": \"A7003751756\"\n}\n```\n","operationId":"updatePayee","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/PayeeDetails"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/PayeeRef"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/PayeeDetails"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/payees/{payee_ref}":{"get":{"tags":["Payee"],"summary":"Get list of Payees","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payees/my-payee-ref<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"payeeId\": \"00024\",\n  \"bankAccountName\": \"Steve Account\",\n  \"payeeDescription\": \"Steve Testo\",\n  \"preferenceSequence\": \"00001\",\n  \"bankAccountNumber\": \"01-0242-0174441-00\",\n  \"particulars\": \"testParticul\",\n  \"analysis\": \"testCode\",\n  \"reference\": \"testRef\",\n  \"payeeRef\": \"B0000000024\",\n  \"payeeType\": \"C\",\n  \"payeeName\": \"Steve Testo\",\n  \"payeeClientNumber\": null,\n  \"publicPayeeCode\": null\n}\n```\n","operationId":"getPayee","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"payee_ref","in":"path","description":"Payee Reference as returned by the list of payees service. Mandatory parameter.","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PayeeDetails"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"delete":{"tags":["Payee"],"summary":"Delete a Payee","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payees/my-payee-ref<p>Http-Method: DELETE<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>(No response body)\n","operationId":"deletePayee","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"payee_ref","in":"path","description":"Payee Reference as returned by the list of payees service. Mandatory parameter.","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"202":{"description":"Accepted"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/payees/basic_info":{"get":{"tags":["Payee"],"summary":"Get a list of basic information for payees","description":"<h2>Summary:</h2><p>This API retrieves a list of basic information for payees for the user. It supports filtering.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payees/basic_info<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n    \"payeeBasicList\": [\n        {\n            \"payeeId\": \"00296\",\n            \"bankAccountName\": null,\n            \"payeeDescription\": \"01-0053-0456781-00\",\n            \"preferenceSequence\": \"00000\",\n            \"bankAccountNumber\": \"01-0053-0456781-00\",\n            \"particulars\": null,\n            \"analysis\": null,\n            \"reference\": null,\n            \"payeeRef\": \"B0000000296\",\n            \"payeeType\": \"C\",\n            \"payeeName\": \"01-0053-0456781-00\",\n            \"payeeClientNumber\": null,\n            \"publicPayeeCode\": null,\n            \"createdDate\": \"2024-03-25\",\n            \"payeeInitials\": \"0\"\n        }\n    ]\n}```\n","operationId":"getBasicPayeeList","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"nameContains","in":"query","description":"Payee name searching characters","required":false,"type":"string"},{"name":"maxRows","in":"query","description":"Mandatory parameter for paging of results.","required":true,"type":"integer","format":"int32"},{"name":"onlyPublic","in":"query","description":"Optional parameter for listing only public payees.","required":false,"type":"boolean"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PayeeBasicList"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/public_payees":{"get":{"tags":["Payee"],"summary":"Get list of public Payees.","description":"<h2>Summary:</h2><p> This API returns the filterred list of public payees by doing a start with string match.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://occ-api-server.com/rsservice/v1/private/public_payees<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"publicPayeeDetailsResponseList\": [\n    {\n      \"payeeClientNumber\": \"0003005644\",\n      \"publicPayeeCode\": \"\",\n      \"name\": \"Mercury Energy\",\n      \"effDateString\": \"1040819\",\n      \"description\": \"Mercury\",\n      \"descriptionAnalysis\": \"Mercury\",\n      \"descriptionParticulars\": \"Mercury\",\n      \"descriptionReference\": \"Mercury\"\n    },\n    {\n      \"payeeClientNumber\": \"0003005644\",\n      \"publicPayeeCode\": \"ELECTR\",\n      \"name\": \"Mercury Energy\",\n      \"effDateString\": \"1031219\",\n      \"description\": \"Mercury Energy\",\n      \"descriptionAnalysis\": \"Mercury ELECTR\",\n      \"descriptionParticulars\": \"Mercury ELECTR\",\n      \"descriptionReference\": \"Mercury ELECTR\"\n    },\n    {\n      \"payeeClientNumber\": \"0003005644\",\n      \"publicPayeeCode\": \"GAS\",\n      \"name\": \"Mercury Energy\",\n      \"effDateString\": \"1031219\",\n      \"description\": \"Mercury Energy - Gas\",\n      \"descriptionAnalysis\": null,\n      \"descriptionParticulars\": \"Mercury Account Number\",\n      \"descriptionReference\": \"YYY\"\n    }\n  ]\n}\n```\n","operationId":"getPublicPayeeList","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"nameContains","in":"query","description":"Payee description starting characters","required":false,"type":"string"},{"name":"maxRows","in":"query","description":"Limiting returned rows count.","required":false,"type":"integer","format":"int32"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PublicPayeesDetailsResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/automatic_payment":{"get":{"tags":["Payment"],"summary":"Get automatic payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/automatic_payment?automaticPaymentReference=P00000115477<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>JSON:\n{\n    \"productCode\": \"CALL\",\n    \"accountExternalNumber\": \"0011628559\",\n    \"amount\": 2.25,\n    \"paymentFrequencyCode\": \"Monthly\",\n    \"firstPaymentDate\": \"03-31-2023\",\n    \"finalPaymentDate\": null,\n    \"payeeId\": \"00001\",\n    \"payeeRef\": null,\n    \"particulars\": \"3\",\n    \"analysis\": \"2\",\n    \"reference\": \"3\",\n    \"paymentReference\": \"P00000115477\",\n    \"skipDteRq\": null,\n    \"bankAccountNumber\": \"01-0126-0014301-00\"\n}","operationId":"getAutomaticPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"paymentReference","in":"query","description":"Automatic Payment Reference","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"post":{"tags":["Payment"],"summary":"Create automatic payment","description":"<h2>Summary:</h2><p>Input must be Form-url Encoded We should specify transferableTo, <p>transferableFrom, billPayable as 'true' or 'false' to enable specific filtering. <p>All parameters are optional.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/automatic_payment<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2><h3>Requires additional approval</h3><p>Status code: 202\nJSON:\n{\n   \"message\": \"This payment required approval from 2 of the following user(s) - Mr Ron McLean, Mr New Vertexon Test. Note: Your approval will be Automatic if you appear in the above list.\"\n}\n<h3>No message</h3><p>Status code: 202\nJSON:\n{\n   \"message\": \"\"\n}\n","operationId":"createAutomaticPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"Automatic payment","required":false,"schema":{"$ref":"#/definitions/AutomaticPayment"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"put":{"tags":["Payment"],"summary":"Update automatic payment","description":"<h2>Summary:</h2><p>Input must be Form-url Encoded We should specify transferableTo, <p>transferableFrom, billPayable as 'true' or 'false' to enable specific filtering. <p>All parameters are optional.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/automatic_payment<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2><h3>Requires additional approval</h3><p>Status code: 202\nJSON:\n{\n   \"message\": \"This payment required approval from 2 of the following user(s) - Mr Ron McLean, Mr New Vertexon Test. Note: Your approval will be Automatic if you appear in the above list.\"\n}\n<h3>No message</h3><p>Status code: 202\nJSON:\n{\n   \"message\": \"\"\n}\n","operationId":"updateAutomaticPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"Automatic payment","required":false,"schema":{"$ref":"#/definitions/AutomaticPayment"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"delete":{"tags":["Payment"],"summary":"Delete automatic payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/automatic_payment?paymentReference=P00000115477<p>Http-Method: DELETE<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>","operationId":"deleteAutomaticPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"paymentReference","in":"query","description":"Payment Reference","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/bill_payment/payee":{"post":{"tags":["Payment"],"summary":"Bill Payment to a payee","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bill_payment/payee<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2><h3>Requires additional approval</h3><p>Status code: 202\nJSON:\n{\n   \"message\": \"This payment required approval from 2 of the following user(s) - Mr Ron McLean, Mr New Vertexon Test. Note: Your approval will be Automatic if you appear in the above list.\"\n}\n<h3>No message</h3><p>Status code: 202\nJSON:\n{\n   \"message\": \"\"\n}\n","operationId":"createBillPaymentToPayee","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"Bill payment to payee request","required":true,"schema":{"$ref":"#/definitions/BillPaymentToPayeeRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/bill_payment":{"delete":{"tags":["Payment"],"summary":"Delete bill payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bill_payment?paymentReference=P00000115477<p>Http-Method: DELETE<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>","operationId":"deleteBillPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"paymentReference","in":"query","description":"Payment Reference","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/bill_payment/bank_account":{"post":{"tags":["Payment"],"summary":"Bill Payment to a bank account","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bill_payment/bank_account<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2><h3>Requires additional approval</h3><p>Status code: 202\nJSON:\n{\n   \"message\": \"This payment required approval from 2 of the following user(s) - Mr Ron McLean, Mr New Vertexon Test. Note: Your approval will be Automatic if you appear in the above list.\"\n}\n<h3>No message</h3><p>Status code: 202\nJSON:\n{\n   \"message\": \"\"\n}\n","operationId":"createBillPaymentToBankAccount","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"Bill payment to bank account request","required":true,"schema":{"$ref":"#/definitions/BillPaymentToBankAccountRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/CreatePaymentResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/bulk_bill_payment/list":{"get":{"tags":["Payment"],"summary":"Get bulk bill payment list","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bulk_bill_payment/list?status=I<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>JSON:\n[\n    {\n        \"id\": \"0000001675\",\n        \"clientNumber\": \"0003008536\",\n        \"batchNumber\": 10168,\n        \"fromAccountProductType\": \"CALL\",\n        \"fromAccountExternalNumber\": \"0020103438\",\n        \"description\": \"Testdong111\",\n        \"processDate\": \"2013-03-08\",\n        \"totalPaymentAmount\": 952.00,\n        \"numberOfPayments\": 1,\n        \"status\": \"I\",\n        \"statusDescription\": \"Incomplete\",\n        \"statusMessage\": \"\",\n        \"paymentMethod\": \"2\",\n        \"authorised\": \"\",\n        \"postingAction\": \"I\"\n    },]","operationId":"listBulkBillPayments","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"status","in":"query","description":"status of bulk bill payments. Passing blank will return all records","required":false,"type":"string"},{"name":"authorised","in":"query","description":"authorised status of bulk bill payments. Passing blank will return all records","required":false,"type":"string"},{"name":"startBatchNumber","in":"query","description":"batch number to start from for pagination","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/bulk_bill_payment/detail":{"get":{"tags":["Payment"],"summary":"Get bulk bill payment detail","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bulk_bill_payment/list?status=I<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>JSON:\n[\n    {\n        \"clientNumber\": \"0003008536\",\n        \"batchNumber\": 10166,\n        \"fromAccountProductType\": \"\",\n        \"description\": \"\",\n        \"createdTimestamp\": 1726826965000,\n        \"submittedTimestamp\": null,\n        \"processDate\": null,\n        \"processedTimestamp\": null,\n        \"totalPaymentAmount\": 0.00,\n        \"numberOfPayments\": 0,\n        \"status\": \"I\",\n        \"fromAccountExternalNumber\": \"\",\n        \"paymentMethod\": \"2\",\n        \"authorised\": \"\",\n        \"statusMessage\": \"\",\n        \"postingAction\": \"TotalofBatch\",\n        \"id\": \"0000001673\",\n        \"statusDescription\": \"Incomplete\",\n        \"create\": false,\n        \"delete\": false,\n        \"update\": true,\n        \"createOrUpdate\": false\n    }\n]","operationId":"getBulkBillPaymentDetail","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"batchNumber","in":"query","description":"Bulk bill payment batch number","required":false,"type":"string"},{"name":"clientNumber","in":"query","description":"Client Number","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/bulk_bill_payment":{"post":{"tags":["Payment"],"summary":"create bulk bill payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bulk_bill_payment<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Request:</h2>JSON:\n{\n    \"bulkBillPaymentHeader\": {\n        \"fromAccountProductType\": \"CALL\",\n        \"fromAccountExternalNumber\": \"0020103438\",\n        \"description\": \"Testdong0002\",\n        \"processDate\": 1362672000000,\n        \"totalPaymentAmount\": 952.00,\n        \"numberOfPayments\": 1,\n        \"statusMessage\": \"\",\n        \"postingAction\": \"I\"\n    },\n    \"bulkBillPaymentDetails\": [\n        {\n            \"sequenceNumber\": 1,\n            \"payeeLocation\": \"B\",\n            \"payeeLocationId\": \"0000000001\",\n            \"bankAccountNumber\": \"01-0598-0083567-00\",\n            \"bankAccountTitle\": \"Better Leasing Limit\",\n            \"payeeAlphaParticulars\": \"1\",\n            \"payeeAlphaAnalysis\": \"2\",\n            \"payeeAlphaReference\": \"3\",\n            \"amount\": 952.00\n        }\n    ]\n}<h2>Sample Response:</h2>JSON:\n{\n    \"batchNumber\": 10176\n}","operationId":"createBulkBillPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/BulkBillPaymentCreateRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"put":{"tags":["Payment"],"summary":"update bulk bill payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bulk_bill_payment<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>JSON:\n{\n    \"batchNumber\": 10176\n}","operationId":"updateBulkBillPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/BulkBillPaymentUpdateRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}},"delete":{"tags":["Payment"],"summary":"delete bulk bill payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bulk_bill_payment?batchNumber=10174<p>Http-Method: DELETE<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>","operationId":"deleteBulkBillPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"batchNumber","in":"query","description":"Bulk bill payment batch number","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/bulk_bill_payment/upload":{"post":{"tags":["Payment"],"summary":"upload bulk bill payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>This API accepts content type: 'multipart/form-data'. This is the only content type that Swagger 2.0 standard accepts for multiple file upload. <p>It expects one form data element named 'bulkBillPaymentUploadRequest' and with a media type of 'application/json'. The contents of the element is a json string representation of a bulkBillPaymentUploadRequest object.<h2>Special Note:</h2><p>There is currently no size limit checking at the API level, please use it wisely. The API supported multipart/mixed content type and allows each multipart to have its own type. <p>However, as the current tools available (Swagger UI, Postman) do not support multipart/mixed, this API is made to support multipart/form-data for uploading. <h2>Sample Response:</h2>JSON:\n{    \"batchNumber\": 4\n}","operationId":"uploadBulkBillPayment","consumes":["multipart/form-data"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"type":"string"}},{"name":"fileUpload","in":"formData","description":"File to upload (CSV or fixed length text file)","required":true,"type":"file"},{"name":"fileFormat","in":"formData","description":"File Format (CSV or TXT)","required":true,"enum":["CSV","TXT"]},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorised"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"406":{"description":"Not Acceptable"},"500":{"description":"Internal Server Error"}}}},"/bulk_bill_payment/process":{"post":{"tags":["Payment"],"summary":"process bulk bill payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bulk_bill_payment/process?batchNumber=10174<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>","operationId":"processBulkBillPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"batchNumber","in":"query","description":"Bulk bill payment batch number","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/bulk_bill_payment/cancel":{"post":{"tags":["Payment"],"summary":"cancel bulk bill payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bulk_bill_payment/cancel?batchNumber=10174<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>","operationId":"cancelBulkBillPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"batchNumber","in":"query","description":"Bulk bill payment batch number","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/bulk_bill_payment/pre_create":{"post":{"tags":["Payment"],"operationId":"preCreateBulkBillPaymentHeader","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"responses":{"200":{"description":"successful operation","headers":{},"schema":{"$ref":"#/definitions/BulkBillPaymentCreateResponse"}}}}},"/bulk_bill_payment/auto_update":{"put":{"tags":["Payment"],"summary":"auto save bulk bill payment","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Credentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/bulk_bill_payment<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>JSON:\n{\n    \"batchNumber\": 10176\n}","operationId":"autoUpdateBulkBillPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/BulkBillPaymentAutoUpdateRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"Success"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/payment_approvals/details":{"get":{"tags":["Payment"],"summary":"Payment Approval Request Details for an specific Payment Approval","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payment_approvals/details?statusCode=200<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"clientName\": \"Mr Praveen Gangal\",\n  \"createdOn\": \"22/11/1974\",\n  \"statusCode\": \"Unprocessed\",\n  \"paymentFrom\": \"Call Product 03-1783-0002540-00 McLean R W & Gite K O\",\n  \"paymentTo\": \"01-0161-0001186-13 HBS Test Case 7095\",\n  \"paymentType\": \"Automatic Payment\",\n  \"paymentParticulars\": \"description\",\n  \"paymentEffectiveDate\": \"22/11/1974\",\n  \"paymentCode\": \"code\",\n  \"paymentExpiryDate\": \"22/11/1974\",\n  \"paymentReference\": \"reference\",\n  \"paymentFrequency\": \"Monthly\",\n  \"paymentAmount\": \"$3.00\",\n  \"locationType\": \"H\",\n  \"locationSurrogate\": \"0000014519\"\n}\n```\n","operationId":"getPaymentApprovalRequestDetail","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"createdOn","in":"query","description":"Date when the Payment Approval Request was created. (Mandatory)","required":true,"type":"string"},{"name":"statusCode","in":"query","description":"External account number. (Mandatory)","required":true,"type":"string"},{"name":"externalAccountNumber","in":"query","description":"External account number. (Mandatory)","required":true,"type":"string"},{"name":"productTypeCode","in":"query","description":"Product Type Code associated with the external account number. (Mandatory)","required":true,"type":"string"},{"name":"locationType","in":"query","description":"Surrogate Type (Mandatory)","required":true,"type":"string"},{"name":"locationSurrogate","in":"query","description":"Surrogate Number. (Mandatory)","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PaymentApprovalDetailResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/payment_approvals/approve":{"put":{"tags":["Payment"],"summary":"Approve an existing Payment Approval Request","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payment_approvals/approve<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>(empty response)","operationId":"approvePaymentApprovalRequest","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"Approval Request Operation (Mandatory)","required":true,"schema":{"$ref":"#/definitions/ApprovalRequestOperation"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/payment_approvals/decline":{"put":{"tags":["Payment"],"summary":"Decline an existing Payment Approval Request","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payment_approvals/decline<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>(No response body)\n","operationId":"declinePaymentApprovalRequest","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/ApprovalRequestOperation"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/payment_approvals":{"get":{"tags":["Payment"],"summary":"Get Payment Approval Requests List for the selected user account(Or for all accounts)","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payment_approvals?fromDate=2019-01-01&statusCode=200<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"paymentApprovalList\": [\n    {\n      \"locationType\": \"H\",\n      \"locationSurrogate\": \"0000014519\",\n      \"paymentType\": \"Bulk Bill\",\n      \"clientName\": \"Mr Praveen Gangal\",\n      \"createdOn\": \"22/11/1974\",\n      \"statusCode\": \"U\",\n      \"paymentAmount\": \"55.00\",\n      \"externalAccountNumber\": \"0020103438\",\n      \"productTypeCode\": \"LOAN\"\n    },\n    {\n      \"locationType\": \"H\",\n      \"locationSurrogate\": \"0000014520\",\n      \"paymentType\": \"Automatic Payment\",\n      \"clientName\": \"Mr Praveen Singh\",\n      \"createdOn\": \"20/11/1974\",\n      \"statusCode\": \"U\",\n      \"paymentAmount\": \"100.00\",\n      \"externalAccountNumber\": \"0020103440\",\n      \"productTypeCode\": \"CALL\"\n    }\n  ]\n}\n```\n","operationId":"getPaymentApprovalRequestList","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"externalAccountNumber","in":"query","description":"External account number. (Optional)","required":false,"type":"string"},{"name":"productTypeCode","in":"query","description":"Product Type Code associated with the external account number. (Optional)","required":false,"type":"string"},{"name":"fromDate","in":"query","description":"The date from which the search will be made. (Mandatory)","required":true,"type":"string"},{"name":"statusCode","in":"query","description":"Payment Approval Request Status. (Optional)","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PaymentApprovalResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/payment_approvals/status":{"get":{"tags":["Payment"],"summary":"Get Payment Approval Request Status List.","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/payment_approvals/status<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"paymentApprovalStatusList\": [\n    {\n      \"statusCode\": \"U\",\n      \"statusDesc\": \"Unprocessed\"\n    },\n    {\n      \"statusCode\": \"U\",\n      \"statusDesc\": \"Unprocessed\"\n    }\n  ]\n}\n```\n","operationId":"getPaymentApprovalStatus","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PaymentApprovalStatusResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/pending_payments/cancel":{"post":{"tags":["Payment"],"summary":"This API cancels a pending payment.","description":"<h2>Summary:</h2><p>This API allows the logged in user to cancel a pending payment, such automatic/bill payment. <h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><h2>Sample request:</h2><p><code>Address: http://localhost:8021/SovSE_Mobile_Banking_Server/rsservice/v1/private/pending_payment/cancel<p>HttpMethod: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json]</code>\n```json \n```\n<h2>Sample Response:</h2><p>Empty response with code = 200.\n","operationId":"cancelPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","required":false,"schema":{"$ref":"#/definitions/CancelPendingPaymentReq"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"type":"string"}}}}},"/pending_payments":{"get":{"tags":["Payment"],"summary":"Get a list of pending payments.","description":"<h2>Summary:</h2><p>This API returns a list of payments that are pending, which could be of the following 3 types:automatic_payment, bill_payment or transfer<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/pending_payments<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n    \"pendingPaymentList\": [\n        {\n            \"type\": \"AP\",\n            \"productCode\": null,\n            \"accountExternalNumber\": \"0020079208\",\n            \"accountName\": \"Lai Joanne M C Ms\",\n            \"amount\": 100.0,\n            \"paymentFrequencyCode\": \"M\",\n            \"nextPaymentDate\": \"2021-05-31\",\n            \"nextNextPaymentDate\": \"2021-06-30\",\n            \"finalPaymentDate\": null,\n            \"payeeId\": null,\n            \"payeeRef\": \"0003006651\",\n            \"particulars\": null,\n            \"analysis\": null,\n            \"reference\": null,\n            \"automaticPaymentReference\": \"P00000030837\",\n            \"bankAccountNumber\": \"03-1368-0123687-00\",\n            \"payeeAccountName\": null,\n            \"effectiveDate\": null,\n            \"transferToAccountNumber\": null\n        },{\n            \"type\": \"BP\",\n            \"productCode\": null,\n            \"accountExternalNumber\": \"0020011326\",\n            \"accountName\": \"HAHA\",\n            \"amount\": 11111.0,\n            \"paymentFrequencyCode\": null,\n            \"nextPaymentDate\": \"2020-08-13\",\n            \"finalPaymentDate\": null,\n            \"payeeId\": \"0003016409\",\n            \"payeeRef\": \"0003016409\",\n            \"particulars\": null,\n            \"analysis\": null,\n            \"reference\": \"P00000112184\",\n            \"automaticPaymentReference\": null,\n            \"bankAccountNumber\": \"\",\n            \"payeeAccountName\": \"Mr aa\",\n            \"effectiveDate\": \"13082020\",\n            \"transferToAccountNumber\": null\n        }\n\n```\n","operationId":"getPendingPayments","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"approval","in":"query","description":"approval status of pending payments.","required":false,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PendingPayments"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/pin":{"put":{"tags":["Auth"],"summary":"Create or updating the existing PIN","description":"<h2>Summary:</h2><p>This API can be used to register a PIN or update the pin. It requires the UUID of the app. On succesful login, MB server will register the UUID with the client so pin update/create can work.<h2>Security:</h2><p>This API requires System API level authentication (OAuth2.0 Client Credentials). Consumer must supply a valid access token (Bearer).<p>For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorization logic:</h2><p>This API also expects an OCC Client ID representing a Sovereign entity such as dealer or employee. For example, Dealer John Smith has client id = 000023112. <p>This OCC ID should be passed in as a http header in <code>x-occapi-request-by-client=000023112</code>. This API will only return the requested data if the client <p>(1) is an employee defined in OCC backend or <p>(2) has been defined as a key person for an originator that originated the loan application.<p>When the mentioned header is unset, API will return 400 with an error message: Http header:x-occapi-request-by-client is required for this API.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/pin<p>Http-Method: PUT<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code>\n```json \n<h2>Sample Response:</h2>(No response body)\n","operationId":"updatePin","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"PIN update request","required":true,"schema":{"$ref":"#/definitions/PinUpdateRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"202":{"description":"Accepted"},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/transaction_history/export":{"get":{"tags":["Transaction"],"operationId":"export","consumes":["application/json"],"produces":["application/octet-stream"],"parameters":[{"name":"","in":"query","description":"Transaction History Request","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"responses":{"default":{"description":"successful operation"}}}},"/transaction_history":{"get":{"tags":["Transaction"],"summary":"Get Transaction History for account and date range.","description":"<h2>Summary:</h2><h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/transaction_history<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n  \"moduleId\": \"CC\",\n  \"accountNumber\": \"0000036663\",\n  \"fromDate\": \"2001-01-01\",\n  \"toDate\": \"2014-01-07\",\n  \"transactionSequence\": 0,\n  \"numTranstoDisplay\": 80,\n  \"transactionList\": [\n    {\n      \"trancode\": \"TFER \",\n      \"postingreference\": \"      \",\n      \"transactionSequence\": 100381763,\n      \"transactionDate\": \"2014-01-07\",\n      \"transactionTime\": \"09:27:56\",\n      \"creditORDebit\": \"D\",\n      \"amount\": 1,\n      \"transactionMethod\": \"    \",\n      \"description\": \"Transfer to 03-1783-00003076-0000\",\n      \"affectsCurrentBalance\": \"Y\",\n      \"intlTransactionDescription\": \"\"\n    },\n    {\n      \"trancode\": \"TFER \",\n      \"postingreference\": \"      \",\n      \"transactionSequence\": 100381757,\n      \"transactionDate\": \"2014-01-07\",\n      \"transactionTime\": \"09:12:14\",\n      \"creditORDebit\": \"D\",\n      \"amount\": 1,\n      \"transactionMethod\": \"    \",\n      \"description\": \"Transfer to 03-1783-00003076-0000\",\n      \"affectsCurrentBalance\": \"Y\",\n      \"intlTransactionDescription\": \"\"\n    }\n  ],\n  \"creditLimit\": 0,\n  \"available\": 3725.43,\n  \"cutoffDate\": \"2013-12-24\",\n  \"cutoffTransactionSequence\": 100381226\n}\n```\n","operationId":"getTransactionHistory","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"","in":"query","description":"Transaction History Request","required":true,"type":"string"},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"successful operation","schema":{"$ref":"#/definitions/TransactionHistoryResponse"}},"202":{"description":"Accepted","schema":{"$ref":"#/definitions/TransactionHistoryResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/login_info":{"get":{"tags":["Auth"],"summary":"Based on the given token (in the header), return the login information","description":"<h2>Summary:</h2><p>There should be more documentation<h2>Security:</h2><p>This API requires System API level authentication (OAuth2.0 Client Credentials). Consumer must supply a valid access token (Bearer).<p>For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorization logic:</h2><p>This API also expects an OCC Client ID representing a Sovereign entity such as dealer or employee. For example, Dealer John Smith has client id = 000023112. <p>This OCC ID should be passed in as a http header in <code>x-occapi-request-by-client=000023112</code>. This API will only return the requested data if the client <p>(1) is an employee defined in OCC backend or <p>(2) has been defined as a key person for an originator that originated the loan application.<p>When the mentioned header is unset, API will return 400 with an error message: Http header:x-occapi-request-by-client is required for this API.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/login_info<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>```json \n{\n  \"clientNumber\": \"0123456789\"\n}\n```\n","operationId":"getLoginInfo","produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/LoginInfo"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/transfer/create_transfer_payment":{"post":{"tags":["Transfer"],"summary":"Create transfer payment","description":"<h2>Summary:</h2><p>This API returns validation results for a given account number.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>After authorization check, this API will based on the 'response' value passed in to decide how much information to retrieve and return.<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/transfer/create_transfer_payment<p>Http-Method: POST<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n}\n```\n","operationId":"createTransferPayment","consumes":["application/json"],"produces":["application/json"],"parameters":[{"in":"body","name":"body","description":"Create transfer payment request","required":true,"schema":{"$ref":"#/definitions/TransferCreateTransferPaymentRequest"}},{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/TransferCreateTransferPaymentResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/transfer/transfer_to_account":{"get":{"tags":["Transfer"],"summary":"Get transfers to account","description":"<h2>Summary:</h2><p>This API returns validation results for a given account number and is deprecated by the /account API please use that instead..<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>After authorization check, this API will based on the 'response' value passed in to decide how much information to retrieve and return.<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/transfer/transfer_to_account<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n}\n```\n","operationId":"getTransferToAccounts","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/TransferToAccountsResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/transfer/transfer_from_account":{"get":{"tags":["Transfer"],"summary":"Get transfers from account","description":"<h2>Summary:</h2><p>This API returns validation results for a given account number.<h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>After authorization check, this API will based on the 'response' value passed in to decide how much information to retrieve and return.<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/private/transfer/transfer_from_account<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n}\n```\n","operationId":"getTransferFromAccounts","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/TransferFromAccountsResponse"}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}},"/users/info":{"get":{"tags":["User"],"summary":"Return a Sovereign customers' information.","description":"<h2>Summary:</h2><p>Currently this API returns the logged in user's GST number and names. <h2>Security:</h2><p>This API supports two OAuth 2.0 flows:  Customer API level authentication (OAuth2.0 Resource Owner Flow) and System API level authentication (OAuth2.0 Client Crendentials). <p>Note Resource Owner is the preferred way, as its much safer to restrict access based on who actually signed in -- the resource owner. <p>Client Credentials authentication is supported but NOT recommended -- the trusted client uses the header x-occapi-request-by-client to inform the API who is accessing it.<p>That means the authenticated client can impersonate any customer. Allow this only when the client can be completely trusted -- ie an authorized channel partner who holds its own certificates and credentials etc.<p>API Consumer must supply a valid username password to the tokenAPI in exchange for an access token (Bearer) to access this API<p>The access token must be supplied in the header as a Bearer token. For example: <code>Authorization:Bearer cbc77598e7777898a9fcbbeee24adfa4</code><h2>Authorisation logic:</h2><p>When Resource Owner flow is used, authorisation is done based on the user's permission. The access token issued by the token API identifies the user. So the API will make sure only operations associated with that user will be allowed.<p>For example, Customer A will not be able to transfer money from account B that he has no authorities to access.<p>When Client Credential flow is used, authorisation is checked against the x-occapi-request-by-client header value.<h2>Function Detail:</h2><p>There should be more documentation<h2>Sample request:</h2><p><code>Address: http://mobile-banking-server.com/rsservice/v1/public/users/info<p>Http-Method: GET<p>Content-Type: application/json<p>Headers: {Authorization=[Bearer 4f1ccf54a09fb92031b67c54f9b45011], Content-Type=[application/json], x-occapi-request-by-client=[0030037496]}</code><h2>Sample Response:</h2>\n```json \n{\n    \"irdNumber\": \"87688321\",\n    \"title\": \"Mrs\",\n    \"suppressTitle\": \"\",\n    \"forename\": \"Joanne M C\",\n    \"lastName\": \"Lai\",\n    \"cardName\": \"J M CLARKSON\",\n    \"mailingAddress\": \"23/145 Quay St, Auckland CBD, Auckland 1034\",\n    \"emailAddress\": \"j.clarkson@mail.com\"\n}```\n","operationId":"get_1","consumes":["application/json"],"produces":["application/json"],"parameters":[{"name":"Authorization","in":"header","description":"The Access Token; must use bear token, for example: Bearer xxxxxxxxx","required":false,"type":"string"},{"name":"x-occapi-request-by-client","in":"header","description":"The client number who requests","required":false,"type":"string","x-example":"0003023022"}],"security":[{"customerAPIAuthentication":[]},{"systemAPIAuthentication":[]}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/UserInfo"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not found"},"405":{"description":"Method Not Allowed"},"406":{"description":"Not Acceptable"},"429":{"description":"Too Many Requests"},"500":{"description":"Internal Server Error"}}}}},"securityDefinitions":{"systemAPIAuthentication":{"description":"OAuth2 login using grant type 'Client Credentials'","type":"oauth2","tokenUrl":" http://localhost:802/SovSE_Mobile_Banking_Server/rsservice/v1/public/token","flow":"application"},"customerAPIAuthentication":{"description":"OAuth2 login using grant type 'Username/Password Credentials'","type":"oauth2","tokenUrl":"http://mobile-banking-server.com/rsservice/v1/public/token","flow":"password"}},"definitions":{"AccountIconReq":{"type":"object","required":["accountExternalNumber","iconFileName"],"properties":{"accountExternalNumber":{"type":"string","description":"Sovereign external account number"},"iconFileName":{"type":"string","description":"Name of the icon to be used"}},"description":"Represents an account icon request"},"Account":{"type":"object","properties":{"accountName":{"type":"string","description":"Account name"},"accountExternalNumber":{"type":"string","description":"Account external number","pattern":"[0-9]{9,10}"},"bankAccountNumber":{"type":"string","description":"Bank account number, - format of 2-4-7-2 for New Zealand bank accounts."},"accountType":{"type":"string","description":"Account type"},"availableAmount":{"type":"number","description":"Available amount"},"balance":{"type":"number","description":"Balance"},"moduleId":{"type":"string","description":"Module ID; DD = Lending, CC = Funding","enum":["DD","CC"]},"productCode":{"type":"string","description":"Product code"},"productDesc":{"type":"string","description":"Product description"},"dualAuthRequired":{"type":"boolean","description":"Is dual authorization?"},"alias":{"type":"string","description":"Account alias aka customized account name, can be empty."},"icon":{"type":"string","description":"Account icon, user configurable"},"contractStartDate":{"type":"string","description":"Contract Start Date, date format: yyyy-MM-dd"},"contractEndDate":{"type":"string","description":"Contract End Date, date format: yyyy-MM-dd"},"displaySequence":{"type":"integer","format":"int32","description":"Display Sequence"}},"description":"Represents an account"},"LendingAccountDetail":{"type":"object","properties":{"accountExternalNumber":{"type":"string","description":"Account external number","pattern":"[0-9]{9,10}"},"contractStartDate":{"type":"string","description":"Contract start date"},"amountFinanced":{"type":"string","description":"Amount financed"},"financeRate":{"type":"string","description":"Finance rate"},"currentBalance":{"type":"string","description":"Current balance"},"arrearsBalance":{"type":"string","description":"Arrears balance"},"availableBalance":{"type":"string","description":"Available balance"},"termDescription":{"type":"string","description":"Term description"},"currentMaturityDate":{"type":"string","description":"Current maturity date"},"lastPaymentDate":{"type":"string","description":"Last payment date"},"lastPaymentAmount":{"type":"string","description":"Last payment amount"},"nextPaymentDate":{"type":"string","description":"Next payment date"},"nextPaymentAmount":{"type":"string","description":"Next payment amount"},"paymentFrequencyDesc":{"type":"string","description":"Payment frequency description"},"paymentFrequency":{"type":"string","description":"Payment frequency"},"paymentFrequencyExt":{"type":"string","description":"Payment frequency extended"},"calculatedMaturityDate":{"type":"string","description":"Calculated maturity date"},"creditLimit":{"type":"string","description":"Credit Limit"},"settlementAmount":{"type":"string","description":"Settlement Amount"},"validToDate":{"type":"string","description":"Valid To Date"},"primarySecurityDesc":{"type":"string","description":"Primary Security Desc"},"moduleId":{"type":"string","description":"Module Id"},"interestCalculationMethod":{"type":"string","description":"Interest Calculation Method"},"displayFundingInterest":{"type":"boolean","description":"Display Funding Interest"},"account":{"$ref":"#/definitions/Account"}},"description":"Represents details of a lending account"},"Accounts":{"type":"object","properties":{"accountList":{"type":"array","description":"Represents a collection of accounts","items":{"$ref":"#/definitions/Account"}}},"description":"Represents a collection of accounts"},"AccountSequence":{"type":"object","required":["accountExternalNumber","displaySequence"],"properties":{"accountExternalNumber":{"type":"string","description":"Sovereign external account number","minLength":0,"maxLength":11,"pattern":"\\d+"},"displaySequence":{"type":"integer","format":"int32","description":"Display Sequence"}},"description":"Represents an account details request"},"AccountSequenceReq":{"type":"object","properties":{"accountSequences":{"type":"array","description":"List of account sequences.","items":{"$ref":"#/definitions/AccountSequence"}}},"description":"Represents an account sequences request"},"RenameAccountReq":{"type":"object","required":["accountExternalNumber","renameTo"],"properties":{"accountExternalNumber":{"type":"string","description":"Sovereign external account number"},"renameTo":{"type":"string","description":"The new name. Standard Sovereign Mobile banking allowed charset applies: \n abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789€!@#$%^&*()_+=-~`\":';><,.?/ {}[]|"}},"description":"Represents an account rename request"},"TransferRequest":{"type":"object","required":["fromExternalAccountNumber","toExternalAccountNumber"],"properties":{"fromExternalAccountNumber":{"type":"string","description":"From external account number. Mandatory field."},"toExternalAccountNumber":{"type":"string","description":"To external account number. Mandatory field."},"fromProductCode":{"type":"string","description":"From product code. Optional field."},"toProductCode":{"type":"string","description":"To product code. Optional field."},"amount":{"type":"number","description":"Amount. Mandatory field."},"effectiveDate":{"type":"string","format":"date-time","description":"Effective date. Optional field."},"toTransactionDescription":{"type":"string","description":"To transaction description'. Optional field."},"fromTransactionDescription":{"type":"string","description":"From transaction description. Optional field."},"transferFrequency":{"type":"string","description":"Transfer frequency. Optional field."},"endDate":{"type":"string","format":"date-time","description":"End date. Optional field."}},"description":"Represents a transfer request"},"ValidateBankAccountResponse":{"type":"object","properties":{"bankAccountForBillPay":{"type":"string","description":"Bank Account for BillPay"},"bankAccountNumber":{"type":"string","description":"Bank account number"},"errorStatus":{"type":"string","description":"Error Status  (Y or N)","enum":["Y","N"]},"msgidForMbCode":{"type":"string","description":"Error MSGID for MB Code"},"errorDescription":{"type":"string","description":"Error Description"}},"description":"Represents bank account validation results"},"CacheStoreInfo":{"type":"object","properties":{"name":{"type":"string","description":"Name"},"items":{"type":"array","description":"Items","items":{"type":"string"}},"size":{"type":"integer","format":"int32","description":"Size"},"timeToLiveSeconds":{"type":"integer","format":"int32","description":"Time to live (TTL) in seconds"}},"description":"Represents a cache store info"},"ClusterInfo":{"type":"object","properties":{"configuredMembers":{"type":"string","description":"Configured members"},"configuredTimeToLiveSeconds":{"type":"string","description":"Configured members"},"configuredGroup":{"type":"string","description":"Configured group"},"configuredMulticast":{"type":"boolean","description":"Configured multicast"},"memberInfos":{"type":"array","description":"Member infos","items":{"$ref":"#/definitions/MemberInfo"}},"cacheStoreInfos":{"type":"array","description":"Cache store infos","items":{"$ref":"#/definitions/CacheStoreInfo"}}},"description":"Represents a cluster info"},"MemberInfo":{"type":"object","properties":{"host":{"type":"string","description":"Host"},"attributes":{"type":"object","description":"Attributes","additionalProperties":{"type":"string"}}},"description":"Represents a member info"},"BiometricsGenResponse":{"type":"object","required":["biometricsSecret"],"properties":{"biometricsSecret":{"type":"string","description":"Biometrics secret generated by the server and needs to be held in the client side."}},"description":"The result of the biometrics secret generation result.."},"BiometricsGenRequest":{"type":"object","properties":{"uuid":{"type":"string"}},"description":"The request to generate a new biometrics secret."},"Card":{"type":"object","properties":{"surrogateNumber":{"type":"string","description":"surrogateNumber for the card, which is an unique number for the card."},"cardType":{"type":"string","description":"card Type code"},"cardTypeDesc":{"type":"string","description":"card Type Description, for example Visa Debit."},"number":{"type":"string","description":"Card number. Should be masked."},"name":{"type":"string","description":"Card name. Maybe customized by customers."},"name2ndLine":{"type":"string","description":"Card name 2nd Line"},"status":{"type":"string","description":"Card Status","enum":["Active","Blocked","Cancel Client","Cancel Financier","Expired","Fraud","Fraud Cancellation","Lost","Name Change","New","Pending Activation","Restricted","Renewal","Stolen","Unissued","Warmed"]},"statusDate":{"type":"string","description":"Date when the status set"},"expiryDate":{"type":"string","description":"Date when the card expires. Null when there is no expiry date."},"cardPinningAllowed":{"type":"string","description":"Card Pinning Allowed","enum":["Y","N"]},"realtimeProcessing":{"type":"string","description":"Realtime Processing","enum":["Y","N"]},"services":{"type":"array","description":"Card services","items":{"type":"string"}},"cardDesignIcon":{"type":"string","description":"Card design icon"},"last4Digits":{"type":"string","description":"Last 4 digits of Card"},"cardTokenNumber":{"type":"string","description":"Card Token Number"}},"description":"Represents a credit/debit card"},"Cards":{"type":"object","properties":{"cards":{"type":"array","items":{"$ref":"#/definitions/Card"}}},"description":"Represents a collection of cards"},"CardPin":{"type":"object","required":["pin","surrogateNumber"],"properties":{"surrogateNumber":{"type":"string","description":"surrogate number of the card to act on."},"pin":{"type":"string","description":"pin of the card to act on."}},"description":"Operations to set pin for a card"},"CardAction":{"type":"object","required":["action","surrogateNumber"],"properties":{"action":{"type":"string","description":"Card actions","enum":["block","unblock"]},"surrogateNumber":{"type":"string","description":"surrogate number of the card to act on."}},"description":"Operations to apply on a card. Such as block/unblock"},"CardCancelRequest":{"type":"object","required":["cancelReasonCode"],"properties":{"cancelReasonCode":{"type":"string","description":"Card cancel reason code"},"wayToGetNewCard":{"type":"string","description":"if to replace card and re-issue or replace, empty means no replacement","enum":["reissue","replace"]}},"description":"Represents a request for a card cancel"},"CardIssueResponse":{"type":"object","properties":{"cardSurrogate":{"type":"string","description":"Card surrogate"}},"description":"Represents a response for a new card"},"CardIssueRequest":{"type":"object","required":["cardDesignCode","cardName","cardTypeCode"],"properties":{"cardTypeCode":{"type":"string","description":"Card Type code"},"cardName":{"type":"string","description":"Card Type name"},"cardDesignCode":{"type":"string","description":"Card design"},"chequeAccount":{"type":"string","description":"Cheque Account Surrogate"},"savingAccount":{"type":"string","description":"Savings Account Surrogate"}},"description":"Represents a request for a new card"},"CardCancelReason":{"type":"object","required":["reasonCode","reasonDescription"],"properties":{"reasonCode":{"type":"string","description":"Card cancel reason code"},"reasonDescription":{"type":"string","description":"Card cancel reason description"}},"description":"Represents a response for a card cancel reason"},"CardWalletRegistrationDTO":{"type":"object","properties":{"cardID":{"type":"string"},"cardSecret":{"type":"string"},"secretExpiryDateTime":{"type":"string"},"nameOfPerson":{"type":"string"},"addressLine1":{"type":"string"},"addressLine2":{"type":"string"},"city":{"type":"string"},"postalCode":{"type":"string"},"countryCode":{"type":"string"},"last4CardDigits":{"type":"string"},"emailAddress":{"type":"string"}}},"CardSDKAuthClientToken":{"type":"object","properties":{"clientNumber":{"type":"string","description":"client number of the token"},"token":{"type":"string","description":"the CF Mobile SDK token"},"expiryDateTime":{"type":"string","description":"Expiry Date of Token"}},"description":"Vertexon Mobile SDK Auth Client Token"},"TermsAndConditionsInfo":{"type":"object","properties":{"htmlURL":{"type":"string","description":"Terms and conditions html url"},"pdfURL":{"type":"string","description":"Terms and conditions pdf link"},"text":{"type":"string","description":"Terms and conditions html text"}},"description":"Represents terms and conditions"},"StreetType":{"type":"object","properties":{"code":{"type":"string","description":"Unique identifier for the street type"},"description":{"type":"string","description":"Description of the street type"}},"description":"Street type"},"StreetTypes":{"type":"object","properties":{"streetTypeList":{"type":"array","description":"List of street types","items":{"$ref":"#/definitions/StreetType"}}},"description":"Street types"},"ContactsResponse":{"type":"object","properties":{"clientNumber":{"type":"string","description":"Client number"},"summaries":{"type":"array","description":"Represents summary of results from import.","items":{"type":"string"}}},"description":"Response from Post of contacts"},"Address":{"type":"object","properties":{"contactType":{"type":"string","description":"Address Contact Type"},"addressLabel":{"type":"string","description":"Summarized version of address. only populated on GET"},"careOfName":{"type":"string","description":"care of name for address"},"unitType":{"type":"string","description":"unit type for address"},"apartment":{"type":"string","description":"apartment for address"},"building":{"type":"string","description":"building for address"},"streetNumber":{"description":"street number for address","$ref":"#/definitions/StreetNumber"},"effectiveDate":{"type":"string","description":"effective date for address"},"expiryDate":{"type":"string","description":"Expiry date of the address"},"addressType":{"type":"string","description":"address type for address"},"purpose":{"type":"string","description":"purpose for address"},"alpha":{"type":"string","description":"alpha for address"},"streetOrPostalName":{"type":"string","description":"street or postal name for address"},"streetType":{"type":"string","description":"street type for address"},"streetDirection":{"type":"string","description":"street direction for address"},"suburb":{"type":"string","description":"suburb for address"},"city":{"type":"string","description":"city for address"},"state":{"type":"string","description":"state for address"},"postCode":{"type":"string","description":"post code for address"},"country":{"description":"country for address","$ref":"#/definitions/Country"},"priority":{"type":"number","description":"priority for address"},"seq":{"type":"string","description":"seq for address"},"surrogate":{"type":"string","description":"surrogate for address"},"preferredMethod":{"type":"string","description":"preferred Address"},"floor":{"type":"string","description":"floor for address"}},"description":"Address contact details"},"Contacts":{"type":"object","properties":{"phones":{"type":"array","description":"Represents a collection of phones numbers","items":{"$ref":"#/definitions/Phone"}},"mobiles":{"type":"array","description":"Represents a collection of mobiles numbers","items":{"$ref":"#/definitions/Mobile"}},"emails":{"type":"array","description":"Represents a collection of email addresses","items":{"$ref":"#/definitions/Email"}},"addresses":{"type":"array","description":"Represents a collection of physical addresses","items":{"$ref":"#/definitions/Address"}}},"description":"Represents a collection of contacts"},"Country":{"type":"object","properties":{"code":{"type":"string","description":"Country code i.e. AUS"}},"description":"Country Code"},"Email":{"type":"object","properties":{"effectiveDate":{"type":"string","description":"Effective date of the email address"},"expiryDate":{"type":"string","description":"Expiry date of the email address"},"surrogate":{"type":"string","description":"Surrogate number of the email address"},"contactType":{"type":"string","description":"Contact type of the email address"},"address":{"type":"string","description":"Email address"},"preferredMethod":{"type":"string","description":"Is preferred contact Method"},"priority":{"type":"string","description":"Priority of the email address"}},"description":"Email contact details"},"Mobile":{"type":"object","properties":{"effectiveDate":{"type":"string","description":"Effective date of the mobile number"},"expiryDate":{"type":"string","description":"Expiry date of the mobile number"},"surrogate":{"type":"string","description":"Surrogate number of the mobile number"},"contactType":{"type":"string","description":"Contact type of the mobile number"},"countryCode":{"type":"string","description":"Country code of the mobile number"},"networkCode":{"type":"string","description":"Network code of the mobile number"},"number":{"type":"string","description":"Number of the mobile number"},"preferredMethod":{"type":"string","description":"Is preferred contact Method"},"priority":{"type":"string","description":"Priority of the mobile number"}},"description":"Mobile contact details"},"Phone":{"type":"object","properties":{"effectiveDate":{"type":"string","description":"Effective date of the phone number"},"expiryDate":{"type":"string","description":"Expiry date of the phone number"},"surrogate":{"type":"string","description":"Surrogate number of the phone number"},"contactType":{"type":"string","description":"Contact type of the phone number"},"countryCode":{"type":"string","description":"Country code of the phone number"},"stdCode":{"type":"string","description":"Area code of the phone number"},"number":{"type":"string","description":"Number of the phone number"},"preferredMethod":{"type":"string","description":"Is preferred phone number"},"contactId":{"type":"string","description":"Is primary phone number"},"priority":{"type":"string","description":"Priority of the phone number"}},"description":"Phone contact details"},"StreetNumber":{"type":"object","properties":{"from":{"type":"string","description":"Street number from"},"to":{"type":"string","description":"Street number to"}},"description":"Street number details"},"CountryCode":{"type":"object","properties":{"code":{"type":"string","description":"Unique identifier for the country code"},"description":{"type":"string","description":"Description of the country code"}},"description":"Country Code"},"CountryCodes":{"type":"object","properties":{"countryCodesList":{"type":"array","description":"List of country codes","items":{"$ref":"#/definitions/CountryCode"}}},"description":"Street types"},"Document":{"type":"object","properties":{"documentId":{"type":"string"},"documentType":{"type":"string"},"externalAccountNumber":{"type":"string"},"fileType":{"type":"string"},"createdDate":{"type":"string"}}},"DocumentList":{"type":"object","properties":{"documents":{"type":"array","description":"List of documents. Never null. Can be empty.","items":{"$ref":"#/definitions/Document"}}},"description":"Represents a list of documents"},"IRDPaymentInfo":{"type":"object","properties":{"taxCode":{"type":"string","description":"Tax Type Code"},"taxDescription":{"type":"string","description":"Tax Type description"},"periodEndDateRequired":{"type":"string","description":"Y/N flag for the given tax code, if it requires the period end date to append to the reference field"},"validDates":{"type":"string","description":"Some tax types may require month ends date only, some may require mid month, or only a particular date. This field describes the pattern. Empty means no restrictions, 31/* means last day of every month is allowed, 31/03 means March 31st is the only allowed date.","enum":["31/*","31/03"]}},"description":"Describes how IRD requires billpayment to be formatted for different types of taxes. "},"IRDPaymentInfoList":{"type":"object","properties":{"irdPayeeName":{"type":"string","description":"The payee name to show when using the IRD payment function."},"bankAccountNumber":{"type":"string","description":"Tax Type description"},"irdPaymentInfoList":{"type":"array","items":{"$ref":"#/definitions/IRDPaymentInfo"}},"irdPayeeID":{"type":"string"}},"description":"List of IRD Payment Info which describes how IRD wants bill payment to be formatted for different tax types."},"Device":{"type":"object","properties":{"clientNumber":{"type":"string","description":"Sovereign Client Number linked with this device."},"deviceType":{"type":"string","description":"Device Type, recorded when first login."},"deviceId":{"type":"string","description":"Device ID, or the UDID, is an unique id generated by the device per app installation."},"pinEnabled":{"type":"boolean","description":"If Pin is enabled for on the device for this client."},"primaryClient":{"type":"boolean","description":"Weather this client is the primary client on this device -- only primary client can setup biometrics login. "},"disabledDevice":{"type":"boolean","description":"Weather this client is the primary client on this device -- only primary client can setup biometrics login. "},"createdTimestamp":{"type":"string","description":"When the device was first registered (used for a successful login. ISO-8861 format)"},"lastAccessedTimestamp":{"type":"string","description":"When the device was last used for a successful login. ISO-8861 format "}},"description":"Represents a mobile device"},"Devices":{"type":"object","properties":{"deviceList":{"type":"array","items":{"$ref":"#/definitions/Device"}}},"description":"Represents a collection of mobile devices"},"DisableDeviceRequest":{"type":"object","properties":{"devicesToDisable":{"type":"array","description":"A list of Device IDs(the UDID, is an unique id generated by the device per app installation) that the logged-in user wants to disable.","items":{"type":"string"}},"secondaryLoginsToDisables":{"description":"A list of Device IDs(the UDID, is an unique id generated by the device per app installation) that the logged-in user wants to disable.","$ref":"#/definitions/SecondaryLoginsToDisable"}},"description":"Represents a command to disable a device"},"SecondaryLoginsToDisable":{"type":"object","properties":{"currentDeviceId":{"type":"string","description":"Current Device ID where the login is made. Only required when to disable secondary logins on the device."},"secondaryClientNumbers":{"type":"array","description":"Primary users can disable secondary logins on the current device (specified in currentDeviceId). This is a list of client numbers that the logged in user wants to disable from this device -- The general_data API will return the list of client numbers.","items":{"type":"string"}}}},"MobileMenu":{"type":"object","properties":{"id":{"type":"string","description":"Menu ID or code"},"description":{"type":"string","description":"Menu Description. Long or short depending on request parameter."},"menuList":{"type":"array","description":"List of Sub Menus, if relevant. A menu can have multiple menus or options","items":{"$ref":"#/definitions/MobileMenu"}}},"description":"Represents a mobile menu. Mobile Banking Menu structure: web service response object. Each MobileMenu represents a menu which may or may not also be an option. Allows for a Hierarchy, with list of submenus."},"MessageDetail":{"type":"object","properties":{"messageDate":{"type":"string","format":"date-time","description":"Message date"},"subject":{"type":"string","description":"Message subject"},"message":{"type":"string","description":"Actual message"},"fromClientNumber":{"type":"string","description":"Sender client number"},"fromClientName":{"type":"string","description":"Sender client name"},"memoKey":{"type":"string","description":"Memo key"},"messageType":{"type":"string","description":"Message type. I = Inbox , S = Sent Items","enum":["I","S"]},"recipientNumber":{"type":"string","description":"Recipient client number"},"recipientName":{"type":"string","description":"Recipient client name"},"amdSurrogate":{"type":"string","description":"AMD Surrogate"},"messageLineList":{"type":"array","description":"Message Lines","items":{"$ref":"#/definitions/MessageLine"}},"unread":{"type":"boolean"}},"description":"Represents message details"},"MessageLine":{"type":"object","properties":{"messageDatetime":{"type":"string","description":"message date time"},"content":{"type":"string","description":"message content"},"clientNumber":{"type":"string","description":"client number"},"clientName":{"type":"string","description":"client name"}},"description":"Represents a message line"},"MessageList":{"type":"object","properties":{"messageList":{"type":"array","description":"List of messages","items":{"$ref":"#/definitions/MessageDetail"}}},"description":"Represents a list of messages"},"MFA Enrollment Response.":{"type":"object","properties":{"token":{"type":"string","description":"Enrollment Token"}}},"NominatedBankAccount":{"type":"object","properties":{"clientNumber":{"type":"string","description":"Client Number"},"clientName":{"type":"string","description":"Client Name"},"bankAccountNumber":{"type":"string","description":"Bank Account Number"},"bankAccountName":{"type":"string","description":"Bank Account Name"},"updatedDate":{"type":"string","description":"Updated Date"}}},"NominatedBankAccountRequest":{"type":"object","properties":{"nominatedBankAccounts":{"type":"array","description":"nominated bank account list","items":{"$ref":"#/definitions/NominatedBankAccount"}}}},"NominatedBankAccountListResponse":{"type":"object","properties":{"nominatedBankAccountList":{"type":"array","description":"nominated bank account list","items":{"$ref":"#/definitions/NominatedBankAccount"}}}},"ErrorResponse":{"type":"object","properties":{"id":{"type":"string","description":"ID of the error response, nullable"},"type":{"type":"string","description":"Type of the error response, for example, BadRequest, ServerError, NotFound."},"messages":{"description":"Error Messages, could be more than one message.","$ref":"#/definitions/Messages"}},"description":"Represents an Error response."},"MessageItem":{"type":"object","properties":{"code":{"type":"string","description":"Message code"},"type":{"type":"string","description":"Message type"},"description":{"type":"string","description":"Message description"}},"description":"Represents a message item"},"Messages":{"type":"object","properties":{"headerNarrative":{"type":"string","description":"Header narrative"},"messageItems":{"type":"array","description":"Collection of message items, can be empty.","items":{"$ref":"#/definitions/MessageItem"}}},"description":"Represents a message"},"PasswordChangeRequest":{"type":"object","required":["currentPassword","newPassword"],"properties":{"currentPassword":{"type":"string","description":"Current Password"},"newPassword":{"type":"string","description":"New Password, must satisfy password policy"}},"description":"Change Password Request"},"PayeeDetails":{"type":"object","properties":{"payeeId":{"type":"string","description":"ID of the payee or the payee code in some context. The unique identifier is actually the payeeRef."},"bankAccountName":{"type":"string","description":"Bank account title"},"payeeDescription":{"type":"string","description":"Payee description"},"preferenceSequence":{"type":"string","description":"Determines the order of the display to other payees"},"bankAccountNumber":{"type":"string","description":"Bank account number, usually formatted."},"particulars":{"type":"string","description":"Description particulars - used together with analysis and reference to identify the client to the payee"},"analysis":{"type":"string","description":"Description analysis - used together with particulars and reference to identify the client to the payee"},"reference":{"type":"string","description":"Description references - used together with analysis and particulars to identify the client to the payee"},"payeeRef":{"type":"string","description":"Payee reference, the actual unique identifier of the payee. payeeId is not the actual uid because it cannot be used to distinguish is the payee only exist in 24*7 available database table."},"payeeType":{"type":"string","description":"Payee type: either P for public payee or C for customized payee","enum":["P","C"]},"payeeName":{"type":"string","description":"Payee name"},"payeeClientNumber":{"type":"string","description":"Sovereign client number of the payee"},"publicPayeeCode":{"type":"string","description":"Public payee code. Only applicable when payeeType = P"},"createdDate":{"type":"string","description":"Created Date. Format: yyyy-MM-dd"},"payeeInitials":{"type":"string","description":"Payee initials."}},"description":"Represents payee details"},"PayeeDetailsList":{"type":"object","properties":{"payeeDetailsList":{"type":"array","description":"List of payee details. Never null. Can be empty.","items":{"$ref":"#/definitions/PayeeDetails"}}},"description":"Represents a list of payee details"},"PayeeRef":{"type":"object","properties":{"payeeRef":{"type":"string","description":"Payee reference"}},"description":"Represents a payee reference"},"PayeeBasic":{"type":"object","properties":{"payeeId":{"type":"string","description":"ID of the payee or the payee code in some context. The unique identifier is actually the payeeRef."},"bankAccountName":{"type":"string","description":"Bank account title"},"payeeDescription":{"type":"string","description":"Payee description"},"preferenceSequence":{"type":"string","description":"Determines the order of the display to other payees"},"bankAccountNumber":{"type":"string","description":"Bank account number, usually formatted."},"particulars":{"type":"string","description":"Description particulars - used together with analysis and reference to identify the client to the payee"},"analysis":{"type":"string","description":"Description analysis - used together with particulars and reference to identify the client to the payee"},"reference":{"type":"string","description":"Description references - used together with analysis and particulars to identify the client to the payee"},"payeeRef":{"type":"string","description":"Payee reference, the actual unique identifier of the payee. payeeId is not the actual uid because it cannot be used to distinguish is the payee only exist in 24*7 available database table."},"payeeType":{"type":"string","description":"Payee type: either P for public payee or C for customized payee","enum":["P","C"]},"payeeName":{"type":"string","description":"Payee name"},"payeeClientNumber":{"type":"string","description":"Sovereign client number of the payee"},"publicPayeeCode":{"type":"string","description":"Public payee code. Only applicable when payeeType = P"},"createdDate":{"type":"string","description":"Created Date. Format: yyyy-MM-dd"},"payeeInitials":{"type":"string","description":"Payee initials."}},"description":"Represents payee basic information"},"PayeeBasicList":{"type":"object","properties":{"payeeBasicList":{"type":"array","description":"List of basic information for payees. Never null. Can be empty.","items":{"$ref":"#/definitions/PayeeBasic"}}},"description":"Represents a list of basic information for payees"},"PublicPayeeDetailsResponse":{"type":"object","properties":{"payeeClientNumber":{"type":"string","description":"Payee client number"},"accountNumber":{"type":"string","description":"Account number"},"publicPayeeCode":{"type":"string","description":"Public payee code"},"name":{"type":"string","description":"Name is typically used in conjunctions to identify the public payees to the client in the UI."},"effDateString":{"type":"string","description":"Effective date"},"description":{"type":"string","description":"Description is typically used in conjunctions to identify the public payees to the client in the UI."},"descriptionAnalysis":{"type":"string","description":"Description analysis"},"descriptionParticulars":{"type":"string","description":"Short description"},"descriptionReference":{"type":"string","description":"Description reference"}},"description":"Represents a public payee details response"},"PublicPayeesDetailsResponse":{"type":"object","properties":{"publicPayeeDetailsResponseList":{"type":"array","description":"Public payee details responses","items":{"$ref":"#/definitions/PublicPayeeDetailsResponse"}}},"description":"Represents a collection of public payee details responses"},"CreatePaymentResponse":{"type":"object","properties":{"message":{"type":"string","description":"Creation message"}},"description":"Message returned from the BE server when creating a payment"},"AutomaticPayment":{"type":"object","required":["accountExternalNumber","amount","firstPaymentDate","paymentFrequencyCode","productCode"],"properties":{"productCode":{"type":"string","description":"Production code for the product associated with the account that the money is taken from. Mandatory field."},"accountExternalNumber":{"type":"string","description":"Account external number for the account that money is taken from. Mandatory field."},"amount":{"type":"number","description":"Amount to pay. Must be greater than 0. Mandatory field.","minimum":0},"paymentFrequencyCode":{"type":"string","description":"Payment frequency code. M for monthly as an example. Mandatory field."},"firstPaymentDate":{"type":"string","description":"First payment date, eg: yyyy-MM-dd, like 2013-12-31. Mandatory field."},"finalPaymentDate":{"type":"string","description":"Final payment date, eg: yyyy-MM-dd, like 2013-12-31"},"payeeId":{"type":"string","description":"Payee ID"},"payeeRef":{"type":"string","description":"Payee reference"},"payeeBankAccountNumber":{"type":"string","description":"Payee Bank Account Number"},"particulars":{"type":"string","description":"Particulars"},"analysis":{"type":"string","description":"Bank account title"},"reference":{"type":"string","description":"Reference"},"automaticPaymentReference":{"type":"string","description":"Automatic payment reference is used to uniquely identify the payment. It is an optional field when creating the payment, mandatory when updating."},"skipDteRq":{"type":"string","description":"When update payment date, the backend needs to know if the update only applies to the next payment date or all the following payment dates. For example, when skipping next payment date, set this flag to Y. The default value is N. ","enum":["Y","N"]},"bankAccountNumber":{"type":"string","description":"Bank account number where this payment goes to. In 2-4-7-2 format for NZ accounts."}},"description":"Represents an automatic payment"},"BillPaymentToPayeeRequest":{"type":"object","required":["accountExternalNumber","amount","payeeId","payeeRef","paymentDate","productCode"],"properties":{"productCode":{"type":"string","description":"Production code for the product associated with the account that the money is taken from. Mandatory field."},"accountExternalNumber":{"type":"string","description":"Account external number for the account that money is taken from. Mandatory field."},"amount":{"type":"number","description":"Amount to pay. Must be greater than 0. Mandatory field."},"paymentDate":{"type":"string","description":"Payment date in the format of yyyy-MM-dd, for example 2013-12-31. Mandatory field."},"particulars":{"type":"string","description":"Particulars. Optional field."},"analysis":{"type":"string","description":"Analysis. Optional field."},"reference":{"type":"string","description":"Reference. Optional field."},"payeeId":{"type":"string","description":"Payee ID: usually in the form of a number with some leading zeros. Mandatory field. The payeeRef field is a more suitable unique identifier than this field."},"payeeRef":{"type":"string","description":"Payee reference: can be used to identify the payee. Mandatory field. The difference to payee id is that this field can tell if the payee only exist in 24*7 table."}},"description":"Represents a bill payment to payee request"},"BillPaymentToBankAccountRequest":{"type":"object","required":["accountExternalNumber","amount","bankAccountNumber","payeeAccountName","paymentDate","productCode"],"properties":{"productCode":{"type":"string","description":"Production code for the product associated with the account that the money is taken from. Mandatory field."},"accountExternalNumber":{"type":"string","description":"Account external number for the account that money is taken from. Mandatory field."},"amount":{"type":"number","description":"Amount to pay. Must be greater than 0. Mandatory field.","minimum":0},"bankAccountNumber":{"type":"string","description":"Bank account number where this payment goes to. In 2-4-7-2 format for NZ accounts. Mandatory field."},"payeeAccountName":{"type":"string","description":"Payee account name (Payee Bank Account Title). Mandatory field."},"paymentDate":{"type":"string","description":"Payment date, eg: yyyy-MM-dd So 2013-12-31 means 2013-dec-31st. Mandatory field."},"particulars":{"type":"string","description":"Particulars. Optional field."},"analysis":{"type":"string","description":"Analysis. Optional field."},"reference":{"type":"string","description":"Reference. Optional field."},"savePayee":{"type":"string","description":"Save this payee for future use. Set this flag to Y to save. The default value is N. ","enum":["Y","N"]}},"description":"Represents a bill payment to bank account request"},"BulkBillPaymentDetailDTO":{"type":"object","properties":{"clientNumber":{"type":"string"},"batchNumber":{"type":"number"},"sequenceNumber":{"type":"number"},"payeeLocation":{"type":"string"},"payeeLocationId":{"type":"string"},"bankAccountNumber":{"type":"string"},"bankAccountTitle":{"type":"string"},"payeeAlphaParticulars":{"type":"string"},"payeeAlphaAnalysis":{"type":"string"},"payeeAlphaReference":{"type":"string"},"amount":{"type":"number"},"id":{"type":"string"},"mtsSource":{"type":"string"},"update":{"type":"boolean"},"create":{"type":"boolean"},"delete":{"type":"boolean"},"createOrUpdate":{"type":"boolean"},"dtostate":{"type":"string","enum":["CREATE","READ","UPDATE","DELETE","CREATE_OR_UPDATE"]}}},"BulkBillPaymentDetailResponse":{"type":"object","properties":{"bulkBillPaymentHeader":{"description":"bulk bill payment header","$ref":"#/definitions/BulkBillPaymentHeader"},"bulkBillPaymentDetails":{"type":"array","description":"bulk bill payment detail list","items":{"$ref":"#/definitions/BulkBillPaymentDetailDTO"}}}},"BulkBillPaymentHeader":{"type":"object","properties":{"id":{"type":"string"},"clientNumber":{"type":"string","description":"Client Number"},"batchNumber":{"type":"number","description":"Batch Number"},"fromAccountProductType":{"type":"string","description":"From Account Product Type"},"fromAccountExternalNumber":{"type":"string","description":"From Account External Number"},"fromBankAccountNumber":{"type":"string","description":"From Bank Account Number"},"fromBankAccountName":{"type":"string","description":"From Bank Account Name"},"fromBankAccountBalance":{"type":"string","description":"From Bank Account Balance"},"description":{"type":"string","description":"Description"},"processDate":{"type":"string","description":"Process Date"},"createDateTime":{"type":"string","description":"Create Date Time"},"totalPaymentAmount":{"type":"number","description":"Total Payment Amount"},"numberOfPayments":{"type":"number","description":"Number Of Payments"},"status":{"type":"string","description":"Status"},"statusDescription":{"type":"string","description":"Status Description"},"statusMessage":{"type":"string","description":"Status Message"},"paymentMethod":{"type":"string","description":"Payment Method"},"authorised":{"type":"string","description":"Authorised"},"postingAction":{"type":"string","description":"Posting Action. I: Individual, T: Total of Batch."}},"description":"Bulk Bill Payment Header"},"BulkBillPaymentCreateResponse":{"type":"object","properties":{"batchNumber":{"type":"number","description":"Batch Number"}}},"BulkBillPaymentCreateRequest":{"type":"object","properties":{"bulkBillPaymentHeader":{"description":"Bulk Bill Payment Header","$ref":"#/definitions/BulkBillPaymentHeaderCreateRequest"},"bulkBillPaymentDetails":{"type":"array","description":"Bulk Bill Payment Detail List","items":{"$ref":"#/definitions/BulkBillPaymentDetailCreateRequest"}}},"description":"Bulk Bill Payment Create Request"},"BulkBillPaymentDetailCreateRequest":{"type":"object","properties":{"sequenceNumber":{"type":"number","description":"Sequence Number"},"payeeLocation":{"type":"string","description":"Payee Location"},"payeeLocationId":{"type":"string","description":"Payee Location Id"},"bankAccountNumber":{"type":"string","description":"Bank Account Number"},"bankAccountTitle":{"type":"string","description":"Bank Account Title"},"payeeAlphaParticulars":{"type":"string","description":"Payee Alpha Particulars"},"payeeAlphaAnalysis":{"type":"string","description":"Payee Alpha Analysis"},"payeeAlphaReference":{"type":"string","description":"Payee Alpha Reference"},"amount":{"type":"number","description":"Amount"}},"description":"Bulk Bill Payment Detail Create Request"},"BulkBillPaymentHeaderCreateRequest":{"type":"object","properties":{"fromAccountProductType":{"type":"string","description":"From Account Product Type"},"fromAccountExternalNumber":{"type":"string","description":"From Account External Number"},"description":{"type":"string","description":"Description"},"processDate":{"type":"string","description":"Process Date (yyyy-mm-dd format)"},"totalPaymentAmount":{"type":"number","description":"Total Payment Amount"},"numberOfPayments":{"type":"number","description":"Number Of Payments"},"postingAction":{"type":"string","description":"Posting Action. I: Individual, T: Total of Batch."},"statusMessage":{"type":"string","description":"Status Message"}},"description":"Bulk Bill Payment Header Create Request"},"BulkBillPaymentProcessResponse":{"type":"object","properties":{"message":{"type":"string","description":"message"}},"description":"Bulk Bill Payment Process Response"},"BulkBillPaymentUpdateResponse":{"type":"object","properties":{"batchNumber":{"type":"number","description":"Batch Number"}},"description":"Bulk Bill Payment Update Response"},"BulkBillPaymentDetailUpdateRequest":{"type":"object","properties":{"id":{"type":"string","description":"id"},"sequenceNumber":{"type":"number","description":"Sequence Number"},"payeeLocation":{"type":"string","description":"Payee Location"},"payeeLocationId":{"type":"string","description":"Payee Location Id"},"bankAccountNumber":{"type":"string","description":"Bank Account Number"},"bankAccountTitle":{"type":"string","description":"Bank Account Title"},"payeeAlphaParticulars":{"type":"string","description":"Payee Alpha Particulars"},"payeeAlphaAnalysis":{"type":"string","description":"Payee Alpha Analysis"},"payeeAlphaReference":{"type":"string","description":"Payee Alpha Reference"},"amount":{"type":"number","description":"Amount"}}},"BulkBillPaymentHeaderUpdateRequest":{"type":"object","properties":{"id":{"type":"string","description":"id"},"batchNumber":{"type":"number","description":"Batch Number"},"fromAccountProductType":{"type":"string","description":"From Account Product Type"},"fromAccountExternalNumber":{"type":"string","description":"From Account External Number"},"description":{"type":"string","description":"Description"},"processDate":{"type":"string","description":"Process Date (yyyy-mm-dd format)"},"totalPaymentAmount":{"type":"number","description":"Total Payment Amount"},"numberOfPayments":{"type":"number","description":"Number Of Payments"},"postingAction":{"type":"string","description":"Posting Action. I: Individual, T: Total of Batch."},"statusMessage":{"type":"string","description":"Status Message"}},"description":"Bulk Bill Payment Header Create Request"},"BulkBillPaymentUpdateRequest":{"type":"object","properties":{"bulkBillPaymentHeader":{"description":"Bulk Bill Payment Header","$ref":"#/definitions/BulkBillPaymentHeaderUpdateRequest"},"bulkBillPaymentDetails":{"type":"array","description":"Bulk Bill Payment Detail List","items":{"$ref":"#/definitions/BulkBillPaymentDetailUpdateRequest"}}},"description":"Bulk Bill Payment Update Request"},"BulkBillPaymentAutoUpdateRequest":{"type":"object","properties":{"bulkBillPaymentHeader":{"description":"Bulk Bill Payment Header","$ref":"#/definitions/BulkBillPaymentHeaderUpdateRequest"},"bulkBillPaymentDetails":{"type":"array","description":"Bulk Bill Payment Detail List","items":{"$ref":"#/definitions/BulkBillPaymentDetailUpdateRequest"}}},"description":"Bulk Bill Payment Auto Update Request"},"PaymentApprovalDetailResponse":{"type":"object","properties":{"clientName":{"type":"string","description":"Client name"},"createdOn":{"type":"string","description":"Created on"},"statusDescription":{"type":"string","description":"Status description"},"paymentFrom":{"type":"string","description":"Payment from"},"paymentTo":{"type":"string","description":"Payment to"},"paymentType":{"type":"string","description":"Payment type"},"paymentParticulars":{"type":"string","description":"Payment particulars"},"paymentEffectiveDate":{"type":"string","description":"Payment effective date"},"paymentCode":{"type":"string","description":"Payment code"},"paymentExpiryDate":{"type":"string","description":"Payment expiry date"},"paymentReference":{"type":"string","description":"Payment reference"},"paymentFrequency":{"type":"string","description":"Payment frequency"},"paymentAmount":{"type":"number","description":"Payment amount"},"locationType":{"type":"string","description":"Location type"},"locationSurrogate":{"type":"string","description":"Location surrogate"},"nextPaymentDate":{"type":"string","description":"Next payment date"},"unprocessedType":{"type":"string","description":"Unprocessed Type"}},"description":"Represents a payment approval detail request"},"ApprovalRequestOperation":{"type":"object","properties":{"locationType":{"type":"string","description":"Location type"},"locationSurrogate":{"type":"string","description":"Location surrogate"}},"description":"Represents a approval request operation"},"PaymentApproval":{"type":"object","properties":{"locationType":{"type":"string","description":"Location surrogate"},"locationSurrogate":{"type":"string","description":"Location surrogate"},"paymentType":{"type":"string","description":"payment type"},"clientName":{"type":"string","description":"Client name"},"createdOn":{"type":"string","description":"Created on"},"statusCode":{"type":"string","description":"Status code"},"statusDescription":{"type":"string","description":"Status description"},"paymentAmount":{"type":"number","description":"Payment amount"},"externalAccountNumber":{"type":"string","description":"External account number"},"productTypeCode":{"type":"string","description":"Product type code"},"nextPaymentDate":{"type":"string","description":"Next Payment Date, ISO format"},"paymentFromBankAccountNumber":{"type":"string","description":"from bank account"},"paymentFromAccountName":{"type":"string","description":"from account name"},"paymentToBankAccountNumber":{"type":"string","description":"to bank account number"},"paymentToAccountName":{"type":"string","description":"to account name"},"paymentExpiryDate":{"type":"string","description":"payment expiry date"},"paymentFrequency":{"type":"string","description":"payment frequency"},"paymentParticulars":{"type":"string","description":"payment particulars"},"paymentCode":{"type":"string","description":"payment code"},"paymentReference":{"type":"string","description":"payment reference"},"unprocessedType":{"type":"string","description":"Unprocessed Type"},"bulkBillPaymentBatchNumber":{"type":"number","description":"Bulk Bill Payment Batch Number"},"bulkBillPaymentClientNumber":{"type":"string","description":"Bulk Bill Payment Client Number"},"bulkBillPaymentDescription":{"type":"string","description":"Bulk Bill Payment Description"},"bulkBillPaymentNumberOfPayments":{"type":"string","description":"Bulk Bill Payment Number Of Payments"}},"description":"Represents a approval request operation"},"PaymentApprovalResponse":{"type":"object","properties":{"paymentApprovalList":{"type":"array","description":"List of payment approval responses","items":{"$ref":"#/definitions/PaymentApproval"}}},"description":"Represents a collection of payment approval responses"},"PaymentApprovalStatus":{"type":"object","properties":{"statusCode":{"type":"string","description":"Status code"},"statusDesc":{"type":"string","description":"Status description"}},"description":"Represents a payment approval status"},"PaymentApprovalStatusResponse":{"type":"object","properties":{"paymentApprovalStatusList":{"type":"array","description":"List of payment approval status responses","items":{"$ref":"#/definitions/PaymentApprovalStatus"}}},"description":"Represents a collection of payment approval status responses"},"CancelPendingPaymentReq":{"type":"object","required":["paymentReference","paymentType"],"properties":{"paymentReference":{"type":"string","description":"Reference for the payment, for automatic payment, use value in the automaticPaymentReference field"},"paymentType":{"type":"string","description":"Type of pending payment, could be AP (automatic_payment), BP (bill_payment) or TR (transfer)."},"accountExternalNumber":{"type":"string","description":"Account Number for the payment to be withdrawn from, only required when cancelling a AP."},"productCode":{"type":"string","description":"Product Code for the account that the payment is made from, only required when cancelling a AP."}},"description":"Represents a cancel payment request action."},"PendingPayment":{"type":"object","properties":{"productCode":{"type":"string","description":"Production code for the product associated with the account that the money is taken from. Only availalbe for AP."},"productDesc":{"type":"string","description":"Production Description"},"type":{"type":"string","description":"Type of pending payment, could be AP (automatic_payment), BP (bill_payment) or TR (transfer)."},"accountExternalNumber":{"type":"string","description":"Account external number for the account that money is taken from."},"accountName":{"type":"string","description":"The name for the account that money is taken from."},"amount":{"type":"number","description":"Amount to pay. Must be greater than 0."},"availableBalance":{"type":"number","description":"The current available balance"},"paymentFrequencyCode":{"type":"string","description":"Payment frequency code. Empty means no payment frequence. \n• D = Daily,\n• W = Weekly,\n• F = Forthnightly,\n• M = Monthly,\n• Q = Quarterly,\n• Y = Yearly"},"previousPaymentDate":{"type":"string","description":"previous payment date, eg: yyyy-MM-dd, like 2013-12-31."},"nextPaymentDate":{"type":"string","description":"Next payment date, eg: yyyy-MM-dd, like 2013-12-31. For BP and TR, the effective date should be the same as the next payment date"},"nextNextPaymentDate":{"type":"string","description":"The next after the next payment date, taking into account banking holidays etc. yyyy-MM-dd."},"finalPaymentDate":{"type":"string","description":"Final payment date, eg: yyyy-MM-dd, like 2013-12-31"},"payeeCode":{"type":"string","description":"The Sovereign Client number of the payee."},"payeeName":{"type":"string","description":"Name of the payee"},"payeeBankAccount":{"type":"string","description":"bank account of the payee"},"payeeId":{"type":"string","description":"Payee ID: usually in the form of a number with some leading zeros. Only returned for AP. "},"particulars":{"type":"string","description":"Particulars"},"analysis":{"type":"string","description":"Bank account title"},"reference":{"type":"string","description":"Reference"},"paymentReference":{"type":"string","description":"payment reference is used to uniquely identify the payment. It is an optional field when creating the payment, mandatory when updating/cancelling automatic/bill payment."},"bankAccountNumber":{"type":"string","description":"Bank account number where this payment comes from. In 2-4-7-2 format for NZ accounts."},"payeeAccountName":{"type":"string","description":"Payee account name (Payee Bank Account Title)."},"effectiveDate":{"type":"string","description":"Effective Date of a bill pay. Does not apply to autopay/transfer."},"transferToAccountNumber":{"type":"string","description":"Only used for TR."},"updatable":{"type":"boolean","description":"Some of the AP are not updatable or cancellable. For example, when AP does not have a payee associated."},"processing":{"type":"boolean","description":"When there are updates to the payment, it may take some time to process. This flag indicates that the result of pending payments retrieval may not be up to date."},"approvalRequired":{"type":"boolean","description":"Approval required."},"rpxfer":{"type":"string","description":"Regular Payment Internal Transfer"}},"description":"Represents a pending payment, which could be automatic, billpay, or transfer."},"PendingPayments":{"type":"object","properties":{"pendingPaymentList":{"type":"array","description":"Represents a collection of Pending Payments","items":{"$ref":"#/definitions/PendingPayment"}}},"description":"Represents a collection of pending payments."},"PinUpdateRequest":{"type":"object","required":["pin"],"properties":{"pin":{"type":"string","description":"The pin to update/create to. Mandatory field."},"uuid":{"type":"string"}},"description":"Represents a collection of automatic payment frequencies"},"StatementTransaction":{"type":"object","properties":{"trancode":{"type":"string","description":"Transaction code."},"postingreference":{"type":"string","description":"Posting reference."},"transactionSequence":{"type":"number","description":"Sequence number of the transaction which uniquely identifies this transaction"},"transactionDate":{"type":"string","description":"Transaction date ISO format."},"transactionTime":{"type":"string","description":"Transaction time."},"creditORDebit":{"type":"string","description":"Indicates whether the transaction was credit or debit"},"amount":{"type":"number","description":"Amount."},"runningBalance":{"type":"number","description":"Running balance."},"transactionMethod":{"type":"string","description":"Transaction method."},"description":{"type":"string","description":"Description."},"affectsCurrentBalance":{"type":"string","description":"Whether the transaction affects the current balance or not"},"payeeName":{"type":"string","description":"Payee name (transfer to) for this transaction"},"payeeBankAccount":{"type":"string","description":"Payee bank account (transfer to) for this transaction"},"transactionPending":{"type":"string","description":"Whether the transaction is pending or not. Y/N flag"},"reference":{"type":"string","description":"Reference for the transaction, user entered field"},"analysis":{"type":"string","description":"Analysis for the transaction, user entered field"},"particulars":{"type":"string","description":"Particulars for the transaction, user entered field"},"processing":{"type":"string","description":"Y/N Flag, when Y, means it has passed validation and is being processed, typically will finish with 20 seconds. The difference to a transactionPending status is that pending normally means it is scheduled and not processed yet. "},"approvalDate":{"type":"string","description":"Transaction approval date ISO format."},"approvalTime":{"type":"string","description":"Transaction approval time."},"intlTransactionDescription":{"type":"string"}},"description":"Represents a collection of payment approval status responses"},"TransactionHistoryResponse":{"type":"object","properties":{"moduleId":{"type":"string","description":"Module ID from request (DD = Lending, CC = Funding)","enum":["DD","CC"]},"accountNumber":{"type":"string","description":"Account number from request"},"fromDate":{"type":"string","description":"From date in ISO format from request"},"toDate":{"type":"string","description":"To date in ISO format from request"},"transactionSequence":{"type":"number","description":"Transaction sequence from request"},"numTranstoDisplay":{"type":"integer","format":"int32","description":"Number of transactions to display from request"},"transactionList":{"type":"array","description":"List of transactions","items":{"$ref":"#/definitions/StatementTransaction"}},"creditLimit":{"type":"number","description":"Credit Limit"},"cutoffDate":{"type":"string","description":"Cutoff Date ISO format"},"cutoffTransactionSequence":{"type":"number","description":"Cutoff Transaction Sequence"}},"description":"Represents a transaction history response"},"LoginInfo":{"type":"object","properties":{"clientNumber":{"type":"string","description":"Client number"}},"description":"Represents a login info"},"TransferCreateTransferPaymentResponse":{"type":"object","properties":{"status":{"type":"string","description":"Status"},"message":{"type":"string","description":"Message"},"errorMessage":{"type":"string","description":"Error message"}},"description":"Represents a transfer create transfer payment response"},"TransferAccount":{"type":"object","properties":{"number":{"type":"string","description":"Number"},"formatedNumber":{"type":"string","description":"Formatted number"},"name":{"type":"string","description":"Name."},"balance":{"type":"number","format":"double","description":"Balance."},"formatedBalanced":{"type":"string","description":"Formatted balance"},"product":{"type":"string","description":"Product."},"productdesc":{"type":"string","description":"Product description"},"bankAccount":{"type":"string","description":"Bank account."},"internalAccountNumber":{"type":"string","description":"Internal account number"},"sequence":{"type":"integer","format":"int32","description":"Transfer sequence"}},"description":"Represents a transfer account"},"TransferCreateTransferPaymentRequest":{"type":"object","required":["amount","fromAccount","toAccount"],"properties":{"fromAccount":{"description":"From account. Mandatory field.","$ref":"#/definitions/TransferAccount"},"toAccount":{"description":"To account. Mandatory field.","$ref":"#/definitions/TransferAccount"},"amount":{"type":"number","format":"double","description":"Amount. Mandatory field."},"effectiveDate":{"type":"string","format":"date-time","description":"Effective date. Optional field."},"transferFrequency":{"type":"string","description":"Transfer frequency. Optional field."},"endDate":{"type":"string","format":"date-time","description":"End date. Optional field."}},"description":"Represents a transfer account"},"TransferToAccountsResponse":{"type":"object","properties":{"transferToAccounts":{"type":"array","description":"List of transfer to accounts","items":{"$ref":"#/definitions/TransferAccount"}}},"description":"Represents a collection of transfer to accounts responses"},"TransferFromAccountsResponse":{"type":"object","properties":{"transferFromAccounts":{"type":"array","description":"List of transfer accounts","items":{"$ref":"#/definitions/TransferAccount"}}},"description":"Represents a collection of transfer from account responses"},"UserInfo":{"type":"object","properties":{"irdNumber":{"type":"string"},"gstNumber":{"type":"string"},"title":{"type":"string"},"suppressTitle":{"type":"string","description":"Y/N flag, if customer wants to be called with a title."},"forename":{"type":"string"},"lastName":{"type":"string"},"cardName":{"type":"string"},"mailingAddress":{"type":"string"},"emailAddress":{"type":"string"},"ageLimitMet":{"type":"boolean","description":"If user age limit met as per configured value."},"keepSafeQuestionsRequired":{"type":"boolean"},"clientType":{"type":"string"}},"description":"A user is a 'Sovereign customer', or 'account holder' in the banking context."}}}