AIS - Account Information Service
GET /ob/Ais/access/options/{connectorId}
(https://docs.exthand.com/reference/get_ob-ais-access-options-connectorid)
Purpose
This operation is used to retrieve account access options. See specific (page)[https://docs.exthand.com/docs/ais-options].
You'll be able to determine how to request account access for the specific bank and which data is optional or mandatory.
Request
- Method: GET
- URL: /ob/Ais/access/options/{connectorId}
- Parameters:
- connectorId: ID of the connector
- Headers:
- X-Request-ID
- X-Correlation-ID
- Request Body: None
Response
- Headers:
- X-Request-ID
- X-Correlation-ID
- X-Operation-ID
- Response Body
{
"maxConsentDuration": 0,
"accessOption": 0,
"currencyOption": 0,
"linkingOption": 0,
"transactionsSavingDateField": 0,
"accountSchemes": [
0
],
"browserData": {
"psuIp": 0,
"psuIpPort": 0,
"psuAccept": 0,
"psuAcceptCharset": 0,
"psuAcceptEncoding": 0,
"psuAcceptLanguage": 0,
"psuDate": 0,
"psuDeviceId": 0,
"psuGeoLocation": 0,
"psuHttpMethod": 0,
"psuLastLoggedTime": 0,
"psuReferer": 0,
"psuUserAgent": 0
},
"additionalPropertiesRequested": [
{
"name": "string",
"title": "string",
"required": true,
"description": "string",
"template": "string"
}
],
"decoupledUpdate": 0
}
Example 1
Gets the account access options for the bank with "connectorId" 973. We receive an object with the following properties:
-
maxConsentDuration: maximum duration, in days, of the account access consent
-
accessOption: type of access permitted. In this case, 0 corresponds to a "Customizable" access which means the PSU may provide specific account numbers to grant access to. If none are specified, the bank will either grant access to all of them or allow account selection during SCA.
-
currencyOption: specifies if the account's currency needs to be sent in the request. In this case, 0 corresponds to "NA" which means it's not sent.
-
linkingOption: tells us if the bank allows multiple consents for the same PSU or not. In this example, 1 means a "Separate" linking option which means multiple consents are allowed for the same PSU.
-
accountSchemes: it's a list of the account schemes allowed in the account access request. For this example, the list contains 20 which means it allows IBAN.
-
additionalPropertiesRequested: it's a list of several additional properties that are needed for the request. In this case, it's empty so nothing else will be required.
-
browserData, indicate the data you can get from the browser and that are
- Required (0) – The field is required.
- Optional (1) – The field is optional.
- Unused (2) – The field won't be transmitted to the bank
- RequiredIfInternational (3) – The field is required if in international use (creditor from different country than debtor).
It will simplify you life if you send the most you can for every connectors.
-
decoupleUpdate, see this page .
-
Call: GET /ob/Ais/access/options/2
-
Response Body
{
"maxConsentDuration": 179,
"accessOption": 1,
"currencyOption": 0,
"linkingOption": 1,
"transactionsSavingDateField": 0,
"accountSchemes": [
20
],
"browserData": {
"psuIp": 2,
"psuIpPort": 2,
"psuAccept": 2,
"psuAcceptCharset": 2,
"psuAcceptEncoding": 2,
"psuAcceptLanguage": 2,
"psuDate": 2,
"psuDeviceId": 2,
"psuGeoLocation": 2,
"psuHttpMethod": 2,
"psuLastLoggedTime": 2,
"psuReferer": 2,
"psuUserAgent": 2
},
"additionalPropertiesRequested": [],
"decoupledUpdate": 0
}
Example 2
Gets the account access options for the bank with "connectorId" 43. We receive an object with the following properties:
-
maxConsentDuration: maximum duration, in days, of the account access consent
-
accessOption: type of access permitted. In this case, 3 corresponds to a "Detailed" access which means the PSU must provide specific account numbers to grant access to.
-
currencyOption: specifies if the account's currency needs to be sent in the request. In this case, 0 corresponds to "NA" which means it's not sent.
-
linkingOption: tells us if the bank allows multiple consents for the same PSU or not. In this example, 0 means a "Linked" linking option which means creating a new consent will invalidate the previous one.
-
accountSchemes: it's a list of the account schemes allowed in the account access request. For this example, the list contains 20 which means it allows IBAN.
-
additionalPropertiesRequested: it's a list of several additional properties that are needed for the request. In this case, it's empty so nothing else will be required.
-
Call: GET /ob/Ais/access/options/43
-
Response Body
{
"maxConsentDuration": 89,
"accessOption": 3,
"currencyOption": 0,
"linkingOption": 0,
"transactionsSavingDateField": 0,
"accountSchemes": [
20
],
"browserData": {
"psuIp": 2,
"psuIpPort": 2,
"psuAccept": 2,
"psuAcceptCharset": 2,
"psuAcceptEncoding": 2,
"psuAcceptLanguage": 2,
"psuDate": 2,
"psuDeviceId": 2,
"psuGeoLocation": 2,
"psuHttpMethod": 2,
"psuLastLoggedTime": 2,
"psuReferer": 2,
"psuUserAgent": 2
},
"additionalPropertiesRequested": [],
"decoupledUpdate": 0
}
POST /ob/Ais/access
(https://docs.exthand.com/reference/post_ob-ais-access)
Purpose
This is the first step of the flow to get access to the account(s) of a PSU. A request is created and sent to the bank asking for access to the PSU's accounts. The fields necessary for this request can be requested by using the previous endpoint to get the options.
Request
- Method: POST
- URL: /ob/Ais/access
- Parameters: None
- Query Parameters: None
- Headers:
- X-Request-ID
- X-Correlation-ID
- Request Body
{
"connectorId": 0,
"userContext": "string",
"bankSettings": {
"settingsId": "string",
"ncaId": "string",
"appClientId": "string",
"appClientSecret": "string",
"tlsCertificateName": "string",
"tlsCertificatePassword": "string",
"signingCertificateName": "string",
"signingCertificatePassword": "string",
"appApiKey": "string",
"pemFileUrl": "string",
"signingCertificateKeyId": "string",
"tlsCertificateKeyId": "string",
"encryptionCertificateName": "string",
"encryptionCertificatePassword": "string",
"encryptionCertificateKeyId": "string",
"bankTlsPublicKeyName": "string",
"bankSigningPublicKeyName": "string",
"bankEncryptionPublicKeyName": "string"
},
"tppContext": {
"tppId": "string",
"app": "string",
"flow": "string",
"transaction": "string",
"unit": "string"
},
"accountsAccessRequest": {
"psuIp": "string",
"psuIpPort": "string",
"psuAccept": "string",
"psuAcceptCharset": "string",
"psuAcceptEncoding": "string",
"psuAcceptLanguage": "string",
"psuDate": "string",
"psuDeviceId": "string",
"psuGeoLocation": "string",
"psuHttpMethod": "string",
"psuLastLoggedTime": "string",
"psuReferer": "string",
"psuUserAgent": "string",
"flowId": "string",
"redirectUrl": "string",
"frequencyPerDay": 0,
"additionalProperties": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"singleAccount": {
"iban": "string",
"currency": "string",
"genericAccountIdentification": {
"identification": "string",
"schemeName": 0,
"issuer": "string"
}
},
"transactionAccounts": [
{
"iban": "string",
"currency": "string",
"genericAccountIdentification": {
"identification": "string",
"schemeName": 0,
"issuer": "string"
}
}
],
"balanceAccounts": [
{
"iban": "string",
"currency": "string",
"genericAccountIdentification": {
"identification": "string",
"schemeName": 0,
"issuer": "string"
}
}
]
}
}
Response
- Headers:
- X-Request-ID
- X-Correlation-ID
- X-Operation-ID
- Response Body
{
"resultStatus": 0,
"statusInfo": 0,
"dataString": "string",
"options": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"flowContext": "string",
"userContext": "string",
"rawResponse": "string"
}
Example 1
Initiates an account access request for the bank with "connectorId" 973. As we've seen with the options, this connector does not require sending account numbers to grant access to. For this example we send an object with the following properties:
- connectorId: the ID of the connector
- userContext: the current User Context between this PSU and Connector
- accountsAccessRequest: object with details for the access request
- psuIp: the IP of the PSU
- flowId: ID to be used for the Flow Context
- redirectUrl: The PSU will eventually need to use his bank credentials in order to authenticate with the bank. This URL is where the bank will redirect to after SCA is complete.
- frequencyPerDay: This field indicates the requested maximum frequency for an access without PSU involvement per day. Between 1 and 4.
We get the following response object:
-
resultStatus: result code of the call. In this example a 2 was returned which means it's a "Redirect".
-
statusInfo: more information about the status. We received a 0 for "Default". This means the bank has a default behavior.
-
dataString: Data to be used in the next step. Depends on the status. In this case we get a URL to redirect to.
-
options: List of options to choose from in case of resultStatus = 6 (Select_Option). null in this case.
-
flowContext: the Flow Context for the current flow.
-
userContext: the updated User Context.
-
rawResponse: rawData from the bank.
-
Call: POST /ob/Ais/access
-
Request Body
{
"connectorId": 973,
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[],\"Accounts\":[],\"PaymentToken\":null,\"RedirectUrl\":null}",
"accountsAccessRequest": {
"psuIp": "192.1.3.4",
"flowId": "305f3fec-379a-445e-aca0-d0e9f3e2a9e3",
"redirectUrl": "https://example.com/callback",
"frequencyPerDay": 4
}
}
- Response Body
{
"resultStatus": 2,
"statusInfo": 0,
"dataString": "https://bank1.com/psd2/xs2a/authorize?response_type=code&client_id=VALID_CLIENT_ID1&scope=AIS&state=305f3fec-379a-445e-aca0-d0e9f3e2a9e3&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&code_challenge=E-MuqzMWD36QpFxG0k7Ril9mjy5nQBAXPik6pTwjtcY&code_challenge_method=S256",
"options": null,
"flowContext": "{\"Id\":\"305f3fec-379a-445e-aca0-d0e9f3e2a9e3\",\"ConnectorType\":973,\"AccountAccessProperties\":{\"ValidUntil\":\"2024-02-05T00:00:00+00:00\"},\"AdditionalProperties\":{\"Payload\":\"{\\r\\n \\\"access\\\": {\\r\\n \\\"allPsd2\\\": \\\"allAccounts\\\"\\r\\n },\\r\\n \\\"combinedServiceIndicator\\\": false,\\r\\n \\\"frequencyPerDay\\\": 4,\\r\\n \\\"recurringIndicator\\\": true,\\r\\n \\\"validUntil\\\": \\\"2024-02-05\\\"\\r\\n}\",\"PsuIp\":\"192.1.3.4\"},\"FlowType\":0,\"CodeVerifier\":\"ec9ae134-3683-4762-9f2f-3cbb54ea28a2_e60187ea-af56-48c1-8088-4fdaeaff28a0\",\"RedirectUrl\":\"https://example.com/callback\"}",
"userContext": null,
"rawResponse": ""
}
Example 2
Initiates an account access request for the bank with "connectorId" 43. As we've seen with the options, this connector requires sending account numbers to grant access to. For this example we send an object with the following properties:
- connectorId: the ID of the connector
- userContext: the current User Context between this PSU and Connector
- accountsAccessRequest: object with details for the access request
- psuIp: the IP of the PSU
- flowId: ID to be used for the Flow Context
- redirectUrl: The PSU will eventually need to use his bank credentials in order to authenticate with the bank. This URL is where the bank will redirect to after SCA is complete.
- frequencyPerDay: This field indicates the requested maximum frequency for an access without PSU involvement per day. Between 1 and 4.
- transactionAccounts: list of accounts to grant access to transactions.
- iban: IBAN of the account
- balanceAccounts: list of accounts to grant access to balances.
- iban: IBAN of the account
We get the following response object:
-
resultStatus: result code of the call. In this example a 2 was returned which means it's a "Redirect".
-
statusInfo: more information about the status. We received a 0 for "Default". This means the bank has a default behavior.
-
dataString: Data to be used in the next step. Depends on the status. In this case we get a URL to redirect to.
-
options: List of options to choose from in case of resultStatus = 6 (Select_Option). null in this case.
-
flowContext: the Flow Context for the current flow.
-
userContext: the updated User Context.
-
rawResponse: rawData from the bank.
-
Call: POST /ob/Ais/access
-
Request Body
{
"connectorId": 43,
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[],\"Accounts\":[],\"PaymentToken\":null,\"RedirectUrl\":null}",
"accountsAccessRequest": {
"psuIp": "192.1.3.4",
"flowId": "8274a807-a3b8-45ac-8d96-fc9e711b57a3",
"redirectUrl": "https://example.com/callback",
"frequencyPerDay": 4,
"transactionAccounts": [
{
"iban": "AT099900000000001511"
}
],
"balanceAccounts": [
{
"iban": "AT099900000000001511"
}
]
}
}
- Response Body
{
"resultStatus": 2,
"statusInfo": 0,
"dataString": "https://bank2.com/psd2?consent_id=e6151d43-dca8-4fe1-b139-3a89bfeb57a2&redirectBackUrl=https%3A%2F%2Fexample.com%2Fcallback%3FflowId%3D8274a807-a3b8-45ac-8d96-fc9e711b57a3",
"options": null,
"flowContext": "{\"Id\":\"8274a807-a3b8-45ac-8d96-fc9e711b57a3\",\"ConnectorType\":43,\"AccountAccessProperties\":{\"ConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"TransactionAccounts\":[\"AT099900000000001511\"],\"BalanceAccounts\":[\"AT099900000000001511\"]},\"AdditionalProperties\":{},\"FlowType\":0}",
"userContext": null,
"rawResponse": "{\"consentStatus\":\"received\",\"consentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"scaMethods\":[],\"chosenScaMethod\":null,\"challengeData\":null,\"_links\":{\"scaRedirect\":{\"href\":\"https://bank2.com/psd2?consent_id=e6151d43-dca8-4fe1-b139-3a89bfeb57a2&redirectBackUrl=https%3A%2F%2Fexample.com%2Fcallback%3FflowId%3D8274a807-a3b8-45ac-8d96-fc9e711b57a3"},\"scaOAuth\":null,\"confirmation\":null,\"startAuthorisation\":null,\"startAuthorisationWithPsuIdentification\":null,\"startAuthorisationWithPsuAuthentication\":null,\"startAuthorisationWithEncryptedPsuAuthentication\":null,\"startAuthorisationWithAuthenticationMethodSelection\":null,\"startAuthorisationWithTransactionAuthorisation\":null,\"self\":{\"href\":\"/v1/consents/e6151d43-dca8-4fe1-b139-3a89bfeb57a2\"},\"status\":{\"href\":\"/v1/consents/e6151d43-dca8-4fe1-b139-3a89bfeb57a2/status\"},\"scaStatus\":null},\"psuMessage\":null}"
}
GET /ob/findFlowId
(https://docs.exthand.com/reference/get_ob-findflowid)
Purpose
Extracts the flow ID from the URL called back by the bank after SCA.
Request
- Method: GET
- URL: /ob/findFlowId?queryString
- Parameters: None
- Query Parameters:
- queryString: queryString received in the callback
- Headers: None
- Request Body: None
Response - Headers: None
- Response Body: string with the flow Id
Example
- Call: GET /ob/findFlowId?flowId=8274a807-a3b8-45ac-8d96-fc9e711b57a3&state=e25cacc9-88c6-42fb-9ec8-2bb3ebedf0de
- Response Body: 8274a807-a3b8-45ac-8d96-fc9e711b57a3
PUT /ob/Ais/access
(https://docs.exthand.com/reference/put_ob-ais-access)
Purpose
This handles the next steps of getting access to account. This may be called multiple time like in the case of more information being requested by the bank.
Request
- Method: PUT
- URL: /ob/Ais/access
- Parameters: None
- Query Parameters: None
- Headers:
- X-Request-ID
- X-Correlation-ID
- Request Body
{
"flow": "string",
"dataString": "string",
"userContext": "string",
"bankSettings": {
"settingsId": "string",
"ncaId": "string",
"appClientId": "string",
"appClientSecret": "string",
"tlsCertificateName": "string",
"tlsCertificatePassword": "string",
"signingCertificateName": "string",
"signingCertificatePassword": "string",
"appApiKey": "string",
"pemFileUrl": "string",
"signingCertificateKeyId": "string",
"tlsCertificateKeyId": "string",
"encryptionCertificateName": "string",
"encryptionCertificatePassword": "string",
"encryptionCertificateKeyId": "string",
"bankTlsPublicKeyName": "string",
"bankSigningPublicKeyName": "string",
"bankEncryptionPublicKeyName": "string"
},
"tppContext": {
"tppId": "string",
"app": "string",
"flow": "string",
"transaction": "string",
"unit": "string"
}
}
Response
- Headers:
- X-Request-ID
- X-Correlation-ID
- X-Operation-ID
- Response Body
{
"resultStatus": 0,
"statusInfo": 0,
"dataString": "string",
"options": {
"additionalProp1": "string",
"additionalProp2": "string",
"additionalProp3": "string"
},
"flowContext": "string",
"userContext": "string",
"rawResponse": "string"
}
Example 1
Initiates an account access request for the bank with "connectorId" 973. For this example we send an object with the following properties:
- flow: the current Flow Context
- userContext: the current User Context between this PSU and Connector
- dataString: the query string in the URL called back by the bank after SCA.
We get the following response object:
-
resultStatus: result code of the call. In this example a 2 was returned which means it's a "Redirect".
-
statusInfo: more information about the status. We received a 0 for "Default". This means the bank has a default behavior.
-
dataString: Data to be used in the next step. In this case it's a URL because we need to perform a redirect.
-
options: List of options to choose from in case of resultStatus = 6 (Select_Option). null in this case.
-
flowContext: the updated Flow Context.
-
userContext: the updated User Context. After this call the User Context is filled with the current consent information.
-
rawResponse: rawData from the bank.
-
Call: PUT /ob/Ais/access
-
Request Body
{
"flow": "{\"Id\":\"305f3fec-379a-445e-aca0-d0e9f3e2a9e3\",\"ConnectorType\":973,\"AccountAccessProperties\":{\"ValidUntil\":\"2024-02-05T00:00:00+00:00\"},\"AdditionalProperties\":{\"Payload\":\"{\\r\\n \\\"access\\\": {\\r\\n \\\"allPsd2\\\": \\\"allAccounts\\\"\\r\\n },\\r\\n \\\"combinedServiceIndicator\\\": false,\\r\\n \\\"frequencyPerDay\\\": 4,\\r\\n \\\"recurringIndicator\\\": true,\\r\\n \\\"validUntil\\\": \\\"2024-02-05\\\"\\r\\n}\",\"PsuIp\":\"192.1.3.4\"},\"FlowType\":0,\"CodeVerifier\":\"ec9ae134-3683-4762-9f2f-3cbb54ea28a2_e60187ea-af56-48c1-8088-4fdaeaff28a0\",\"RedirectUrl\":\"https://example.com/callback\"}",
"dataString": "?code=d193e082-7e40-11ee-b6c8-4fb732164343&state=305f3fec-379a-445e-aca0-d0e9f3e2a9e3",
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[],\"Accounts\":[],\"PaymentToken\":null,\"RedirectUrl\":null}"
}
- Response Body
{
"resultStatus": 2,
"statusInfo": 0,
"dataString": "bank1.com/api-oauth-xs2a-sb/services/rest/sca/v1.1/eyJ6aXAiOiJERUYiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eNqqVipKLc4vLUpO9UxRslJKTbZMMjIwMtE1TzUx0DU0TE3VTbI0SNQ1SEozNTExsDBLNDFU0oHrCaksSAXqcswsds7PK07NK1GqBQAAAP__.4qmXCjJ56qSfboij39pDCZfUVfCAtGpRuXO233GP-Gw",
"options": null,
"flowContext": "{\"Id\":\"305f3fec-379a-445e-aca0-d0e9f3e2a9e3\",\"ConnectorType\":973,\"AccountAccessProperties\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\"},\"AdditionalProperties\":{\"Payload\":\"{\\r\\n \\\"access\\\": {\\r\\n \\\"allPsd2\\\": \\\"allAccounts\\\"\\r\\n },\\r\\n \\\"combinedServiceIndicator\\\": false,\\r\\n \\\"frequencyPerDay\\\": 4,\\r\\n \\\"recurringIndicator\\\": true,\\r\\n \\\"validUntil\\\": \\\"2024-02-05\\\"\\r\\n}\",\"PsuIp\":\"192.1.3.4\"},\"FlowType\":0,\"CodeVerifier\":\"8b8ab163-b653-44eb-a6e7-1ebf850c36a2_73835827-f4e7-4af0-94b7-7c8cdbb09585\",\"RedirectUrl\":\"https://example.com/callback\"}",
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":\"d193e083-7e40-11ee-b6c8-4fb732164343\",\"Token\":\"Bearer e9e353a6-7e40-11ee-b6c8-4fb732164343\",\"TokenValidUntil\":\"2024-11-07T14:11:23.1017195+00:00\",\"SettingsId\":null}],\"Accounts\":[],\"PaymentToken\":null,\"RedirectUrl\":null}",
"rawResponse": "{\"consentStatus\":\"received\",\"consentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"_links\":{\"scaRedirect\":{\"href\":\"bank1.com/api-oauth-xs2a-sb/services/rest/sca/v1.1/eyJ6aXAiOiJERUYiLCJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eNqqVipKLc4vLUpO9UxRslJKTbZMMjIwMtE1TzUx0DU0TE3VTbI0SNQ1SEozNTExsDBLNDFU0oHrCaksSAXqcswsds7PK07NK1GqBQAAAP__.4qmXCjJ56qSfboij39pDCZfUVfCAtGpRuXO233GP-Gw\"},\"self\":{\"href\":\"/v1.1/consents/ec9b2024-7e40-11ee-b90a-0bf544086a41\"},\"status\":{\"href\":\"/v1.1/consents/ec9b2024-7e40-11ee-b90a-0bf544086a41/status\"},\"scaStatus\":{\"href\":\"/v1.1/consents/ec9b2024-7e40-11ee-b90a-0bf544086a41/authorisations/ec9b2024-7e40-11ee-b90a-0bf544086a41\"}}}\n"
}
Since the result of this call was another redirect, after we go to the provided URL and do the requested action, we perform the call again, with updated properties. In this particular example, we use the Flow Context and User Context we got in the previous result and an empty "dataString" because the callback has no query string in the URL. The response's "resultStatus" is now 1 to signify "Done", there are no more steps. The "userContext" is updated with the requested account information.
- Call: PUT /ob/Ais/access
- Request Body
{
"flow": "{\"Id\":\"305f3fec-379a-445e-aca0-d0e9f3e2a9e3\",\"ConnectorType\":973,\"AccountAccessProperties\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\"},\"AdditionalProperties\":{\"Payload\":\"{\\r\\n \\\"access\\\": {\\r\\n \\\"allPsd2\\\": \\\"allAccounts\\\"\\r\\n },\\r\\n \\\"combinedServiceIndicator\\\": false,\\r\\n \\\"frequencyPerDay\\\": 4,\\r\\n \\\"recurringIndicator\\\": true,\\r\\n \\\"validUntil\\\": \\\"2024-02-05\\\"\\r\\n}\",\"PsuIp\":\"192.1.3.4\"},\"FlowType\":0,\"CodeVerifier\":\"8b8ab163-b653-44eb-a6e7-1ebf850c36a2_73835827-f4e7-4af0-94b7-7c8cdbb09585\",\"RedirectUrl\":\"https://example.com/callback\"}",
"dataString": "",
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":\"d193e083-7e40-11ee-b6c8-4fb732164343\",\"Token\":\"Bearer e9e353a6-7e40-11ee-b6c8-4fb732164343\",\"TokenValidUntil\":\"2024-11-07T14:11:23.1017195+00:00\",\"SettingsId\":null}],\"Accounts\":[],\"PaymentToken\":null,\"RedirectUrl\":null}"
}
- Response Body
{
"resultStatus": 1,
"statusInfo": 0,
"dataString": null,
"options": null,
"flowContext": null,
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":\"d193e083-7e40-11ee-b6c8-4fb732164343\",\"Token\":\"Bearer e9e353a6-7e40-11ee-b6c8-4fb732164343\",\"TokenValidUntil\":\"2024-11-07T14:11:23.1017195+00:00\",\"SettingsId\":null}],\"Accounts\":[{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000000000000040780458\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000000000000040780458\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES8401826450000201500191\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361786695\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361786695\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES1801822200120201933578\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361787589\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361787589\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES2501822200160201933547\",\"Description\":\"CUENTA PARA AHORROS\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361787594\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361787594\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES4901822200110201933554\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018220100000000500000000283512182\",\"GenericAccountIdentification\":null,\"Id\":\"ES018220100000000500000000283512182\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES7301826208302012068108\",\"Description\":\"CUENTA PAGO COCHE\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"IT27W0357601601015001460461\",\"GenericAccountIdentification\":null,\"Id\":\"IT27W0357601601015001460461\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES97660020000000500000000364876904\",\"Description\":\"Peppe\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"IT30E0357601601010000000013\",\"GenericAccountIdentification\":null,\"Id\":\"IT30E0357601601010000000013\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"IT30E03576016010000000010000000013\",\"Description\":\"Alberto Martin Garcia\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null}],\"PaymentToken\":null,\"RedirectUrl\":null}",
"rawResponse": null
}
Example 2
Initiates an account access request for the bank with "connectorId" 43. For this example we send an object with the following properties:
- flow: the current Flow Context
- userContext: the current User Context between this PSU and Connector
- dataString: the query string in the URL called back by the bank after SCA.
We get the following response object:
-
resultStatus: result code of the call. In this example a 1 was returned which means it's "Done". The access request is complete.
-
statusInfo: more information about the status. We received a 0 for "Default". This means the bank has a default behavior.
-
dataString: Data to be used in the next step. In this case it's null because there's nothing else to be done.
-
options: List of options to choose from in case of resultStatus = 6 (Select_Option). null in this case.
-
userContext: the updated User Context. After this call the User Context is filled with the PSU's relevant account data and the current consent.
-
rawResponse: rawData from the bank.
-
Call: PUT /ob/Ais/access
-
Request Body
{
"flow": "{\"Id\":\"8274a807-a3b8-45ac-8d96-fc9e711b57a3\",\"ConnectorType\":43,\"AccountAccessProperties\":{\"ConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"TransactionAccounts\":[\"AT099900000000001511\"],\"BalanceAccounts\":[\"AT099900000000001511\"]},\"AdditionalProperties\":{},\"FlowType\":0}",
"dataString": "?flowId=8274a807-a3b8-45ac-8d96-fc9e711b57a3",
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[],\"Accounts\":[],\"PaymentToken\":null,\"RedirectUrl\":null}"
}
- Response Body
{
"resultStatus": 1,
"statusInfo": 0,
"dataString": null,
"options": null,
"flowContext": null,
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":null,\"Token\":\"Bearer 0009NDLcDPeuWwevCpNZLMjPZicxPQBHmjUTZw4uLKucfYnA88NKv1sOT557\",\"TokenValidUntil\":\"2023-11-08T12:05:10.2977191+00:00\",\"SettingsId\":null}],\"Accounts\":[{\"TransactionsConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"AT099900000000001511\",\"GenericAccountIdentification\":null,\"Id\":\"AT099900000000001511\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT099900000000001511\",\"Description\":\"Marianne Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null},{\"TransactionsConsentId\":null,\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":null,\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"AT439900000000010017\",\"GenericAccountIdentification\":null,\"Id\":\"AT439900000000010017\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT439900000000010017\",\"Description\":\"Georg Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null}],\"PaymentToken\":null,\"RedirectUrl\":null}",
"rawResponse": null
}
POST /ob/Ais/accounts
(https://docs.exthand.com/reference/post_ob-ais-accounts)
Purpose
Gets a list of accounts for a specific User Context.
Request
- Method: POST
- URL: /ob/Ais/access
- Parameters: None
- Query Parameters: None
- Headers:
- X-Request-ID
- X-Correlation-ID
- Request Body
{
"connectorId": 0,
"userContext": "string",
"bankSettings": {
"settingsId": "string",
"ncaId": "string",
"appClientId": "string",
"appClientSecret": "string",
"tlsCertificateName": "string",
"tlsCertificatePassword": "string",
"signingCertificateName": "string",
"signingCertificatePassword": "string",
"appApiKey": "string",
"pemFileUrl": "string",
"signingCertificateKeyId": "string",
"tlsCertificateKeyId": "string",
"encryptionCertificateName": "string",
"encryptionCertificatePassword": "string",
"encryptionCertificateKeyId": "string",
"bankTlsPublicKeyName": "string",
"bankSigningPublicKeyName": "string",
"bankEncryptionPublicKeyName": "string"
},
"tppContext": {
"tppId": "string",
"app": "string",
"flow": "string",
"transaction": "string",
"unit": "string"
}
}
Response
- Headers:
- X-Request-ID
- X-Correlation-ID
- X-Operation-ID
- Response Body
{
"accounts": [
{
"id": "string",
"ownerName": "string",
"currency": "string",
"iban": "string",
"description": "string",
"genericAccountIdentifications": [
{
"identification": "string",
"schemeName": 0,
"issuer": "string"
}
],
"bic": "string",
"cashAccountType": "string",
"cashAccountTypeRaw": "string",
"product": "string",
"psuStatus": "string",
"transactionsConsent": {
"consentId": "string",
"validUntil": "2023-11-08T14:27:51.411Z",
"status": 0,
"statusAt": "2023-11-08T14:27:51.411Z",
"settingsId": "string"
},
"balancesConsent": {
"consentId": "string",
"validUntil": "2023-11-08T14:27:51.411Z",
"status": 0,
"statusAt": "2023-11-08T14:27:51.411Z",
"settingsId": "string"
}
}
],
"userContext": "string",
"rawResponse": "string"
}
Example 1
Gets the accounts for the current User Context of Connector 973. We send the following properties:
- connectorId: the ID of the connector
- userContext: the current User Context between this PSU and Connector
We get the a response object with information about the current consent and the available accounts. The account information depends on the bank's response, with some properties being null if they are not received. The property "cashAccountType" is in ISO20022 format (ExternalCashAccountType1Code).
- Call: POST /ob/Ais/accounts
- Request Body
{
"connectorId": 973,
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":\"d193e083-7e40-11ee-b6c8-4fb732164343\",\"Token\":\"Bearer e9e353a6-7e40-11ee-b6c8-4fb732164343\",\"TokenValidUntil\":\"2024-11-07T14:11:23.1017195+00:00\",\"SettingsId\":null}],\"Accounts\":[{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000000000000040780458\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000000000000040780458\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES8401826450000201500191\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361786695\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361786695\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES1801822200120201933578\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361787589\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361787589\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES2501822200160201933547\",\"Description\":\"CUENTA PARA AHORROS\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361787594\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361787594\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES4901822200110201933554\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018220100000000500000000283512182\",\"GenericAccountIdentification\":null,\"Id\":\"ES018220100000000500000000283512182\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES7301826208302012068108\",\"Description\":\"CUENTA PAGO COCHE\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"IT27W0357601601015001460461\",\"GenericAccountIdentification\":null,\"Id\":\"IT27W0357601601015001460461\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES97660020000000500000000364876904\",\"Description\":\"Peppe\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"IT30E0357601601010000000013\",\"GenericAccountIdentification\":null,\"Id\":\"IT30E0357601601010000000013\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"IT30E03576016010000000010000000013\",\"Description\":\"Alberto Martin Garcia\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null}],\"PaymentToken\":null,\"RedirectUrl\":null}"
}
- Response Body
{
"accounts": [
{
"transactionsConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"balancesConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"id": "ES018202000000000000000000040780458",
"ownerName": null,
"currency": "EUR",
"iban": "ES8401826450000201500191",
"description": null,
"genericAccountIdentifications": null,
"bic": null,
"cashAccountType": "UNKN",
"cashAccountTypeRaw": null,
"product": null,
"psuStatus": null
},
{
"transactionsConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"balancesConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"id": "ES018202000000000500000000361786695",
"ownerName": null,
"currency": "EUR",
"iban": "ES1801822200120201933578",
"description": null,
"genericAccountIdentifications": null,
"bic": null,
"cashAccountType": "UNKN",
"cashAccountTypeRaw": null,
"product": null,
"psuStatus": null
},
{
"transactionsConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"balancesConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"id": "ES018202000000000500000000361787589",
"ownerName": null,
"currency": "EUR",
"iban": "ES2501822200160201933547",
"description": "CUENTA PARA AHORROS",
"genericAccountIdentifications": null,
"bic": null,
"cashAccountType": "UNKN",
"cashAccountTypeRaw": null,
"product": null,
"psuStatus": null
},
{
"transactionsConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"balancesConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"id": "ES018202000000000500000000361787594",
"ownerName": null,
"currency": "EUR",
"iban": "ES4901822200110201933554",
"description": null,
"genericAccountIdentifications": null,
"bic": null,
"cashAccountType": "UNKN",
"cashAccountTypeRaw": null,
"product": null,
"psuStatus": null
},
{
"transactionsConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"balancesConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"id": "ES018220100000000500000000283512182",
"ownerName": null,
"currency": "EUR",
"iban": "ES7301826208302012068108",
"description": "CUENTA PAGO COCHE",
"genericAccountIdentifications": null,
"bic": null,
"cashAccountType": "UNKN",
"cashAccountTypeRaw": null,
"product": null,
"psuStatus": null
},
{
"transactionsConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"balancesConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"id": "IT27W0357601601015001460461",
"ownerName": null,
"currency": "EUR",
"iban": "ES97660020000000500000000364876904",
"description": "Peppe",
"genericAccountIdentifications": null,
"bic": null,
"cashAccountType": "UNKN",
"cashAccountTypeRaw": null,
"product": null,
"psuStatus": null
},
{
"transactionsConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"balancesConsent": {
"consentId": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"id": "IT30E0357601601010000000013",
"ownerName": null,
"currency": "EUR",
"iban": "IT30E03576016010000000010000000013",
"description": "Alberto Martin Garcia",
"genericAccountIdentifications": null,
"bic": null,
"cashAccountType": "UNKN",
"cashAccountTypeRaw": null,
"product": null,
"psuStatus": null
}
],
"userContext": null,
"rawResponse": "[{\"TransactionsConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"BalancesConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"Id\":\"ES018202000000000000000000040780458\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES8401826450000201500191\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"BalancesConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"Id\":\"ES018202000000000500000000361786695\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES1801822200120201933578\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"BalancesConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"Id\":\"ES018202000000000500000000361787589\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES2501822200160201933547\",\"Description\":\"CUENTA PARA AHORROS\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"BalancesConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"Id\":\"ES018202000000000500000000361787594\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES4901822200110201933554\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"BalancesConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"Id\":\"ES018220100000000500000000283512182\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES7301826208302012068108\",\"Description\":\"CUENTA PAGO COCHE\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"BalancesConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"Id\":\"IT27W0357601601015001460461\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES97660020000000500000000364876904\",\"Description\":\"Peppe\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"BalancesConsent\":{\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"Id\":\"IT30E0357601601010000000013\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"IT30E03576016010000000010000000013\",\"Description\":\"Alberto Martin Garcia\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null}]"
}
Example 2
Gets the accounts for the current User Context of Connector 43. We send the following properties:
- connectorId: the ID of the connector
- userContext: the current User Context between this PSU and Connector
We get the a response object with information about the current consent and the available accounts. The account information depends on the bank's response, with some properties being null if they are not received. The property "cashAccountType" is in ISO20022 format (ExternalCashAccountType1Code).
- Call: POST /ob/Ais/accounts
- Request Body
{
"connectorId": 43,
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":null,\"Token\":\"Bearer 0009NDLcDPeuWwevCpNZLMjPZicxPQBHmjUTZw4uLKucfYnA88NKv1sOT557\",\"TokenValidUntil\":\"2023-11-08T12:05:10.2977191+00:00\",\"SettingsId\":null}],\"Accounts\":[{\"TransactionsConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"AT099900000000001511\",\"GenericAccountIdentification\":null,\"Id\":\"AT099900000000001511\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT099900000000001511\",\"Description\":\"Marianne Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null},{\"TransactionsConsentId\":null,\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":null,\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"AT439900000000010017\",\"GenericAccountIdentification\":null,\"Id\":\"AT439900000000010017\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT439900000000010017\",\"Description\":\"Georg Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null}],\"PaymentToken\":null,\"RedirectUrl\":null}"
}
- Response Body
{
"accounts": [
{
"transactionsConsent": {
"consentId": "e6151d43-dca8-4fe1-b139-3a89bfeb57a2",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"balancesConsent": {
"consentId": "e6151d43-dca8-4fe1-b139-3a89bfeb57a2",
"validUntil": "2024-02-05T00:00:00+00:00",
"status": 0,
"statusAt": null,
"settingsId": null
},
"id": "AT099900000000001511",
"ownerName": null,
"currency": "EUR",
"iban": "AT099900000000001511",
"description": "Marianne Mustermann",
"genericAccountIdentifications": null,
"bic": "TESTAT99",
"cashAccountType": "UNKN",
"cashAccountTypeRaw": null,
"product": "Giro",
"psuStatus": null
},
{
"transactionsConsent": null,
"balancesConsent": null,
"id": "AT439900000000010017",
"ownerName": null,
"currency": "EUR",
"iban": "AT439900000000010017",
"description": "Georg Mustermann",
"genericAccountIdentifications": null,
"bic": "TESTAT99",
"cashAccountType": "UNKN",
"cashAccountTypeRaw": null,
"product": "Giro",
"psuStatus": null
}
],
"userContext": null,
"rawResponse": "[{\"TransactionsConsent\":{\"ConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"BalancesConsent\":{\"ConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"Status\":0,\"StatusAt\":null,\"SettingsId\":null},\"Id\":\"AT099900000000001511\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT099900000000001511\",\"Description\":\"Marianne Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null},{\"TransactionsConsent\":null,\"BalancesConsent\":null,\"Id\":\"AT439900000000010017\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT439900000000010017\",\"Description\":\"Georg Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null}]"
}
POST /ob/Ais/accounts/{accountId}/balances
(https://docs.exthand.com/reference/post_ob-ais-accounts-accountid-balances)
Purpose
Gets a list of balances for the given account.
Request
- Method: POST
- URL: /ob/Ais/accounts/{accountId}/balances
- Parameters:
- accountId: ID of the account
- Query Parameters: None
- Headers:
- X-Request-ID
- X-Correlation-ID
- Request Body
{
"connectorId": 0,
"userContext": "string",
"bankSettings": {
"settingsId": "string",
"ncaId": "string",
"appClientId": "string",
"appClientSecret": "string",
"tlsCertificateName": "string",
"tlsCertificatePassword": "string",
"signingCertificateName": "string",
"signingCertificatePassword": "string",
"appApiKey": "string",
"pemFileUrl": "string",
"signingCertificateKeyId": "string",
"tlsCertificateKeyId": "string",
"encryptionCertificateName": "string",
"encryptionCertificatePassword": "string",
"encryptionCertificateKeyId": "string",
"bankTlsPublicKeyName": "string",
"bankSigningPublicKeyName": "string",
"bankEncryptionPublicKeyName": "string"
},
"tppContext": {
"tppId": "string",
"app": "string",
"flow": "string",
"transaction": "string",
"unit": "string"
},
"psuIp": "string"
}
Response
- Headers:
- X-Request-ID
- X-Correlation-ID
- X-Operation-ID
- Response Body
{
"balances": [
{
"balanceType": "string",
"rawBalanceType": "string",
"referenceDate": "2023-11-08T14:49:36.924Z",
"lastChangeDateTime": "2023-11-08T14:49:36.924Z",
"balanceAmount": {
"currency": "string",
"amount": 0
},
"creditLimitIncluded": true
}
],
"userContext": "string",
"rawResponse": "string"
}
Example 1
Gets the balances for the account ES018202000000000500000000361787594 in the current User Context of Connector 973. We send the following properties:
- connectorId: the ID of the connector
- psuIp: the IP of the PSU. If it is null we are limited in the number of calls per day that can be made
- userContext: the current User Context between this PSU and Connector
We get the a response object with information about the accounts balances, including type, date and amount. The balance type is in an ISO20022 format (ExternalBalanceType1Code).
- Call: POST /ob/Ais/accounts/ES018202000000000500000000361787594/balances
- Request Body
{
"connectorId": 973,
"psuIp": "192.1.3.4",
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":\"d193e083-7e40-11ee-b6c8-4fb732164343\",\"Token\":\"Bearer e9e353a6-7e40-11ee-b6c8-4fb732164343\",\"TokenValidUntil\":\"2024-11-07T14:11:23.1017195+00:00\",\"SettingsId\":null}],\"Accounts\":[{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000000000000040780458\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000000000000040780458\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES8401826450000201500191\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361786695\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361786695\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES1801822200120201933578\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361787589\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361787589\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES2501822200160201933547\",\"Description\":\"CUENTA PARA AHORROS\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361787594\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361787594\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES4901822200110201933554\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018220100000000500000000283512182\",\"GenericAccountIdentification\":null,\"Id\":\"ES018220100000000500000000283512182\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES7301826208302012068108\",\"Description\":\"CUENTA PAGO COCHE\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"IT27W0357601601015001460461\",\"GenericAccountIdentification\":null,\"Id\":\"IT27W0357601601015001460461\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES97660020000000500000000364876904\",\"Description\":\"Peppe\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"IT30E0357601601010000000013\",\"GenericAccountIdentification\":null,\"Id\":\"IT30E0357601601010000000013\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"IT30E03576016010000000010000000013\",\"Description\":\"Alberto Martin Garcia\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null}],\"PaymentToken\":null,\"RedirectUrl\":null}"
}
- Response Body
{
"balances": [
{
"balanceType": "OPBD",
"rawBalanceType": "openingBooked",
"referenceDate": null,
"lastChangeDateTime": null,
"balanceAmount": {
"currency": "EUR",
"amount": 857
},
"creditLimitIncluded": null
}
],
"userContext": null,
"rawResponse": "{\"balances\":[{\"balanceAmount\":{\"currency\":\"EUR\",\"amount\":\"857.00\"},\"balanceType\":\"openingBooked\"}],\"account\":{\"iban\":\"ES4901822200110201933554\"}}\n"
}
Example 2
Gets the balances for the account AT099900000000001511 in the current User Context of Connector 43. We send the following properties:
- connectorId: the ID of the connector
- psuIp: the IP of the PSU. If it is null we are limited in the number of calls per day that can be made
- userContext: the current User Context between this PSU and Connector
We get the a response object with information about the accounts balances, including type, date and amount. The balance type is in an ISO20022 format (ExternalBalanceType1Code).
- Call: POST /ob/Ais/accounts/AT099900000000001511/balances
- Request Body
{
"connectorId": 43,
"psuIp": "192.1.3.4",
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":null,\"Token\":\"Bearer 0009NDLcDPeuWwevCpNZLMjPZicxPQBHmjUTZw4uLKucfYnA88NKv1sOT557\",\"TokenValidUntil\":\"2023-11-08T12:05:10.2977191+00:00\",\"SettingsId\":null}],\"Accounts\":[{\"TransactionsConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"AT099900000000001511\",\"GenericAccountIdentification\":null,\"Id\":\"AT099900000000001511\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT099900000000001511\",\"Description\":\"Marianne Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null},{\"TransactionsConsentId\":null,\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":null,\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"AT439900000000010017\",\"GenericAccountIdentification\":null,\"Id\":\"AT439900000000010017\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT439900000000010017\",\"Description\":\"Georg Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null}],\"PaymentToken\":null,\"RedirectUrl\":null}"
}
- Response Body
{
"balances": [
{
"balanceType": "FWAV",
"rawBalanceType": "forwardAvailable",
"referenceDate": "2023-11-08T00:00:00",
"lastChangeDateTime": null,
"balanceAmount": {
"currency": "EUR",
"amount": 1340.55
},
"creditLimitIncluded": null
},
{
"balanceType": "ITAV",
"rawBalanceType": "interimAvailable",
"referenceDate": "2023-11-07T00:00:00",
"lastChangeDateTime": null,
"balanceAmount": {
"currency": "EUR",
"amount": 2850.49
},
"creditLimitIncluded": null
}
],
"userContext": null,
"rawResponse": "{\"account\":{\"iban\":\"AT099900000000001511\",\"bban\":null,\"pan\":null,\"maskedPan\":null,\"msisdn\":null,\"currency\":null},\"balances\":[{\"balanceAmount\":{\"currency\":\"EUR\",\"amount\":\"1340.55\"},\"balanceType\":\"forwardAvailable\",\"creditLimitIncluded\":null,\"lastChangeDateTime\":null,\"referenceDate\":\"2023-11-08\",\"lastCommittedTransaction\":null},{\"balanceAmount\":{\"currency\":\"EUR\",\"amount\":\"2850.49\"},\"balanceType\":\"interimAvailable\",\"creditLimitIncluded\":null,\"lastChangeDateTime\":null,\"referenceDate\":\"2023-11-07\",\"lastCommittedTransaction\":null}]}"
}
POST /ob/Ais/accounts/{accountId}/transactions
(https://docs.exthand.com/reference/post_ob-ais-accounts-accountid-transactions)
Purpose
Gets a the first page of transactions for the given account.
Request
- Method: POST
- URL: /ob/Ais/accounts/{accountId}/transactions
- Parameters:
- accountId: ID of the account
- Query Parameters: None
- Headers:
- X-Request-ID
- X-Correlation-ID
- Request Body
{
"connectorId": 0,
"userContext": "string",
"bankSettings": {
"settingsId": "string",
"ncaId": "string",
"appClientId": "string",
"appClientSecret": "string",
"tlsCertificateName": "string",
"tlsCertificatePassword": "string",
"signingCertificateName": "string",
"signingCertificatePassword": "string",
"appApiKey": "string",
"pemFileUrl": "string",
"signingCertificateKeyId": "string",
"tlsCertificateKeyId": "string",
"encryptionCertificateName": "string",
"encryptionCertificatePassword": "string",
"encryptionCertificateKeyId": "string",
"bankTlsPublicKeyName": "string",
"bankSigningPublicKeyName": "string",
"bankEncryptionPublicKeyName": "string"
},
"tppContext": {
"tppId": "string",
"app": "string",
"flow": "string",
"transaction": "string",
"unit": "string"
},
"psuIp": "string"
}
Response
- Headers:
- X-Request-ID
- X-Correlation-ID
- X-Operation-ID
- Response Body
{
"transactions": [
{
"id": "string",
"gwAccountId": "string",
"gwSequence": "string",
"amount": 0,
"counterpartReference": "string",
"counterpartName": "string",
"counterpartBic": "string",
"currency": "string",
"description": "string",
"executionDate": "2023-11-08T15:22:21.148Z",
"valueDate": "2023-11-08T15:22:21.148Z",
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"type": {
"code": "string",
"issuer": "string"
},
"reference": "string"
}
},
"unstructured": "string"
},
"bankTransactionCode": {
"domain": "string",
"family": "string",
"subFamily": "string"
}
}
],
"userContext": "string",
"pagerContext": "string",
"isFirstPage": true,
"isLastPage": true,
"rawResponse": "string"
}
Example 1
Gets the first page of transactions for the account AT099900000000001511 in the current User Context of Connector 43. We send the following properties:
- connectorId: the ID of the connector
- psuIp: the IP of the PSU. If it is null we are limited in the number of calls per day that can be made
- userContext: the current User Context between this PSU and Connector
We get the a response object with information about the accounts transactions, including date, amount and information about the credit/debit.
We also get a "pagerContext" which tells us the final page has been reached.
- Call: POST /ob/Ais/accounts/AT099900000000001511/transactions
- Request Body
{
"connectorId": 43,
"psuIp": "192.1.3.4",
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":null,\"Token\":\"Bearer 00092CpypTpLanb9S9wiuvECGi7kzwvgeQhNsusVqD9skQsavFYufqPdq4nD\",\"TokenValidUntil\":\"2023-11-08T15:28:10.618865+00:00\",\"SettingsId\":null}],\"Accounts\":[{\"TransactionsConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"e6151d43-dca8-4fe1-b139-3a89bfeb57a2\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"AT099900000000001511\",\"GenericAccountIdentification\":null,\"Id\":\"AT099900000000001511\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT099900000000001511\",\"Description\":\"Marianne Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null},{\"TransactionsConsentId\":null,\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":null,\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"AT439900000000010017\",\"GenericAccountIdentification\":null,\"Id\":\"AT439900000000010017\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"AT439900000000010017\",\"Description\":\"Georg Mustermann\",\"GenericAccountIdentifications\":null,\"Bic\":\"TESTAT99\",\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":\"Giro\",\"PsuStatus\":null}],\"PaymentToken\":null,\"RedirectUrl\":null}",
}
- Response Body
{
"transactions": [
{
"id": "22123460",
"gwAccountId": null,
"gwSequence": null,
"amount": 9820.99,
"counterpartReference": "AT099900000000001511",
"counterpartName": "DebtorName1",
"counterpartBic": null,
"currency": "EUR",
"description": "incoming payment",
"executionDate": "2023-11-07T00:00:00",
"valueDate": "2023-11-08T00:00:00",
"remittanceInformation": null,
"bankTransactionCode": null
},
{
"id": "22123461",
"gwAccountId": null,
"gwSequence": null,
"amount": -1533.11,
"counterpartReference": "AT439900000000010017",
"counterpartName": "Georg Mustermann",
"counterpartBic": null,
"currency": "EUR",
"description": "Salary",
"executionDate": "2023-11-07T00:00:00",
"valueDate": "2023-11-08T00:00:00",
"remittanceInformation": null,
"bankTransactionCode": null
}
],
"userContext": null,
"pagerContext": "{\"nextPageKeys\":[\"\"],\"page\":0,\"lastPageReached\":true}",
"isFirstPage": true,
"isLastPage": true,
"rawResponse": "{\"account\":{\"iban\":\"AT099900000000001511\",\"bban\":null,\"pan\":null,\"maskedPan\":null,\"msisdn\":null,\"currency\":null},\"transactions\":{\"booked\":[{\"transactionId\":\"22123460\",\"entryReference\":null,\"endToEndId\":null,\"mandateId\":null,\"checkId\":null,\"creditorId\":\"CreditorID1\",\"bookingDate\":\"2023-11-07\",\"valueDate\":\"2023-11-08\",\"transactionAmount\":{\"currency\":\"EUR\",\"amount\":\"9820.99\"},\"currencyExchange\":[],\"creditorName\":\"Georg Mustermann\",\"creditorAccount\":{\"iban\":\"AT439900000000010017\",\"bban\":null,\"pan\":null,\"maskedPan\":null,\"msisdn\":null,\"currency\":null},\"creditorAgent\":null,\"ultimateCreditor\":null,\"debtorName\":\"DebtorName1\",\"debtorAccount\":{\"iban\":\"AT099900000000001511\",\"bban\":null,\"pan\":null,\"maskedPan\":null,\"msisdn\":null,\"currency\":null},\"debtorAgent\":null,\"ultimateDebtor\":null,\"remittanceInformationUnstructured\":\"incoming payment\",\"remittanceInformationUnstructuredArray\":[],\"remittanceInformationStructured\":null,\"remittanceInformationStructuredArray\":[],\"additionalInformation\":null,\"additionalInformationStructured\":null,\"purposeCode\":null,\"bankTransactionCode\":null,\"proprietaryBankTransactionCode\":null,\"balanceAfterTransaction\":null,\"_links\":null},{\"transactionId\":\"22123461\",\"entryReference\":null,\"endToEndId\":null,\"mandateId\":null,\"checkId\":null,\"creditorId\":\"CreditorID2\",\"bookingDate\":\"2023-11-07\",\"valueDate\":\"2023-11-08\",\"transactionAmount\":{\"currency\":\"EUR\",\"amount\":\"-1533.11\"},\"currencyExchange\":[],\"creditorName\":\"Georg Mustermann\",\"creditorAccount\":{\"iban\":\"AT439900000000010017\",\"bban\":null,\"pan\":null,\"maskedPan\":null,\"msisdn\":null,\"currency\":null},\"creditorAgent\":null,\"ultimateCreditor\":null,\"debtorName\":\"Marianne Mustermann\",\"debtorAccount\":{\"iban\":\"AT099900000000001511\",\"bban\":null,\"pan\":null,\"maskedPan\":null,\"msisdn\":null,\"currency\":null},\"debtorAgent\":null,\"ultimateDebtor\":null,\"remittanceInformationUnstructured\":\"Salary\",\"remittanceInformationUnstructuredArray\":[],\"remittanceInformationStructured\":null,\"remittanceInformationStructuredArray\":[],\"additionalInformation\":null,\"additionalInformationStructured\":null,\"purposeCode\":null,\"bankTransactionCode\":null,\"proprietaryBankTransactionCode\":null,\"balanceAfterTransaction\":null,\"_links\":null}],\"pending\":[],\"information\":[],\"_links\":{}},\"balances\":[],\"_links\":null}"
}
Example 2
Gets the first page of transactions for the account 64fee1bf-02b2-410c-9524-b03bb585bbc2 in the current User Context of Connector -1. We send the following properties:
- connectorId: the ID of the connector
- psuIp: the IP of the PSU. If it is null we are limited in the number of calls per day that can be made
- userContext: the current User Context between this PSU and Connector
We get the a response object with information about the accounts transactions, including date, amount and information about the credit/debit.
We also get a "pagerContext" which tells us this is not the final page, which means we will need to fetch the next page of transactions.
- Call: POST /ob/Ais/accounts/64fee1bf-02b2-410c-9524-b03bb585bbc2/transactions
- Request Body
{
"connectorId": -1,
"psuIp": "192.1.3.4",
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"e0724784-48b7-4919-a3b9-41a4b7161b82\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":null,\"Token\":null,\"TokenValidUntil\":\"0001-01-01T00:00:00\",\"SettingsId\":null}],\"Accounts\":[{\"Username\":\"[email protected]\",\"TransactionsConsentId\":\"e0724784-48b7-4919-a3b9-41a4b7161b82\",\"BalancesConsentId\":\"e0724784-48b7-4919-a3b9-41a4b7161b82\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"64fee1bf-02b2-410c-9524-b03bb585bbc2\",\"GenericAccountIdentification\":null,\"Id\":\"64fee1bf-02b2-410c-9524-b03bb585bbc2\",\"OwnerName\":\"Unit test Belgium\",\"Currency\":\"EUR\",\"Iban\":\"BE33481516230000001567\",\"Description\":\"Account\",\"GenericAccountIdentifications\":[{\"Identification\":\"481516230000001567\",\"SchemeName\":19,\"Issuer\":null}],\"Bic\":\"MOCKDEXXXXX\",\"CashAccountType\":\"CACC\",\"CashAccountTypeRaw\":\"CACC\",\"Product\":null,\"PsuStatus\":null}]}"
}
- Response Body
{
"isFirstPage": true,
"isLastPage": false,
"pagerContext": "{\"nextPage\":1,\"page\":0,\"totalPage\":null,\"total\":null}",
"rawResponse": "string",
"transactions": [
{
"amount": -66.07,
"bankTransactionCode": null,
"counterpartBic": null,
"counterpartName": "Victoria",
"counterpartReference": "ES51481516230000001553",
"currency": "EUR",
"description": null,
"executionDate": "2023-11-07T00:00:00",
"gwAccountId": null,
"gwSequence": null,
"id": "ac06ba90-348d-40ac-ab8d-97d0b5a22963",
"remittanceInformation": {
"structured": null,
"unstructured": null
},
"valueDate": "2023-11-07T00:00:00"
},
{
"amount": -25.37,
"bankTransactionCode": null,
"counterpartBic": null,
"counterpartName": "Thomas Mustermann",
"counterpartReference": "DE30481516230000000909",
"currency": "EUR",
"description": null,
"executionDate": "2023-11-06T00:00:00",
"gwAccountId": null,
"gwSequence": null,
"id": "72a13a64-d873-4418-b885-40e2e0ee1669",
"remittanceInformation": {
"structured": null,
"unstructured": null
},
"valueDate": "2023-11-06T00:00:00"
},
{
"amount": 85.16,
"bankTransactionCode": null,
"counterpartBic": null,
"counterpartName": "Thibaut",
"counterpartReference": "BE89549452327885",
"currency": "EUR",
"description": "Fourth Day",
"executionDate": "2023-11-06T00:00:00",
"gwAccountId": null,
"gwSequence": null,
"id": "dc05db7b-0bff-46ee-9e21-48bafa46f49f",
"remittanceInformation": {
"structured": null,
"unstructured": "Fourth Day"
},
"valueDate": "2023-11-06T00:00:00"
}
],
"userContext": null
}
POST /ob/Ais/accounts/{accountId}/transactions/next
(https://docs.exthand.com/reference/post_ob-ais-accounts-accountid-transactions-next)
Purpose
Get next page of transactions of the given account.
You need to supply the pagination context received in the call to get the first page.
Request
- Method: POST
- URL: /ob/Ais/accounts/{accountId}/transactions/next
- Parameters:
- accountId: ID of the account
- Query Parameters: None
- Headers:
- X-Request-ID
- X-Correlation-ID
- Request Body
{
"connectorId": 0,
"userContext": "string",
"bankSettings": {
"settingsId": "string",
"ncaId": "string",
"appClientId": "string",
"appClientSecret": "string",
"tlsCertificateName": "string",
"tlsCertificatePassword": "string",
"signingCertificateName": "string",
"signingCertificatePassword": "string",
"appApiKey": "string",
"pemFileUrl": "string",
"signingCertificateKeyId": "string",
"tlsCertificateKeyId": "string",
"encryptionCertificateName": "string",
"encryptionCertificatePassword": "string",
"encryptionCertificateKeyId": "string",
"bankTlsPublicKeyName": "string",
"bankSigningPublicKeyName": "string",
"bankEncryptionPublicKeyName": "string"
},
"pagerContext": "string",
"tppContext": {
"tppId": "string",
"app": "string",
"flow": "string",
"transaction": "string",
"unit": "string"
},
"psuIp": "string"
}
Response
- Headers:
- X-Request-ID
- X-Correlation-ID
- X-Operation-ID
- Response Body
{
"transactions": [
{
"id": "string",
"gwAccountId": "string",
"gwSequence": "string",
"amount": 0,
"counterpartReference": "string",
"counterpartName": "string",
"counterpartBic": "string",
"currency": "string",
"description": "string",
"executionDate": "2023-11-08T16:10:08.531Z",
"valueDate": "2023-11-08T16:10:08.531Z",
"remittanceInformation": {
"structured": {
"creditorReferenceInformation": {
"type": {
"code": "string",
"issuer": "string"
},
"reference": "string"
}
},
"unstructured": "string"
},
"bankTransactionCode": {
"domain": "string",
"family": "string",
"subFamily": "string"
}
}
],
"userContext": "string",
"pagerContext": "string",
"isFirstPage": true,
"isLastPage": true,
"rawResponse": "string"
}
Example
Gets the next page of transactions for the account 64fee1bf-02b2-410c-9524-b03bb585bbc2 in the current User Context of Connector -1. We send the following properties:
- connectorId: the ID of the connector
- psuIp: the IP of the PSU. If it is null we are limited in the number of calls per day that can be made
- userContext: the current User Context between this PSU and Connector
- pagerContext: the Pager Context we received in the call to get the first page of transactions
We get the a response object with information about the accounts transactions, including date, amount and information about the credit/debit.
We also get a "pagerContext" which tells us this is the final page, so there are no more transactions to be fetched for this account. If this was not the case, we would continue to call this endpoint with the updated Pager Context until we reached the final page.
- Call: POST /ob/Ais/accounts/64fee1bf-02b2-410c-9524-b03bb585bbc2/transactions/next
- Request Body
{
"connectorId": -1,
"psuIp": "192.1.3.4",
"pagerContext": "{\"nextPage\":1,\"page\":0,\"totalPage\":null,\"total\":null}",
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"e0724784-48b7-4919-a3b9-41a4b7161b82\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":null,\"Token\":null,\"TokenValidUntil\":\"0001-01-01T00:00:00\",\"SettingsId\":null}],\"Accounts\":[{\"Username\":\"[email protected]\",\"TransactionsConsentId\":\"e0724784-48b7-4919-a3b9-41a4b7161b82\",\"BalancesConsentId\":\"e0724784-48b7-4919-a3b9-41a4b7161b82\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"64fee1bf-02b2-410c-9524-b03bb585bbc2\",\"GenericAccountIdentification\":null,\"Id\":\"64fee1bf-02b2-410c-9524-b03bb585bbc2\",\"OwnerName\":\"Unit test Belgium\",\"Currency\":\"EUR\",\"Iban\":\"BE33481516230000001567\",\"Description\":\"Account\",\"GenericAccountIdentifications\":[{\"Identification\":\"481516230000001567\",\"SchemeName\":19,\"Issuer\":null}],\"Bic\":\"MOCKDEXXXXX\",\"CashAccountType\":\"CACC\",\"CashAccountTypeRaw\":\"CACC\",\"Product\":null,\"PsuStatus\":null}]}"
}
- Response Body
{
"isFirstPage": false,
"isLastPage": true,
"pagerContext": "{\"nextPage\":1,\"page\":1,\"totalPage\":1,\"total\":null}",
"rawResponse": "string",
"transactions": [
{
"amount": 85.72,
"bankTransactionCode": null,
"counterpartBic": null,
"counterpartName": "Thibaut",
"counterpartReference": "BE89549452327885",
"currency": "EUR",
"description": "Fourth Day",
"executionDate": "2023-08-04T00:00:00",
"gwAccountId": null,
"gwSequence": null,
"id": "bff72e88-51f1-439c-a370-4664b6c2c9d4",
"remittanceInformation": {
"structured": null,
"unstructured": "Fourth Day"
},
"valueDate": "2023-08-04T00:00:00"
},
{
"amount": -91.3,
"bankTransactionCode": null,
"counterpartBic": null,
"counterpartName": "Maristela",
"counterpartReference": "PT02481516230000001569",
"currency": "EUR",
"description": null,
"executionDate": "2023-08-03T00:00:00",
"gwAccountId": null,
"gwSequence": null,
"id": "d580ffec-ecf8-4903-9917-5911d65141d7",
"remittanceInformation": {
"structured": null,
"unstructured": null
},
"valueDate": "2023-08-03T00:00:00"
}
],
"userContext": null
}
PUT /ob/Ais/accounts/delete
(https://docs.exthand.com/reference/put_ob-ais-accounts-delete)
Purpose
Removes access to a specific account.
After this call you will need to request new access to the account.
Request
- Method: PUT
- URL: /ob/Ais/accounts/delete
- Parameters: None
- Query Parameters: None
- Headers:
- X-Request-ID
- X-Correlation-ID
- Request Body
{
"id": "string",
"connectorId": 0,
"userContext": "string",
"bankSettings": {
"settingsId": "string",
"ncaId": "string",
"appClientId": "string",
"appClientSecret": "string",
"tlsCertificateName": "string",
"tlsCertificatePassword": "string",
"signingCertificateName": "string",
"signingCertificatePassword": "string",
"appApiKey": "string",
"pemFileUrl": "string",
"signingCertificateKeyId": "string",
"tlsCertificateKeyId": "string",
"encryptionCertificateName": "string",
"encryptionCertificatePassword": "string",
"encryptionCertificateKeyId": "string",
"bankTlsPublicKeyName": "string",
"bankSigningPublicKeyName": "string",
"bankEncryptionPublicKeyName": "string"
},
"tppContext": {
"tppId": "string",
"app": "string",
"flow": "string",
"transaction": "string",
"unit": "string"
}
}
Response
- Headers:
- X-Request-ID
- X-Correlation-ID
- X-Operation-ID
- Response Body: updated user context
Example
Deletes the account 64fee1bf-02b2-410c-9524-b03bb585bbc2 from the User Context of Connector -1. We send the following properties:
- id: ID of the account to delete
- connectorId: ID of the Connector
- userContext: the current User Context between this PSU and Connector
We then receive the updated User Context as a response.
- Call: PUT /ob/Ais/accounts/delete
- Request Body
{
"id": "64fee1bf-02b2-410c-9524-b03bb585bbc2",
"connectorId": -1,
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"e0724784-48b7-4919-a3b9-41a4b7161b82\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":null,\"Token\":null,\"TokenValidUntil\":\"0001-01-01T00:00:00\",\"SettingsId\":null}],\"Accounts\":[{\"Username\":\"[email protected]\",\"TransactionsConsentId\":\"e0724784-48b7-4919-a3b9-41a4b7161b82\",\"BalancesConsentId\":\"e0724784-48b7-4919-a3b9-41a4b7161b82\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"64fee1bf-02b2-410c-9524-b03bb585bbc2\",\"GenericAccountIdentification\":null,\"Id\":\"64fee1bf-02b2-410c-9524-b03bb585bbc2\",\"OwnerName\":\"Unit test Belgium\",\"Currency\":\"EUR\",\"Iban\":\"BE33481516230000001567\",\"Description\":\"Account\",\"GenericAccountIdentifications\":[{\"Identification\":\"481516230000001567\",\"SchemeName\":19,\"Issuer\":null}],\"Bic\":\"MOCKDEXXXXX\",\"CashAccountType\":\"CACC\",\"CashAccountTypeRaw\":\"CACC\",\"Product\":null,\"PsuStatus\":null}]}"
}
- Response Body
{"UserId":"3d72e5b9-888a-4d58-a344-1ea286018f8d","Consents":[],"Accounts":[]}
PUT /ob/Ais/consents/delete
(https://docs.exthand.com/reference/put_ob-ais-consents-delete)
Purpose
Removes access to the a specific consent (may include multiple accounts).
After this call you will need to request a new access to the account(s).
You will find the consent id in the get accounts call.
Request
- Method: PUT
- URL: /ob/Ais/consents/delete
- Parameters: None
- Query Parameters: None
- Headers:
- X-Request-ID
- X-Correlation-ID
- Request Body
{
"id": "string",
"connectorId": 0,
"userContext": "string",
"bankSettings": {
"settingsId": "string",
"ncaId": "string",
"appClientId": "string",
"appClientSecret": "string",
"tlsCertificateName": "string",
"tlsCertificatePassword": "string",
"signingCertificateName": "string",
"signingCertificatePassword": "string",
"appApiKey": "string",
"pemFileUrl": "string",
"signingCertificateKeyId": "string",
"tlsCertificateKeyId": "string",
"encryptionCertificateName": "string",
"encryptionCertificatePassword": "string",
"encryptionCertificateKeyId": "string",
"bankTlsPublicKeyName": "string",
"bankSigningPublicKeyName": "string",
"bankEncryptionPublicKeyName": "string"
},
"tppContext": {
"tppId": "string",
"app": "string",
"flow": "string",
"transaction": "string",
"unit": "string"
}
}
Response
- Headers:
- X-Request-ID
- X-Correlation-ID
- X-Operation-ID
- Response Body: updated user context
Example
Deletes the consent with ID ec9b2024-7e40-11ee-b90a-0bf544086a41 from the User Context of Connector 973. We send the following properties:
- id: ID of the consent to delete
- connectorId: ID of the Connector
- userContext: the current User Context between this PSU and Connector
We then receive the updated User Context as a response.
- Call: PUT /ob/Ais/consents/delete
- Request Body
{
"id": "ec9b2024-7e40-11ee-b90a-0bf544086a41",
"connectorId": 973,
"userContext": "{\"UserId\":\"3d72e5b9-888a-4d58-a344-1ea286018f8d\",\"Consents\":[{\"_additionalProperties\":null,\"ConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"ValidUntil\":\"2024-02-05T00:00:00+00:00\",\"RefreshToken\":\"d193e083-7e40-11ee-b6c8-4fb732164343\",\"Token\":\"Bearer e9e353a6-7e40-11ee-b6c8-4fb732164343\",\"TokenValidUntil\":\"2024-11-07T14:11:23.1017195+00:00\",\"SettingsId\":null}],\"Accounts\":[{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000000000000040780458\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000000000000040780458\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES8401826450000201500191\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361786695\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361786695\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES1801822200120201933578\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361787589\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361787589\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES2501822200160201933547\",\"Description\":\"CUENTA PARA AHORROS\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018202000000000500000000361787594\",\"GenericAccountIdentification\":null,\"Id\":\"ES018202000000000500000000361787594\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES4901822200110201933554\",\"Description\":null,\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"ES018220100000000500000000283512182\",\"GenericAccountIdentification\":null,\"Id\":\"ES018220100000000500000000283512182\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES7301826208302012068108\",\"Description\":\"CUENTA PAGO COCHE\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"IT27W0357601601015001460461\",\"GenericAccountIdentification\":null,\"Id\":\"IT27W0357601601015001460461\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"ES97660020000000500000000364876904\",\"Description\":\"Peppe\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null},{\"TransactionsConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"TransactionsStatus\":0,\"TransactionsStatusAt\":null,\"BalancesConsentId\":\"ec9b2024-7e40-11ee-b90a-0bf544086a41\",\"BalancesStatus\":0,\"BalancesStatusAt\":null,\"BankAccountId\":\"IT30E0357601601010000000013\",\"GenericAccountIdentification\":null,\"Id\":\"IT30E0357601601010000000013\",\"OwnerName\":null,\"Currency\":\"EUR\",\"Iban\":\"IT30E03576016010000000010000000013\",\"Description\":\"Alberto Martin Garcia\",\"GenericAccountIdentifications\":null,\"Bic\":null,\"CashAccountType\":\"UNKN\",\"CashAccountTypeRaw\":null,\"Product\":null,\"PsuStatus\":null}],\"PaymentToken\":null,\"RedirectUrl\":null}"
}
- Response Body
{"UserId":"3d72e5b9-888a-4d58-a344-1ea286018f8d","Consents":[],"Accounts":[],"PaymentToken":null,"RedirectUrl":null}
Updated 2 months ago