{"swagger":"2.0","info":{"title":"Open Bank Project API","description":"An Open Source API for Banks. (c) TESOBE GmbH. 2011 - 2024. Licensed under the AGPL and commercial licences.","contact":{"name":"TESOBE GmbH. / Open Bank Project","url":"https://openbankproject.com","email":"contact@tesobe.com"},"version":"v4.0.0"},"host":"obp-api-sandbox.nmbbank.co.tz","basePath":"/","schemes":["http","https"],"securityDefinitions":{"directLogin":{"type":"apiKey","description":"https://github.com/OpenBankProject/OBP-API/wiki/Direct-Login","in":"header","name":"Authorization"},"gatewayLogin":{"type":"apiKey","description":"https://github.com/OpenBankProject/OBP-API/wiki/Gateway-Login","in":"header","name":"Authorization"}},"security":[{"directLogin":[],"gatewayLogin":[]}],"paths":{"/obp/v4.0.0/account/check/scheme/iban":{"post":{"tags":["Account"],"summary":"Validate and check IBAN","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"
Validate and check IBAN for errors
Authentication is Optional
","operationId":"ibanChecker","parameters":[{"in":"body","name":"body","description":"IbanAddress object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/IbanAddress"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/IbanCheckerJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/accounts/public":{"get":{"tags":["Account-Public","Account","PublicData"],"summary":"Get Public Accounts at all Banks","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get public accounts at all banks (Anonymous access).
Returns accounts that contain at least one public view (a view where is_public is true)
For each account the API returns the ID and the available views.
Authentication is Optional
","operationId":"publicAccountsAllBanks","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BasicAccountsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorCannotGetAccounts"}}}}},"/obp/v4.0.0/adapter":{"get":{"tags":["API"],"summary":"Get Adapter Info","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get basic information about the Adapter.
Authentication is Optional
Authentication is Mandatory
","operationId":"getAdapterInfo","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AdapterInfoJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/api-collections/API_COLLECTION_ID/api-collection-endpoints":{"get":{"tags":["Api-Collection"],"summary":"Get Api Collection Endpoints","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Api Collection Endpoints By API_COLLECTION_ID.
Authentication is Optional
","operationId":"getApiCollectionEndpoints","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionEndpointsJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/api-collections/featured":{"get":{"tags":["Api-Collection"],"summary":"Get Featured Api Collections","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Featured Api Collections.
Authentication is Optional
","operationId":"getFeaturedApiCollections","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionsJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/api-collections/sharable/API_COLLECTION_ID":{"get":{"tags":["Api-Collection"],"summary":"Get Sharable Api Collection By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Sharable Api Collection By Id.
Authentication is Optional
Get API Glossary
Returns the glossary of the API
Authentication is Optional
","operationId":"getApiGlossary","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/GlossaryItemsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/api/versions":{"get":{"tags":["Documentation","API"],"summary":"Get scanned API Versions","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all the scanned API Versions.
Authentication is Optional
","operationId":"getScannedApiVersions","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["scanned_api_versions"],"properties":{"scanned_api_versions":{"type":"array","items":{"type":"object","properties":{"urlPrefix":{"type":"string","example":"obp"},"apiStandard":{"type":"string","example":"obp"},"apiShortVersion":{"type":"string","example":"v3.1.0"},"API_VERSION":{"type":"string","example":"v3.1.0"}},"required":["urlPrefix","apiStandard","apiShortVersion","API_VERSION"]}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/banks":{"get":{"tags":["Bank","Account Information Service (AIS)","PSD2"],"summary":"Get Banks","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get banks on this API instance
Returns a list of banks supported on this server:
Authentication is Optional
","operationId":"getBanks","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BanksJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}},"post":{"tags":["Bank"],"summary":"Create Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a new bank (Authenticated access).
The user creating this will be automatically assigned the Role CanCreateEntitlementAtOneBank.
Thus the User can manage the bank they create and assign Roles to other Users.
Only SANDBOX mode
The settlement accounts are created specified by the bank in the POST body.
Name and account id are created in accordance to the next rules:
- Incoming account (name: Default incoming settlement account, Account ID: OBP_DEFAULT_INCOMING_ACCOUNT_ID, currency: EUR)
- Outgoing account (name: Default outgoing settlement account, Account ID: OBP_DEFAULT_OUTGOING_ACCOUNT_ID, currency: EUR)
Authentication is Mandatory
","operationId":"createBank","parameters":[{"in":"body","name":"body","description":"PostBankJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostBankJson400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/BankJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}":{"get":{"tags":["Bank","Account Information Service (AIS)","PSD2"],"summary":"Get Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the bank specified by BANK_ID
Returns information about a single bank specified by BANK_ID including:
Authentication is Optional
","operationId":"getBank","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BankJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/{CUSTOMER_ID}/attributes/CUSTOMER_ATTRIBUTE_ID":{"delete":{"tags":["Customer"],"summary":"Delete Customer Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Customer Attribute
CustomerAttributes are used to enhance the OBP Customer object with Bank specific entities.
Delete a Customer Attribute by its id.
Authentication is Mandatory
","operationId":"deleteCustomerAttribute","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/account-applications":{"get":{"tags":["Account-Application","Account"],"summary":"Get Account Applications","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Account Applications.
Authentication is Mandatory
","operationId":"getAccountApplications","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountApplicationsJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Account-Application","Account"],"summary":"Create Account Application","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Account Application
Authentication is Mandatory
","operationId":"createAccountApplication","parameters":[{"in":"body","name":"body","description":"AccountApplicationJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AccountApplicationJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/AccountApplicationResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/account-applications/{ACCOUNT_APPLICATION_ID}":{"get":{"tags":["Account-Application","Account"],"summary":"Get Account Application by Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Account Application.
Authentication is Mandatory
","operationId":"getAccountApplication","parameters":[{"in":"path","name":"ACCOUNT_APPLICATION_ID","description":"the account application id ","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountApplicationResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Account-Application","Account"],"summary":"Update Account Application Status","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an Account Application status
Authentication is Mandatory
","operationId":"updateAccountApplicationStatus","parameters":[{"in":"body","name":"body","description":"AccountApplicationUpdateStatusJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AccountApplicationUpdateStatusJson"}},{"in":"path","name":"ACCOUNT_APPLICATION_ID","description":"the account application id ","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountApplicationResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/account-web-hooks":{"post":{"tags":["Webhook","Bank"],"summary":"Create an Account Webhook","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create an Account Webhook
Webhooks are used to call external URLs when certain events happen.
Account Webhooks focus on events around accounts.
For instance, a webhook could be used to notify an external service if a balance changes on an account.
This functionality is work in progress! Please note that only implemented trigger is: OnBalanceChange
Authentication is Mandatory
","operationId":"createAccountWebhook","parameters":[{"in":"body","name":"body","description":"AccountWebhookPostJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AccountWebhookPostJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/AccountWebhookJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}},"put":{"tags":["Webhook","Bank"],"summary":"Enable/Disable an Account Webhook","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Enable/Disable an Account Webhook
Webhooks are used to call external URLs when certain events happen.
Account Webhooks focus on events around accounts.
For instance, a webhook could be used to notify an external service if a balance changes on an account.
This functionality is work in progress! Please note that only implemented trigger is: OnBalanceChange
Authentication is Mandatory
","operationId":"enableDisableAccountWebhook","parameters":[{"in":"body","name":"body","description":"AccountWebhookPutJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AccountWebhookPutJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountWebhookJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts":{"get":{"tags":["Account","PrivateData","PublicData"],"summary":"Get Accounts at Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the list of accounts at BANK_ID that the user has access to.
For each account the API returns the account ID and the views available to the user..
Each account must have at least one private View.
optional request parameters for filter with attributes
URL params example: /banks/some-bank-id/accounts?manager=John&count=8
Authentication is Mandatory
","operationId":"getPrivateAccountsAtOneBank","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BasicAccountsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Account"],"summary":"Create Account (POST)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Account at bank specified by BANK_ID.
The User can create an Account for themself - or - the User that has the USER_ID specified in the POST body.
If the POST body USER_ID is specified, the logged in user must have the Role CanCreateAccount. Once created, the Account will be owned by the User specified by USER_ID.
If the POST body USER_ID is not specified, the account will be owned by the logged in User.
The 'product_code' field SHOULD be a product_code from Product.
If the product_code matches a product_code from Product, account attributes will be created that match the Product Attributes.
Note: The Amount MUST be zero.
Authentication is Mandatory
","operationId":"addAccount","parameters":[{"in":"body","name":"body","description":"CreateAccountRequestJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreateAccountRequestJsonV310"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/CreateAccountResponseJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts-held":{"get":{"tags":["Account","Account Information Service (AIS)","View-Custom","PSD2"],"summary":"Get Accounts Held","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Accounts held by the current User if even the User has not been assigned the owner View yet.
Can be used to onboard the account to the API - since all other account and transaction endpoints require views to be assigned.
optional request parameters:
whole url example:
/banks/BANK_ID/accounts-held?account_type_filter=330,CURRENT+PLUS&account_type_filter_operation=INCLUDE
Authentication is Mandatory
","operationId":"getAccountsHeld","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CoreAccountsHeldJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}":{"post":{"tags":["Account"],"summary":"Update Account Label","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the label for the account. The label is how the account is known to the account owner e.g. 'My savings account'
Authentication is Mandatory
","operationId":"updateAccountLabel","parameters":[{"in":"body","name":"body","description":"UpdateAccountJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/UpdateAccountJsonV400"}},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/account":{"get":{"tags":["Account"],"summary":"Get Account by Id (Full)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Information returned about an account specified by ACCOUNT_ID as moderated by the view (VIEW_ID):
More details about the data moderation by the view here.
PSD2 Context: PSD2 requires customers to have access to their account information via third party applications.
This call provides balance and other account information via delegated authentication using OAuth.
Authentication is required if the 'is_public' field in view (VIEW_ID) is not set to true
.
Authentication is Mandatory
","operationId":"getPrivateAccountByIdFull","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ModeratedAccountJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/checkbook/orders":{"get":{"tags":["Account"],"summary":"Get Checkbook orders","security":[{"directLogin":[],"gatewayLogin":[]}],"description":" Get all checkbook orders
Authentication is Mandatory
","operationId":"getCheckbookOrders","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CheckbookOrdersJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/counterparties":{"get":{"tags":["Counterparty","Payment Initiation Service (PIS)","PSD2","Account"],"summary":"Get Counterparties (Explicit)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Counterparties (Explicit) for the account / view.
Authentication is Mandatory
","operationId":"getExplictCounterpartiesForAccount","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CounterpartiesJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Counterparty","Account"],"summary":"Create Counterparty (Explicit)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Counterparty (Explicit) for an Account.
In OBP, there are two types of Counterparty.
Explicit Counterparties (those here) which we create explicitly and are used in COUNTERPARTY Transaction Requests
Implicit Counterparties (AKA Other Accounts) which are generated automatically from the other sides of Transactions.
Explicit Counterparties are created for the account / view
They are how the user of the view (e.g. account owner) refers to the other side of the transaction
name : the human readable name (e.g. Piano teacher, Miss Nipa)
description : the human readable name (e.g. Piano teacher, Miss Nipa)
currency : counterparty account currency (e.g. EUR, GBP, USD, ...)
bank_routing_scheme : eg: bankId or bankCode or any other strings
bank_routing_address : eg: gh.29.uk
, must be valid sandbox bankIds
account_routing_scheme : eg: AccountId or AccountNumber or any other strings
account_routing_address : eg: 1d65db7c-a7b2-4839-af41-95
, must be valid accountIds
other_account_secondary_routing_scheme : eg: IBAN or any other strings
other_account_secondary_routing_address : if it is an IBAN, it should be unique for each counterparty.
other_branch_routing_scheme : eg: branchId or any other strings or you can leave it empty, not useful in sandbox mode.
other_branch_routing_address : eg: branch-id-123
or you can leave it empty, not useful in sandbox mode.
is_beneficiary : must be set to true
in order to send payments to this counterparty
bespoke: It supports a list of key-value, you can add it to the counterparty.
bespoke.key : any info-key you want to add to this counterparty
bespoke.value : any info-value you want to add to this counterparty
The view specified by VIEW_ID must have the canAddCounterparty permission
A minimal example for TransactionRequestType == COUNTERPARTY
{
"name": "Tesobe1",
"description": "Good Company",
"currency": "EUR",
"other_bank_routing_scheme": "OBP",
"other_bank_routing_address": "gh.29.uk",
"other_account_routing_scheme": "OBP",
"other_account_routing_address": "8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
"is_beneficiary": true,
"other_account_secondary_routing_scheme": "",
"other_account_secondary_routing_address": "",
"other_branch_routing_scheme": "",
"other_branch_routing_address": "",
"bespoke": []
}
A minimal example for TransactionRequestType == SEPA
{
"name": "Tesobe2",
"description": "Good Company",
"currency": "EUR",
"other_bank_routing_scheme": "OBP",
"other_bank_routing_address": "gh.29.uk",
"other_account_routing_scheme": "OBP",
"other_account_routing_address": "8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
"other_account_secondary_routing_scheme": "IBAN",
"other_account_secondary_routing_address": "DE89 3704 0044 0532 0130 00",
"is_beneficiary": true,
"other_branch_routing_scheme": "",
"other_branch_routing_address": "",
"bespoke": []
}
Authentication is Mandatory
","operationId":"createCounterparty","parameters":[{"in":"body","name":"body","description":"PostCounterpartyJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostCounterpartyJson400"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/CounterpartyWithMetadataJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/counterparties/{COUNTERPARTY_ID}":{"get":{"tags":["Counterparty","Payment Initiation Service (PIS)","PSD2","Counterparty-Metadata"],"summary":"Get Counterparty by Id (Explicit)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Information returned about the Counterparty specified by COUNTERPARTY_ID:
Authentication is Mandatory
","operationId":"getExplictCounterpartyById","parameters":[{"in":"path","name":"COUNTERPARTY_ID","description":"the counterparty id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CounterpartyWithMetadataJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Counterparty","Account"],"summary":"Delete Counterparty (Explicit)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Counterparty (Explicit) for an Account.
and also delete the Metadata for its counterparty.
need the view permission can_delete_counterparty
Authentication is Mandatory
Get status of Credit Card orders
Get all orders
Authentication is Mandatory
","operationId":"getStatusOfCreditCardOrder","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CreditCardOrderStatusResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/direct-debit":{"post":{"tags":["Direct-Debit","Account"],"summary":"Create Direct Debit","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create direct debit for an account.
Authentication is Mandatory
","operationId":"createDirectDebit","parameters":[{"in":"body","name":"body","description":"PostDirectDebitJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostDirectDebitJsonV400"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/DirectDebitJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/funds-available":{"get":{"tags":["Account","Confirmation of Funds Service (PIIS)","PSD2"],"summary":"Check Available Funds","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Check Available Funds
Mandatory URL parameters:
Authentication is Mandatory
","operationId":"checkFundsAvailable","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CheckFundsAvailableJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/metadata/tags":{"get":{"tags":["Account-Metadata","Account"],"summary":"Get tags on account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the account ACCOUNT_ID tags made on a view (VIEW_ID).
Authentication is Mandatory
Authentication is required as the tag is linked with the user.
","operationId":"getTagsForViewOnAccount","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountTagsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Account-Metadata","Account"],"summary":"Create a tag on account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Posts a tag about an account ACCOUNT_ID on a view VIEW_ID.
Authentication is Mandatory
Authentication is required as the tag is linked with the user.
","operationId":"addTagForViewOnAccount","parameters":[{"in":"body","name":"body","description":"PostAccountTagJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostAccountTagJSON"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/AccountTagJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/metadata/tags/{TAG_ID}":{"delete":{"tags":["Account-Metadata","Account"],"summary":"Delete a tag on account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Deletes the tag TAG_ID about the account ACCOUNT_ID made on view.
Authentication is Mandatory
Authentication is required as the tag is linked with the user.
","operationId":"deleteTagForViewOnAccount","parameters":[{"in":"path","name":"TAG_ID","description":"The tag id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorNoViewPermission"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts":{"get":{"tags":["Counterparty","Account"],"summary":"Get Other Accounts of one Account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns data about all the other accounts that have shared at least one transaction with the ACCOUNT_ID at BANK_ID.
Authentication is Optional
Authentication is required if the view VIEW_ID is not public.
","operationId":"getOtherAccountsForBankAccount","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/OtherAccountsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts/{OTHER_ACCOUNT_ID}":{"get":{"tags":["Counterparty","Account"],"summary":"Get Other Account by Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns data about the Other Account that has shared at least one transaction with ACCOUNT_ID at BANK_ID.
Authentication is Optional
Authentication is required if the view is not public.
","operationId":"getOtherAccountByIdForBankAccount","parameters":[{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/OtherAccountJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts/{OTHER_ACCOUNT_ID}/metadata":{"get":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Get Other Account Metadata","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get metadata of one other account.
Returns only the metadata about one other bank account (OTHER_ACCOUNT_ID) that had shared at least one transaction with ACCOUNT_ID at BANK_ID.
Authentication via OAuth is required if the view is not public.
Authentication is Mandatory
","operationId":"getOtherAccountMetadata","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/OtherAccountMetadataJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts/{OTHER_ACCOUNT_ID}/metadata/corporate_location":{"delete":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Delete Counterparty Corporate Location","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete corporate location of other bank account. Delete the geolocation of the counterparty's registered address
Authentication is Mandatory
","operationId":"deleteCounterpartyCorporateLocation","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Add Corporate Location to Counterparty","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Add the geolocation of the counterparty's registered address
Authentication is Mandatory
","operationId":"addCounterpartyCorporateLocation","parameters":[{"in":"body","name":"body","description":"CorporateLocationJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CorporateLocationJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Update Counterparty Corporate Location","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the geolocation of the counterparty's registered address
Authentication is Mandatory
","operationId":"updateCounterpartyCorporateLocation","parameters":[{"in":"body","name":"body","description":"CorporateLocationJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CorporateLocationJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts/{OTHER_ACCOUNT_ID}/metadata/image_url":{"delete":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Delete Counterparty Image URL","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete image url of other bank account
Authentication is Optional
","operationId":"deleteCounterpartyImageUrl","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}},"post":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Add image url to other bank account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Add a url that points to the logo of the counterparty
Authentication is Mandatory
","operationId":"addCounterpartyImageUrl","parameters":[{"in":"body","name":"body","description":"ImageUrlJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ImageUrlJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Update Counterparty Image Url","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the url that points to the logo of the counterparty
Authentication is Optional
","operationId":"updateCounterpartyImageUrl","parameters":[{"in":"body","name":"body","description":"ImageUrlJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ImageUrlJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts/{OTHER_ACCOUNT_ID}/metadata/more_info":{"delete":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Delete more info of other bank account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Authentication is Mandatory
","operationId":"deleteCounterpartyMoreInfo","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Add Counterparty More Info","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Add a description of the counter party from the perpestive of the account e.g. My dentist
Authentication is Mandatory
","operationId":"addCounterpartyMoreInfo","parameters":[{"in":"body","name":"body","description":"MoreInfoJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/MoreInfoJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Update Counterparty More Info","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the more info description of the counter party from the perpestive of the account e.g. My dentist
Authentication is Mandatory
","operationId":"updateCounterpartyMoreInfo","parameters":[{"in":"body","name":"body","description":"MoreInfoJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/MoreInfoJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts/{OTHER_ACCOUNT_ID}/metadata/open_corporates_url":{"delete":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Delete Counterparty Open Corporates URL","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete open corporate url of other bank account
Authentication is Mandatory
","operationId":"deleteCounterpartyOpenCorporatesUrl","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Add Open Corporates URL to Counterparty","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Add open corporates url to other bank account
Authentication is Optional
","operationId":"addCounterpartyOpenCorporatesUrl","parameters":[{"in":"body","name":"body","description":"OpenCorporateUrlJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/OpenCorporateUrlJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}},"put":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Update Open Corporates Url of Counterparty","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update open corporate url of other bank account
Authentication is Mandatory
","operationId":"updateCounterpartyOpenCorporatesUrl","parameters":[{"in":"body","name":"body","description":"OpenCorporateUrlJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/OpenCorporateUrlJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts/{OTHER_ACCOUNT_ID}/metadata/physical_location":{"delete":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Delete Counterparty Physical Location","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete physical location of other bank account
Authentication is Mandatory
","operationId":"deleteCounterpartyPhysicalLocation","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Add physical location to other bank account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Add geocoordinates of the counterparty's main location
Authentication is Mandatory
","operationId":"addCounterpartyPhysicalLocation","parameters":[{"in":"body","name":"body","description":"PhysicalLocationJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PhysicalLocationJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Update Counterparty Physical Location","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update geocoordinates of the counterparty's main location
Authentication is Mandatory
","operationId":"updateCounterpartyPhysicalLocation","parameters":[{"in":"body","name":"body","description":"PhysicalLocationJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PhysicalLocationJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts/{OTHER_ACCOUNT_ID}/metadata/url":{"delete":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Delete url of other bank account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Authentication is Mandatory
","operationId":"deleteCounterpartyUrl","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Add url to other bank account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"A url which represents the counterparty (home page url etc.)
Authentication is Mandatory
","operationId":"addCounterpartyUrl","parameters":[{"in":"body","name":"body","description":"UrlJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/UrlJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Update url of other bank account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"A url which represents the counterparty (home page url etc.)
Authentication is Mandatory
","operationId":"updateCounterpartyUrl","parameters":[{"in":"body","name":"body","description":"UrlJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/UrlJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/other_accounts/{OTHER_ACCOUNT_ID}/private_alias":{"delete":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Delete Counterparty Private Alias","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Deletes the private alias of the other account OTHER_ACCOUNT_ID.
Authentication is Optional
Authentication is required if the view is not public.
Returns the private alias of the other account OTHER_ACCOUNT_ID.
Authentication is Optional
Authentication is required if the view is not public.
Creates a private alias for the other account OTHER_ACCOUNT_ID.
Authentication is Optional
Authentication is required if the view is not public.
Updates the private alias of the counterparty (AKA other account) OTHER_ACCOUNT_ID.
Authentication is Optional
Authentication is required if the view is not public.
Deletes the public alias of the other account OTHER_ACCOUNT_ID.
Authentication is Optional
Authentication is required if the view is not public.
Returns the public alias of the other account OTHER_ACCOUNT_ID.
Authentication is Optional
Authentication is Mandatory if the view is not public.
Creates the public alias for the other account OTHER_ACCOUNT_ID.
Authentication is Optional
Authentication is required if the view is not public.
Note: Public aliases are automatically generated for new 'other accounts / counterparties', so this call should only be used if
the public alias was deleted.
The VIEW_ID parameter should be a view the caller is permitted to access to and that has permission to create public aliases.
","operationId":"addCounterpartyPublicAlias","parameters":[{"in":"body","name":"body","description":"AliasJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AliasJSON"}},{"in":"path","name":"OTHER_ACCOUNT_ID","description":"The other account id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}},"put":{"tags":["Counterparty-Metadata","Counterparty"],"summary":"Update public alias of other bank account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Updates the public alias of the other account / counterparty OTHER_ACCOUNT_ID.
Authentication is Optional
Authentication is required if the view is not public.
Create standing order for an account.
when -> frequency = {‘YEARLY’,’MONTHLY, ‘WEEKLY’, ‘BI-WEEKLY’, DAILY’}
when -> detail = { ‘FIRST_MONDAY’, ‘FIRST_DAY’, ‘LAST_DAY’}}
Authentication is Mandatory
","operationId":"createStandingOrder","parameters":[{"in":"body","name":"body","description":"PostStandingOrderJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostStandingOrderJsonV400"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/StandingOrderJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types":{"get":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Get Transaction Request Types for Account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the Transaction Request Types that the account specified by ACCOUNT_ID and view specified by VIEW_ID has access to.
These are the ways this API Server can create a Transaction via a Transaction Request
(as opposed to Transaction Types which include external types too e.g. for Transactions created by core banking etc.)
A Transaction Request Type internally determines:
For instance in a 'SANDBOX_TAN' Transaction Request, for amounts over 1000 currency units, the user must supply a positive integer to complete the Transaction Request and create a Transaction.
This approach aims to provide only one endpoint for initiating transactions, and one that handles challenges, whilst still allowing flexibility with the payload and internal logic.
Authentication is Mandatory
","operationId":"getTransactionRequestTypes","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestTypesJsonV140"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types/ACCOUNT/transaction-requests":{"post":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Create Transaction Request (ACCOUNT)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"When using ACCOUNT, the payee is set in the request body.
Money goes into the BANK_ID and ACCOUNT_ID specified in the request body.
Initiate a Payment via creating a Transaction Request.
In OBP, a transaction request
may or may not result in a transaction
. However, a transaction
only has one possible state: completed.
A Transaction Request
can have one of several states: INITIATED, NEXT_CHALLENGE_PENDING etc.
Transactions
are modeled on items in a bank statement that represent the movement of money.
Transaction Requests
are requests to move money which may or may not succeed and thus result in a Transaction
.
A Transaction Request
might create a security challenge that needs to be answered before the Transaction Request
proceeds.
In case 1 person needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => COMPLETED
In case n persons needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => NEXT_CHALLENGE_PENDING => ... => NEXT_CHALLENGE_PENDING => COMPLETED
The security challenge is bound to a user i.e. in case of right answer and the user is different than expected one the challenge will fail.
Rule for calculating number of security challenges:
If product Account attribute REQUIRED_CHALLENGE_ANSWERS=N then create N challenges
(one for every user that has a View where permission "can_add_transaction_request_to_any_account"=true)
In case REQUIRED_CHALLENGE_ANSWERS is not defined as an account attribute default value is 1.
Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).
Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.
In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to ACCOUNT. See getTransactionRequestTypesSupportedByBank for all supported types.
In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.
If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.
You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.
The following static FX rates are available in sandbox mode:
Transaction Requests satisfy PSD2 requirements thus:
1) A transaction can be initiated by a third party application.
2) The customer is informed of the charge that will incurred.
3) The call supports delegated authentication (OAuth)
See this python code for a complete example of this flow.
There is further documentation here
Authentication is Mandatory
","operationId":"createTransactionRequestAccount","parameters":[{"in":"body","name":"body","description":"TransactionRequestBodyJsonV200 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestBodyJsonV200"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types/ACCOUNT_OTP/transaction-requests":{"post":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Create Transaction Request (ACCOUNT_OTP)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"When using ACCOUNT, the payee is set in the request body.
Money goes into the BANK_ID and ACCOUNT_ID specified in the request body.
Initiate a Payment via creating a Transaction Request.
In OBP, a transaction request
may or may not result in a transaction
. However, a transaction
only has one possible state: completed.
A Transaction Request
can have one of several states: INITIATED, NEXT_CHALLENGE_PENDING etc.
Transactions
are modeled on items in a bank statement that represent the movement of money.
Transaction Requests
are requests to move money which may or may not succeed and thus result in a Transaction
.
A Transaction Request
might create a security challenge that needs to be answered before the Transaction Request
proceeds.
In case 1 person needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => COMPLETED
In case n persons needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => NEXT_CHALLENGE_PENDING => ... => NEXT_CHALLENGE_PENDING => COMPLETED
The security challenge is bound to a user i.e. in case of right answer and the user is different than expected one the challenge will fail.
Rule for calculating number of security challenges:
If product Account attribute REQUIRED_CHALLENGE_ANSWERS=N then create N challenges
(one for every user that has a View where permission "can_add_transaction_request_to_any_account"=true)
In case REQUIRED_CHALLENGE_ANSWERS is not defined as an account attribute default value is 1.
Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).
Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.
In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to ACCOUNT. See getTransactionRequestTypesSupportedByBank for all supported types.
In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.
If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.
You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.
The following static FX rates are available in sandbox mode:
Transaction Requests satisfy PSD2 requirements thus:
1) A transaction can be initiated by a third party application.
2) The customer is informed of the charge that will incurred.
3) The call supports delegated authentication (OAuth)
See this python code for a complete example of this flow.
There is further documentation here
Authentication is Mandatory
","operationId":"createTransactionRequestAccountOtp","parameters":[{"in":"body","name":"body","description":"TransactionRequestBodyJsonV200 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestBodyJsonV200"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types/COUNTERPARTY/transaction-requests":{"post":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Create Transaction Request (COUNTERPARTY)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Special instructions for COUNTERPARTY:
When using a COUNTERPARTY to create a Transaction Request, specificy the counterparty_id in the body of the request.
The routing details of the counterparty will be forwarded for the transfer.
Initiate a Payment via creating a Transaction Request.
In OBP, a transaction request
may or may not result in a transaction
. However, a transaction
only has one possible state: completed.
A Transaction Request
can have one of several states: INITIATED, NEXT_CHALLENGE_PENDING etc.
Transactions
are modeled on items in a bank statement that represent the movement of money.
Transaction Requests
are requests to move money which may or may not succeed and thus result in a Transaction
.
A Transaction Request
might create a security challenge that needs to be answered before the Transaction Request
proceeds.
In case 1 person needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => COMPLETED
In case n persons needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => NEXT_CHALLENGE_PENDING => ... => NEXT_CHALLENGE_PENDING => COMPLETED
The security challenge is bound to a user i.e. in case of right answer and the user is different than expected one the challenge will fail.
Rule for calculating number of security challenges:
If product Account attribute REQUIRED_CHALLENGE_ANSWERS=N then create N challenges
(one for every user that has a View where permission "can_add_transaction_request_to_any_account"=true)
In case REQUIRED_CHALLENGE_ANSWERS is not defined as an account attribute default value is 1.
Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).
Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.
In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to ACCOUNT. See getTransactionRequestTypesSupportedByBank for all supported types.
In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.
If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.
You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.
The following static FX rates are available in sandbox mode:
Transaction Requests satisfy PSD2 requirements thus:
1) A transaction can be initiated by a third party application.
2) The customer is informed of the charge that will incurred.
3) The call supports delegated authentication (OAuth)
See this python code for a complete example of this flow.
There is further documentation here
Authentication is Mandatory
","operationId":"createTransactionRequestCounterparty","parameters":[{"in":"body","name":"body","description":"TransactionRequestBodyCounterpartyJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestBodyCounterpartyJSON"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types/FREE_FORM/transaction-requests":{"post":{"tags":["Transaction-Request","Payment Initiation Service (PIS)"],"summary":"Create Transaction Request (FREE_FORM)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Initiate a Payment via creating a Transaction Request.
In OBP, a transaction request
may or may not result in a transaction
. However, a transaction
only has one possible state: completed.
A Transaction Request
can have one of several states: INITIATED, NEXT_CHALLENGE_PENDING etc.
Transactions
are modeled on items in a bank statement that represent the movement of money.
Transaction Requests
are requests to move money which may or may not succeed and thus result in a Transaction
.
A Transaction Request
might create a security challenge that needs to be answered before the Transaction Request
proceeds.
In case 1 person needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => COMPLETED
In case n persons needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => NEXT_CHALLENGE_PENDING => ... => NEXT_CHALLENGE_PENDING => COMPLETED
The security challenge is bound to a user i.e. in case of right answer and the user is different than expected one the challenge will fail.
Rule for calculating number of security challenges:
If product Account attribute REQUIRED_CHALLENGE_ANSWERS=N then create N challenges
(one for every user that has a View where permission "can_add_transaction_request_to_any_account"=true)
In case REQUIRED_CHALLENGE_ANSWERS is not defined as an account attribute default value is 1.
Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).
Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.
In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to ACCOUNT. See getTransactionRequestTypesSupportedByBank for all supported types.
In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.
If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.
You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.
The following static FX rates are available in sandbox mode:
Transaction Requests satisfy PSD2 requirements thus:
1) A transaction can be initiated by a third party application.
2) The customer is informed of the charge that will incurred.
3) The call supports delegated authentication (OAuth)
See this python code for a complete example of this flow.
There is further documentation here
Authentication is Mandatory
","operationId":"createTransactionRequestFreeForm","parameters":[{"in":"body","name":"body","description":"TransactionRequestBodyFreeFormJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestBodyFreeFormJSON"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types/REFUND/transaction-requests":{"post":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Create Transaction Request (REFUND)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Either the from
or the to
field must be filled. Those fields refers to the information about the party that will be refunded.
In case the from
object is used, it means that the refund comes from the part that sent you a transaction.
In the from
object, you have two choices :
- Use bank_id
and account_id
fields if the other account is registered on the OBP-API
- Use the counterparty_id
field in case the counterparty account is out of the OBP-API
In case the to
object is used, it means you send a request to a counterparty to ask for a refund on a previous transaction you sent.
(This case is not managed by the OBP-API and require an external adapter)
Initiate a Payment via creating a Transaction Request.
In OBP, a transaction request
may or may not result in a transaction
. However, a transaction
only has one possible state: completed.
A Transaction Request
can have one of several states: INITIATED, NEXT_CHALLENGE_PENDING etc.
Transactions
are modeled on items in a bank statement that represent the movement of money.
Transaction Requests
are requests to move money which may or may not succeed and thus result in a Transaction
.
A Transaction Request
might create a security challenge that needs to be answered before the Transaction Request
proceeds.
In case 1 person needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => COMPLETED
In case n persons needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => NEXT_CHALLENGE_PENDING => ... => NEXT_CHALLENGE_PENDING => COMPLETED
The security challenge is bound to a user i.e. in case of right answer and the user is different than expected one the challenge will fail.
Rule for calculating number of security challenges:
If product Account attribute REQUIRED_CHALLENGE_ANSWERS=N then create N challenges
(one for every user that has a View where permission "can_add_transaction_request_to_any_account"=true)
In case REQUIRED_CHALLENGE_ANSWERS is not defined as an account attribute default value is 1.
Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).
Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.
In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to ACCOUNT. See getTransactionRequestTypesSupportedByBank for all supported types.
In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.
If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.
You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.
The following static FX rates are available in sandbox mode:
Transaction Requests satisfy PSD2 requirements thus:
1) A transaction can be initiated by a third party application.
2) The customer is informed of the charge that will incurred.
3) The call supports delegated authentication (OAuth)
See this python code for a complete example of this flow.
There is further documentation here
Authentication is Mandatory
","operationId":"createTransactionRequestRefund","parameters":[{"in":"body","name":"body","description":"TransactionRequestBodyRefundJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestBodyRefundJsonV400"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types/SANDBOX_TAN/transaction-requests":{"post":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Create Transaction Request (SANDBOX_TAN)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"When using SANDBOX_TAN, the payee is set in the request body.
Money goes into the BANK_ID and ACCOUNT_ID specified in the request body.
Initiate a Payment via creating a Transaction Request.
In OBP, a transaction request
may or may not result in a transaction
. However, a transaction
only has one possible state: completed.
A Transaction Request
can have one of several states.
Transactions
are modeled on items in a bank statement that represent the movement of money.
Transaction Requests
are requests to move money which may or may not succeeed and thus result in a Transaction
.
A Transaction Request
might create a security challenge that needs to be answered before the Transaction Request
proceeds.
Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).
Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.
In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to SANDBOX_TAN. See getTransactionRequestTypesSupportedByBank for all supported types.
In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.
If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.
You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.
The following static FX rates are available in sandbox mode:
{
"XAF":{
"XAF":1.0,
"HKD":0.0135503,
"AUD":0.00228226,
"KRW":1.87975,
"JOD":0.00127784,
"GBP":0.00131092,
"MXN":0.0396,
"AED":0.00601555,
"INR":0.110241,
"XBT":2.9074795E-8,
"JPY":0.185328,
"USD":0.00163773,
"ILS":0.00641333,
"EUR":0.00152449
},
"HKD":{
"XAF":73.8049,
"HKD":1.0,
"AUD":0.178137,
"KRW":143.424,
"JOD":0.0903452,
"GBP":0.0985443,
"MXN":2.8067,
"AED":0.467977,
"INR":9.09325,
"XBT":2.164242461E-6,
"JPY":14.0867,
"USD":0.127427,
"ILS":0.460862,
"EUR":0.112495
},
"AUD":{
"XAF":438.162,
"HKD":5.61346,
"AUD":1.0,
"KRW":895.304,
"JOD":0.556152,
"GBP":0.609788,
"MXN":16.0826,
"AED":2.88368,
"INR":50.4238,
"XBT":1.2284055924E-5,
"JPY":87.0936,
"USD":0.785256,
"ILS":2.83558,
"EUR":0.667969
},
"KRW":{
"XAF":0.531986,
"HKD":0.00697233,
"AUD":0.00111694,
"KRW":1.0,
"JOD":6.30634E-4,
"GBP":6.97389E-4,
"MXN":0.0183,
"AED":0.00320019,
"INR":0.0586469,
"XBT":1.4234725E-8,
"JPY":0.0985917,
"USD":8.7125E-4,
"ILS":0.00316552,
"EUR":8.11008E-4
},
"JOD":{
"XAF":782.572,
"HKD":11.0687,
"AUD":1.63992,
"KRW":1585.68,
"JOD":1.0,
"GBP":1.06757,
"MXN":30.8336,
"AED":5.18231,
"INR":90.1236,
"XBT":2.3803244006E-5,
"JPY":156.304,
"USD":1.41112,
"ILS":5.02018,
"EUR":0.237707
},
"GBP":{
"XAF":762.826,
"HKD":10.1468,
"AUD":1.63992,
"KRW":1433.92,
"JOD":0.936707,
"GBP":1.0,
"MXN":29.242,
"AED":4.58882,
"INR":84.095,
"XBT":2.2756409956E-5,
"JPY":141.373,
"USD":1.2493,
"ILS":4.7002,
"EUR":1.16278
},
"MXN":{
"XAF":25.189,
"HKD":0.3562,
"AUD":0.0621,
"KRW":54.4512,
"JOD":0.0324,
"GBP":0.0341,
"MXN":1.0,
"AED":0.1688,
"INR":3.3513,
"XBT":8.1112586E-7,
"JPY":4.8687,
"USD":0.0459,
"ILS":0.1541,
"EUR":0.0384
},
"AED":{
"XAF":166.236,
"HKD":2.13685,
"AUD":0.346779,
"KRW":312.482,
"JOD":0.1930565,
"GBP":0.217921,
"MXN":5.9217,
"AED":1.0,
"INR":18.3255,
"XBT":4.603349217E-6,
"JPY":30.8081,
"USD":0.27225,
"ILS":0.968033,
"EUR":0.253425
},
"INR":{
"XAF":9.07101,
"HKD":0.109972,
"AUD":0.0198319,
"KRW":17.0512,
"JOD":0.0110959,
"GBP":0.0118913,
"MXN":0.2983,
"AED":0.0545671,
"INR":1.0,
"XBT":2.2689396E-7,
"JPY":1.68111,
"USD":0.0148559,
"ILS":0.0556764,
"EUR":0.0138287
},
"XBT":{
"XAF":3.4353824E7,
"HKD":460448.9,
"AUD":81168.603,
"KRW":7.0131575E7,
"JOD":41960.111,
"GBP":44188.118,
"MXN":1230503.3,
"AED":217414.47,
"INR":4407607.74,
"XBT":1.0,
"JPY":6805170.8,
"USD":59245.918,
"ILS":182981.21,
"EUR":52436.431
},
"JPY":{
"XAF":5.39585,
"HKD":0.0709891,
"AUD":0.0114819,
"KRW":10.1428,
"JOD":0.00639777,
"GBP":0.0070735,
"MXN":0.2053,
"AED":0.032459,
"INR":0.594846,
"XBT":1.47171931E-7,
"JPY":1.0,
"USD":0.00883695,
"ILS":0.0320926,
"EUR":0.00822592
},
"USD":{
"XAF":610.601,
"HKD":7.84766,
"AUD":1.27347,
"KRW":1147.78,
"JOD":0.708659,
"GBP":0.800446,
"MXN":21.748,
"AED":3.6731,
"INR":67.3135,
"XBT":1.69154E-5,
"JPY":113.161,
"USD":1.0,
"ILS":3.55495,
"EUR":0.930886
},
"ILS":{
"XAF":155.925,
"HKD":2.16985,
"AUD":0.352661,
"KRW":315.903,
"JOD":0.199196,
"GBP":0.212763,
"MXN":6.4871,
"AED":1.03302,
"INR":17.9609,
"XBT":5.452272147E-6,
"JPY":31.1599,
"USD":0.281298,
"ILS":1.0,
"EUR":1.19318
},
"EUR":{
"XAF":655.957,
"HKD":8.88926,
"AUD":1.49707,
"KRW":1233.03,
"JOD":0.838098,
"GBP":0.860011,
"MXN":26.0359,
"AED":3.94594,
"INR":72.3136,
"XBT":1.9087905636E-5,
"JPY":121.567,
"USD":1.07428,
"ILS":4.20494,
"EUR":1.0
}
}
Transaction Requests satisfy PSD2 requirements thus:
1) A transaction can be initiated by a third party application.
2) The customer is informed of the charge that will incurred.
3) The call supports delegated authentication (OAuth)
See this python code for a complete example of this flow.
There is further documentation here
Authentication is Mandatory
","operationId":"createTransactionRequestSandboxTan","parameters":[{"in":"body","name":"body","description":"TransactionRequestBodyJsonV200 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestBodyJsonV200"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON210"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types/SEPA/transaction-requests":{"post":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Create Transaction Request (SEPA)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Special instructions for SEPA:
When using a SEPA Transaction Request, you specify the IBAN of a Counterparty in the body of the request.
The routing details (IBAN) of the counterparty will be forwarded to the core banking system for the transfer.
Initiate a Payment via creating a Transaction Request.
In OBP, a transaction request
may or may not result in a transaction
. However, a transaction
only has one possible state: completed.
A Transaction Request
can have one of several states: INITIATED, NEXT_CHALLENGE_PENDING etc.
Transactions
are modeled on items in a bank statement that represent the movement of money.
Transaction Requests
are requests to move money which may or may not succeed and thus result in a Transaction
.
A Transaction Request
might create a security challenge that needs to be answered before the Transaction Request
proceeds.
In case 1 person needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => COMPLETED
In case n persons needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => NEXT_CHALLENGE_PENDING => ... => NEXT_CHALLENGE_PENDING => COMPLETED
The security challenge is bound to a user i.e. in case of right answer and the user is different than expected one the challenge will fail.
Rule for calculating number of security challenges:
If product Account attribute REQUIRED_CHALLENGE_ANSWERS=N then create N challenges
(one for every user that has a View where permission "can_add_transaction_request_to_any_account"=true)
In case REQUIRED_CHALLENGE_ANSWERS is not defined as an account attribute default value is 1.
Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).
Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.
In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to ACCOUNT. See getTransactionRequestTypesSupportedByBank for all supported types.
In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.
If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.
You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.
The following static FX rates are available in sandbox mode:
Transaction Requests satisfy PSD2 requirements thus:
1) A transaction can be initiated by a third party application.
2) The customer is informed of the charge that will incurred.
3) The call supports delegated authentication (OAuth)
See this python code for a complete example of this flow.
There is further documentation here
Authentication is Mandatory
","operationId":"createTransactionRequestSepa","parameters":[{"in":"body","name":"body","description":"TransactionRequestBodySEPAJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestBodySEPAJsonV400"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types/SIMPLE/transaction-requests":{"post":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Create Transaction Request (SIMPLE)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Special instructions for SIMPLE:
You can transfer money to the Bank Account Number or IBAN directly.
Initiate a Payment via creating a Transaction Request.
In OBP, a transaction request
may or may not result in a transaction
. However, a transaction
only has one possible state: completed.
A Transaction Request
can have one of several states: INITIATED, NEXT_CHALLENGE_PENDING etc.
Transactions
are modeled on items in a bank statement that represent the movement of money.
Transaction Requests
are requests to move money which may or may not succeed and thus result in a Transaction
.
A Transaction Request
might create a security challenge that needs to be answered before the Transaction Request
proceeds.
In case 1 person needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => COMPLETED
In case n persons needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => NEXT_CHALLENGE_PENDING => ... => NEXT_CHALLENGE_PENDING => COMPLETED
The security challenge is bound to a user i.e. in case of right answer and the user is different than expected one the challenge will fail.
Rule for calculating number of security challenges:
If product Account attribute REQUIRED_CHALLENGE_ANSWERS=N then create N challenges
(one for every user that has a View where permission "can_add_transaction_request_to_any_account"=true)
In case REQUIRED_CHALLENGE_ANSWERS is not defined as an account attribute default value is 1.
Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).
Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.
In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to ACCOUNT. See getTransactionRequestTypesSupportedByBank for all supported types.
In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.
If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.
You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.
The following static FX rates are available in sandbox mode:
Transaction Requests satisfy PSD2 requirements thus:
1) A transaction can be initiated by a third party application.
2) The customer is informed of the charge that will incurred.
3) The call supports delegated authentication (OAuth)
See this python code for a complete example of this flow.
There is further documentation here
Authentication is Mandatory
","operationId":"createTransactionRequestSimple","parameters":[{"in":"body","name":"body","description":"TransactionRequestBodySimpleJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestBodySimpleJsonV400"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-request-types/{TRANSACTION_REQUEST_TYPE}/transaction-requests/{TRANSACTION_REQUEST_ID}/challenge":{"post":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Answer Transaction Request Challenge","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"In Sandbox mode, any string that can be converted to a positive integer will be accepted as an answer.
This endpoint totally depends on createTransactionRequest, it need get the following data from createTransactionRequest response body.
1)TRANSACTION_REQUEST_TYPE
: is the same as createTransactionRequest request URL .
2)TRANSACTION_REQUEST_ID
: is the id
field in createTransactionRequest response body.
3) id
: is challenge.id
field in createTransactionRequest response body.
4) answer
: must be 123
in case that Strong Customer Authentication method for OTP challenge is dummy.
For instance: SANDBOX_TAN_OTP_INSTRUCTION_TRANSPORT=dummy
Possible values are dummy,email and sms
In kafka mode, the answer can be got by phone message or other SCA methods.
Note that each Transaction Request Type can have its own OTP_INSTRUCTION_TRANSPORT method.
OTP_INSTRUCTION_TRANSPORT methods are set in Props. See sample.props.template for instructions.
Single or Multiple authorisations
OBP allows single or multi party authorisations.
Single party authorisation:
In the case that only one person needs to authorise i.e. answer a security challenge we have the following change of state of a transaction request
:
INITIATED => COMPLETED
Multiparty authorisation:
In the case that multiple parties (n persons) need to authorise a transaction request i.e. answer security challenges, we have the followings state flow for a transaction request
:
INITIATED => NEXT_CHALLENGE_PENDING => ... => NEXT_CHALLENGE_PENDING => COMPLETED
The security challenge is bound to a user i.e. in the case of a correct answer but the user is different than expected the challenge will fail.
Rule for calculating number of security challenges:
If Product Account attribute REQUIRED_CHALLENGE_ANSWERS=N then create N challenges
(one for every user that has a View where permission "can_add_transaction_request_to_any_account"=true)
In the case REQUIRED_CHALLENGE_ANSWERS is not defined as an account attribute, the default number of security challenges created is one.
Authentication is Mandatory
","operationId":"answerTransactionRequestChallenge","parameters":[{"in":"body","name":"body","description":"ChallengeAnswerJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ChallengeAnswerJson400"}},{"in":"path","name":"TRANSACTION_REQUEST_ID","description":"The transaction request id","required":true,"type":"string"},{"in":"path","name":"TRANSACTION_REQUEST_TYPE","description":"The transaction request type","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON210"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-requests":{"get":{"tags":["Transaction-Request","Payment Initiation Service (PIS)"],"summary":"Get Transaction Requests.","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns transaction requests for account specified by ACCOUNT_ID at bank specified by BANK_ID.
The VIEW_ID specified must be 'owner' and the user must have access to this view.
Version 2.0.0 now returns charge information.
Transaction Requests serve to initiate transactions that may or may not proceed. They contain information including:
PSD2 Context: PSD2 requires transparency of charges to the customer.
This endpoint provides the charge that would be applied if the Transaction Request proceeds - and a record of that charge there after.
The customer can proceed with the Transaction by answering the security challenge.
Authentication is Mandatory
","operationId":"getTransactionRequests","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSONs210"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transaction-requests/{TRANSACTION_REQUEST_ID}":{"get":{"tags":["Transaction-Request","Payment Initiation Service (PIS)","PSD2"],"summary":"Get Transaction Request.","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns transaction request for transaction specified by TRANSACTION_REQUEST_ID and for account specified by ACCOUNT_ID at bank specified by BANK_ID.
The VIEW_ID specified must be 'owner' and the user must have access to this view.
Version 2.0.0 now returns charge information.
Transaction Requests serve to initiate transactions that may or may not proceed. They contain information including:
PSD2 Context: PSD2 requires transparency of charges to the customer.
This endpoint provides the charge that would be applied if the Transaction Request proceeds - and a record of that charge there after.
The customer can proceed with the Transaction by answering the security challenge.
Authentication is Mandatory
","operationId":"getTransactionRequest","parameters":[{"in":"path","name":"TRANSACTION_REQUEST_ID","description":"The transaction request id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON210"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions":{"get":{"tags":["Transaction","Account"],"summary":"Get Transactions for Account (Full)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns transactions list of the account specified by ACCOUNT_ID and moderated by the view (VIEW_ID).
Authentication is Optional
Authentication is required if the view is not public.
Possible custom url parameters for pagination:
eg1:?limit=100&offset=0
eg2:?limit=100&offset=0&sort_direction=ASC
Date format parameter: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'(1100-01-01T01:01:01.000Z) ==> time zone is UTC.
eg3:?sort_direction=ASC&limit=100&offset=0&from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z
","operationId":"getTransactionsForBankAccount","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorFilterSortDirectionError"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/double-entry-transaction":{"get":{"tags":["Transaction"],"summary":"Get Double Entry Transaction","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Double Entry Transaction
This endpoint can be used to see the double entry transactions. It returns the bank_id
, account_id
and transaction_id
for the debit end the credit transaction. The other side account can be a settlement account or an OBP account.
The endpoint also provide the transaction_request
object which contains the bank_id
, account_id
andtransaction_request_id
of the transaction request at the origin of the transaction. Please note that if none
transaction request is at the origin of the transaction, the transaction_request
object will be null
.
Authentication is Mandatory
","operationId":"getDoubleEntryTransaction","parameters":[{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/DoubleEntryTransactionJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/metadata/comments":{"get":{"tags":["Transaction-Metadata","Transaction"],"summary":"Get Transaction Comments","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the transaction TRANSACTION_ID comments made on a view (VIEW_ID).
Authentication via OAuth is required if the view is not public.
Authentication is Mandatory
","operationId":"getCommentsForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionCommentsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Transaction-Metadata","Transaction"],"summary":"Add a Transaction Comment","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Posts a comment about a transaction TRANSACTION_ID on a view VIEW_ID.
${authenticationRequiredMessage(false)}
Authentication is required since the comment is linked with the user.
Authentication is Mandatory
","operationId":"addCommentForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"PostTransactionCommentJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostTransactionCommentJSON"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionCommentJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/metadata/comments/{COMMENT_ID}":{"delete":{"tags":["Transaction-Metadata","Transaction"],"summary":"Delete a Transaction Comment","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete the comment COMMENT_ID about the transaction TRANSACTION_ID made on view.
Authentication via OAuth is required. The user must either have owner privileges for this account, or must be the user that posted the comment.
Authentication is Mandatory
","operationId":"deleteCommentForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"COMMENT_ID","description":"The comment id","required":true,"type":"string"},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/metadata/images":{"get":{"tags":["Transaction-Metadata","Transaction"],"summary":"Get Transaction Images","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the transaction TRANSACTION_ID images made on a view (VIEW_ID).
Authentication via OAuth is required if the view is not public.
Authentication is Mandatory
","operationId":"getImagesForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionImagesJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Transaction-Metadata","Transaction"],"summary":"Add a Transaction Image","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Posts an image about a transaction TRANSACTION_ID on a view VIEW_ID.
Authentication is Mandatory
The image is linked with the user.
","operationId":"addImageForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"PostTransactionImageJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostTransactionImageJSON"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionImageJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/metadata/images/{IMAGE_ID}":{"delete":{"tags":["Transaction-Metadata","Transaction"],"summary":"Delete a Transaction Image","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Deletes the image IMAGE_ID about the transaction TRANSACTION_ID made on view.
Authentication via OAuth is required. The user must either have owner privileges for this account, or must be the user that posted the image.
Authentication is Mandatory
","operationId":"deleteImageForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"IMAGE_ID","description":"The image id","required":true,"type":"string"},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/metadata/narrative":{"delete":{"tags":["Transaction-Metadata","Transaction"],"summary":"Delete a Transaction Narrative","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Deletes the description of the transaction TRANSACTION_ID.
Authentication via OAuth is required if the view is not public.
Authentication is Mandatory
","operationId":"deleteTransactionNarrative","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Transaction-Metadata","Transaction"],"summary":"Get a Transaction Narrative","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the account owner description of the transaction moderated by the view.
Authentication via OAuth is required if the view is not public.
Authentication is Optional
","operationId":"getTransactionNarrative","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionNarrativeJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}},"post":{"tags":["Transaction-Metadata","Transaction"],"summary":"Add a Transaction Narrative","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Creates a description of the transaction TRANSACTION_ID.
Note: Unlike other items of metadata, there is only one "narrative" per transaction accross all views.
If you set narrative via a view e.g. view-x it will be seen via view-y (as long as view-y has permission to see the narrative).
Authentication is Optional
Authentication is required if the view is not public.
Updates the description of the transaction TRANSACTION_ID.
Authentication via OAuth is required if the view is not public.
Authentication is Optional
","operationId":"updateTransactionNarrative","parameters":[{"in":"body","name":"body","description":"TransactionNarrativeJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionNarrativeJSON"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/metadata/tags":{"get":{"tags":["Transaction-Metadata","Transaction"],"summary":"Get Transaction Tags","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the transaction TRANSACTION_ID tags made on a view (VIEW_ID).
Authentication via OAuth is required if the view is not public.
Authentication is Optional
","operationId":"getTagsForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionTagJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}},"post":{"tags":["Transaction-Metadata","Transaction"],"summary":"Add a Transaction Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Posts a tag about a transaction TRANSACTION_ID on a view VIEW_ID.
Authentication is Mandatory
Authentication is required as the tag is linked with the user.
","operationId":"addTagForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"PostTransactionTagJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostTransactionTagJSON"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionTagJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/metadata/tags/{TAG_ID}":{"delete":{"tags":["Transaction-Metadata","Transaction"],"summary":"Delete a Transaction Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Deletes the tag TAG_ID about the transaction TRANSACTION_ID made on view.
Authentication via OAuth is required. The user must either have owner privileges for this account,
or must be the user that posted the tag.
Authentication is Optional
","operationId":"deleteTagForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TAG_ID","description":"The tag id","required":true,"type":"string"},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorNoViewPermission"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/metadata/where":{"delete":{"tags":["Transaction-Metadata","Transaction"],"summary":"Delete a Transaction Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Deletes the where tag of the transaction TRANSACTION_ID made on view.
Authentication is Mandatory
The user must either have owner privileges for this account, or must be the user that posted the geo tag.
","operationId":"deleteWhereTagForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Transaction-Metadata","Transaction"],"summary":"Get a Transaction where Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the "where" Geo tag added to the transaction TRANSACTION_ID made on a view (VIEW_ID).
It represents the location where the transaction has been initiated.
Authentication via OAuth is required if the view is not public.
Authentication is Optional
","operationId":"getWhereTagForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionWhereJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}},"post":{"tags":["Transaction-Metadata","Transaction"],"summary":"Add a Transaction where Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Creates a "where" Geo tag on a transaction TRANSACTION_ID in a view.
Authentication is Mandatory
The geo tag is linked with the user.
","operationId":"addWhereTagForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"PostTransactionWhereJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostTransactionWhereJSON"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Transaction-Metadata","Transaction"],"summary":"Update a Transaction where Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Updates the "where" Geo tag on a transaction TRANSACTION_ID in a view.
Authentication is Mandatory
The geo tag is linked with the user.
","operationId":"updateWhereTagForViewOnTransaction","parameters":[{"in":"body","name":"body","description":"PostTransactionWhereJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostTransactionWhereJSON"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/other_account":{"get":{"tags":["Transaction","Counterparty"],"summary":"Get Other Account of Transaction","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get other account of a transaction.
Returns details of the other party involved in the transaction, moderated by the view (VIEW_ID).
Authentication via OAuth is required if the view is not public.
Authentication is Optional
","operationId":"getOtherAccountForTransaction","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/OtherAccountJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankAccountNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/transactions/{TRANSACTION_ID}/transaction":{"get":{"tags":["Transaction"],"summary":"Get Transaction by Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns one transaction specified by TRANSACTION_ID of the account ACCOUNT_ID and moderated by the view (VIEW_ID).
Authentication is Optional
Authentication is required if the view is not public.
Revoke/Grant the logged in User access to the views identified by json.
Authentication is Mandatory and the user needs to be an account holder or has owner view access.
","operationId":"revokeGrantUserAccessToViews","parameters":[{"in":"body","name":"body","description":"PostRevokeGrantAccountAccessJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostRevokeGrantAccountAccessJsonV400"}},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/RevokedJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/account-access/grant":{"post":{"tags":["Account-Access","View-Custom","Account","User","OwnerViewRequired"],"summary":"Grant User access to View","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Grants the User identified by USER_ID access to the view identified by VIEW_ID.
Authentication is Mandatory and the user needs to be account holder.
","operationId":"grantUserAccessToView","parameters":[{"in":"body","name":"body","description":"PostAccountAccessJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostAccountAccessJsonV400"}},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ViewJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/account-access/revoke":{"post":{"tags":["Account-Access","View-Custom","Account","User","OwnerViewRequired"],"summary":"Revoke User access to View","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Revoke the User identified by USER_ID access to the view identified by VIEW_ID.
Authentication is Mandatory and the user needs to be account holder.
","operationId":"revokeUserAccessToView","parameters":[{"in":"body","name":"body","description":"PostAccountAccessJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostAccountAccessJsonV400"}},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/RevokedJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/balances":{"get":{"tags":["Account","Account Information Service (AIS)","PSD2"],"summary":"Get Account Balances","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Balances for one Account of the current User at one bank.
Authentication is Mandatory
","operationId":"getBankAccountBalances","parameters":[{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountBalanceJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/permissions":{"get":{"tags":["View-Custom","Account","User","Entitlement"],"summary":"Get access","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the list of the permissions at BANK_ID for account ACCOUNT_ID, with each time a pair composed of the user and the views that he has access to.
Authentication is Mandatory
and the user needs to have access to the owner view.
Returns the list of the views at BANK_ID for account ACCOUNT_ID that a user identified by PROVIDER_ID at their provider PROVIDER has access to.
All url parameters must be %-encoded, which is often especially relevant for USER_ID and PROVIDER.
Authentication is Mandatory
The user needs to have access to the owner view.
","operationId":"getPermissionForUserForBankAccount","parameters":[{"in":"path","name":"PROVIDER","description":"the user PROVIDER","required":true,"type":"string"},{"in":"path","name":"PROVIDER_ID","description":"The provider id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ViewsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/products/{PRODUCT_CODE}/attribute":{"post":{"tags":["Account"],"summary":"Create Account Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Account Attribute
Account Attributes are used to describe a financial Product with a list of typed key value pairs.
Each Account Attribute is linked to its Account by ACCOUNT_ID
Typical account attributes might be:
ISIN (for International bonds)
VKN (for German bonds)
REDCODE (markit short code for credit derivative)
LOAN_ID (e.g. used for Anacredit reporting)
ISSUE_DATE (When the bond was issued in the market)
MATURITY_DATE (End of life time of a product)
TRADABLE
See FPML for more examples.
The type field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"
Authentication is Mandatory
","operationId":"createAccountAttribute","parameters":[{"in":"body","name":"body","description":"AccountAttributeJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AccountAttributeJson"}},{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/AccountAttributeResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/products/{PRODUCT_CODE}/attributes/{ACCOUNT_ATTRIBUTE_ID}":{"put":{"tags":["Account"],"summary":"Update Account Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Account Attribute
Account Attributes are used to describe a financial Product with a list of typed key value pairs.
Each Account Attribute is linked to its Account by ACCOUNT_ID
Typical account attributes might be:
ISIN (for International bonds)
VKN (for German bonds)
REDCODE (markit short code for credit derivative)
LOAN_ID (e.g. used for Anacredit reporting)
ISSUE_DATE (When the bond was issued in the market)
MATURITY_DATE (End of life time of a product)
TRADABLE
See FPML for more examples.
Authentication is Mandatory
","operationId":"updateAccountAttribute","parameters":[{"in":"body","name":"body","description":"AccountAttributeJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AccountAttributeJson"}},{"in":"path","name":"ACCOUNT_ATTRIBUTE_ID","description":"the account attribute id ","required":true,"type":"string"},{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountAttributeResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/transaction-requests/{TRANSACTION_REQUEST_ID}/attribute":{"post":{"tags":["Transaction-Request"],"summary":"Create Transaction Request Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Transaction Request Attribute
The type field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"
Authentication is Mandatory
","operationId":"createTransactionRequestAttribute","parameters":[{"in":"body","name":"body","description":"TransactionRequestAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestAttributeJsonV400"}},{"in":"path","name":"TRANSACTION_REQUEST_ID","description":"The transaction request id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestAttributeResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/transaction-requests/{TRANSACTION_REQUEST_ID}/attributes":{"get":{"tags":["Transaction-Request"],"summary":"Get Transaction Request Attributes","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Transaction Request Attributes
Authentication is Mandatory
","operationId":"getTransactionRequestAttributes","parameters":[{"in":"path","name":"TRANSACTION_REQUEST_ID","description":"The transaction request id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestAttributesResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/transaction-requests/{TRANSACTION_REQUEST_ID}/attributes/ATTRIBUTE_ID":{"get":{"tags":["Transaction-Request"],"summary":"Get Transaction Request Attribute By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Transaction Request Attribute By Id
Authentication is Mandatory
","operationId":"getTransactionRequestAttributeById","parameters":[{"in":"path","name":"TRANSACTION_REQUEST_ID","description":"The transaction request id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestAttributeResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Transaction-Request"],"summary":"Update Transaction Request Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Transaction Request Attribute
Authentication is Mandatory
","operationId":"updateTransactionRequestAttribute","parameters":[{"in":"body","name":"body","description":"TransactionRequestAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestAttributeJsonV400"}},{"in":"path","name":"TRANSACTION_REQUEST_ID","description":"The transaction request id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestAttributeResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/transactions/{TRANSACTION_ID}/attribute":{"post":{"tags":["Transaction"],"summary":"Create Transaction Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Transaction Attribute
The type field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"
Authentication is Mandatory
","operationId":"createTransactionAttribute","parameters":[{"in":"body","name":"body","description":"TransactionAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionAttributeJsonV400"}},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionAttributeResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/transactions/{TRANSACTION_ID}/attributes":{"get":{"tags":["Transaction"],"summary":"Get Transaction Attributes","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Transaction Attributes
Authentication is Mandatory
","operationId":"getTransactionAttributes","parameters":[{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionAttributesResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/transactions/{TRANSACTION_ID}/attributes/{ACCOUNT_ATTRIBUTE_ID}":{"put":{"tags":["Transaction"],"summary":"Update Transaction Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Transaction Attribute
Authentication is Mandatory
","operationId":"updateTransactionAttribute","parameters":[{"in":"body","name":"body","description":"TransactionAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionAttributeJsonV400"}},{"in":"path","name":"ACCOUNT_ATTRIBUTE_ID","description":"the account attribute id ","required":true,"type":"string"},{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionAttributeResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/transactions/{TRANSACTION_ID}/attributes/ATTRIBUTE_ID":{"get":{"tags":["Transaction"],"summary":"Get Transaction Attribute By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Transaction Attribute By Id
Authentication is Mandatory
","operationId":"getTransactionAttributeById","parameters":[{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionAttributeResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/user-account-access":{"post":{"tags":["Account-Access","View-Custom","Account","User","OwnerViewRequired","DAuth"],"summary":"Create (DAuth) User with Account Access","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint is used as part of the DAuth solution to grant access to account and transaction data to a smart contract on the blockchain.
Put the smart contract address in username
For provider use "dauth"
This endpoint will create the (DAuth) User with username and provider if the User does not already exist.
Authentication is Mandatory and the logged in user needs to be account holder.
For information about DAuth see below:
DAuth is an experimental authentication mechanism that aims to pin an ethereum or other blockchain Smart Contract to an OBP "User".
In the future, it might be possible to be more specific and pin specific actors (wallets) that are acting within the smart contract, but so far, one smart contract acts on behalf of one User.
Thus, if a smart contract "X" calls the OBP API using the DAuth header, OBP will get or create a user called X and the call will proceed in the context of that User "X".
DAuth is invoked by the REST client (caller) including a specific header (see step 3 below) in any OBP REST call.
When OBP receives the DAuth token, it creates or gets a User with a username based on the smart_contract_address and the provider based on the network_name. The combination of username and provider is unique in OBP.
If you are calling OBP-API via an API3 Airnode, the Airnode will take care of constructing the required header.
When OBP detects a DAuth header / token it first checks if the Consumer is allowed to make such a call. OBP will validate the Consumer ip address and signature etc.
Note: The DAuth flow does not require an explicit POST like Direct Login to create the token.
Permissions may be assigned to an OBP User at any time, via the UserAuthContext, Views, Entitlements to Roles or Consents.
Note: DAuth is NOT enabled on this instance!
Note: The DAuth client is responsible for creating a token which will be trusted by OBP absolutely!
To use DAuth:
Set up properties in your props file
# -- DAuth --------------------------------------# Define secret used to validate JWT token# jwt.public_key_rsa=path-to-the-pem-file# Enable/Disable DAuth communication at all# In case isn't defined default value is false# allow_dauth=false# Define comma separated list of allowed IP addresses# dauth.host=127.0.0.1# -------------------------------------- DAuth--
Please keep in mind that property jwt.public_key_rsa is used to validate JWT token to check it is not changed or corrupted during transport.
The following videos are available:
* DAuth in local environment
HEADER:ALGORITHM & TOKEN TYPE
{ "alg": "RS256", "typ": "JWT"}
PAYLOAD:DATA
{ "smart_contract_address": "0xe123425E7734CE288F8367e1Bb143E90bb3F051224", "network_name": "AIRNODE.TESTNET.ETHEREUM", "msg_sender": "0xe12340927f1725E7734CE288F8367e1Bb143E90fhku767", "consumer_key": "0x1234a4ec31e89cea54d1f125db7536e874ab4a96b4d4f6438668b6bb10a6adb", "timestamp": "2021-11-04T14:13:40Z", "request_id": "0Xe876987694328763492876348928736497869273649"}
VERIFY SIGNATURE
RSASHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload),) your-RSA-key-pair
Here is an example token:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFydF9jb250cmFjdF9hZGRyZXNzIjoiMHhlMTIzNDI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGJiM0YwNTEyMjQiLCJuZXR3b3JrX25hbWUiOiJFVEhFUkVVTSIsIm1zZ19zZW5kZXIiOiIweGUxMjM0MDkyN2YxNzI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGZoa3U3NjciLCJjb25zdW1lcl9rZXkiOiIweDEyMzRhNGVjMzFlODljZWE1NGQxZjEyNWRiNzUzNmU4NzRhYjRhOTZiNGQ0ZjY0Mzg2NjhiNmJiMTBhNmFkYiIsInRpbWVzdGFtcCI6IjIwMjEtMTEtMDRUMTQ6MTM6NDBaIiwicmVxdWVzdF9pZCI6IjBYZTg3Njk4NzY5NDMyODc2MzQ5Mjg3NjM0ODkyODczNjQ5Nzg2OTI3MzY0OSJ9.XSiQxjEVyCouf7zT8MubEKsbOBZuReGVhnt9uck6z6k
Using your favorite http client:
GET https://obp-api-sandbox.nmbbank.co.tz/obp/v3.0.0/users/current
Body
Leave Empty!
Headers:
DAuth: your-jwt-from-step-above
Here is it all together:
GET https://obp-api-sandbox.nmbbank.co.tz/obp/v3.0.0/users/current HTTP/1.1
Host: localhost:8080
User-Agent: curl/7.47.0
Accept: /
DAuth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFydF9jb250cmFjdF9hZGRyZXNzIjoiMHhlMTIzNDI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGJiM0YwNTEyMjQiLCJuZXR3b3JrX25hbWUiOiJFVEhFUkVVTSIsIm1zZ19zZW5kZXIiOiIweGUxMjM0MDkyN2YxNzI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGZoa3U3NjciLCJjb25zdW1lcl9rZXkiOiIweDEyMzRhNGVjMzFlODljZWE1NGQxZjEyNWRiNzUzNmU4NzRhYjRhOTZiNGQ0ZjY0Mzg2NjhiNmJiMTBhNmFkYiIsInRpbWVzdGFtcCI6IjIwMjEtMTEtMDRUMTQ6MTM6NDBaIiwicmVxdWVzdF9pZCI6IjBYZTg3Njk4NzY5NDMyODc2MzQ5Mjg3NjM0ODkyODczNjQ5Nzg2OTI3MzY0OSJ9.XSiQxjEVyCouf7zT8MubEKsbOBZuReGVhnt9uck6z6k
CURL example
curl -v -H 'DAuth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFydF9jb250cmFjdF9hZGRyZXNzIjoiMHhlMTIzNDI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGJiM0YwNTEyMjQiLCJuZXR3b3JrX25hbWUiOiJFVEhFUkVVTSIsIm1zZ19zZW5kZXIiOiIweGUxMjM0MDkyN2YxNzI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGZoa3U3NjciLCJjb25zdW1lcl9rZXkiOiIweDEyMzRhNGVjMzFlODljZWE1NGQxZjEyNWRiNzUzNmU4NzRhYjRhOTZiNGQ0ZjY0Mzg2NjhiNmJiMTBhNmFkYiIsInRpbWVzdGFtcCI6IjIwMjEtMTEtMDRUMTQ6MTM6NDBaIiwicmVxdWVzdF9pZCI6IjBYZTg3Njk4NzY5NDMyODc2MzQ5Mjg3NjM0ODkyODczNjQ5Nzg2OTI3MzY0OSJ9.XSiQxjEVyCouf7zT8MubEKsbOBZuReGVhnt9uck6z6k' https://obp-api-sandbox.nmbbank.co.tz/obp/v3.0.0/users/current
You should receive a response like:
{ "user_id": "4c4d3175-1e5c-4cfd-9b08-dcdc209d8221", "email": "", "provider_id": "0xe123425E7734CE288F8367e1Bb143E90bb3F051224", "provider": "ETHEREUM", "username": "0xe123425E7734CE288F8367e1Bb143E90bb3F051224", "entitlements": { "list": [] }}
The file, dauth.scala handles the DAuth,
We:
-> Check if Props allow_dauth is true -> Check if DAuth header exists -> Check if getRemoteIpAddress is OK -> Look for "token" -> parse the JWT token and getOrCreate the user -> get the data of the user
Parameter names and values are case sensitive.
Each parameter MUST NOT appear more than once per request.
Views in Open Bank Project provide a mechanism for fine grained access control and delegation to Accounts and Transactions. Account holders use the 'owner' view by default. Delegated access is made through other views for example 'accountants', 'share-holders' or 'tagging-application'. Views can be created via the API and each view has a list of entitlements.
Views on accounts and transactions filter the underlying data to redact certain fields for certain users. For instance the balance on an account may be hidden from the public. The way to know what is possible on a view is determined in the following JSON.
Data: When a view moderates a set of data, some fields my contain the value null
rather than the original value. This indicates either that the user is not allowed to see the original data or the field is empty.
There is currently one exception to this rule; the 'holder' field in the JSON contains always a value which is either an alias or the real name - indicated by the 'is_alias' field.
Action: When a user performs an action like trying to post a comment (with POST API call), if he is not allowed, the body response will contain an error message.
Metadata:
Transaction metadata (like images, tags, comments, etc.) will appears ONLY on the view where they have been created e.g. comments posted to the public view only appear on the public view.
The other account metadata fields (like image_URL, more_info, etc.) are unique through all the views. Example, if a user edits the 'more_info' field in the 'team' view, then the view 'authorities' will show the new value (if it is allowed to do it).
Optional
Returns the list of the views created for account ACCOUNT_ID at BANK_ID.
Authentication is Mandatory and the user needs to have access to the owner view.
","operationId":"getViewsForBankAccount","parameters":[{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ViewsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["View-Custom","Account"],"summary":"Create Custom View","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a custom view on bank account
Authentication is Mandatory and the user needs to have access to the owner view.
The 'alias' field in the JSON can take one of three values:
''(empty string): to use no alias; the view shows the real name of the other account.
The 'hide_metadata_if_alias_used' field in the JSON can take boolean values. If it is set to true
and there is an alias on the other account then the other accounts' metadata (like more_info, url, image_url, open_corporates_url, etc.) will be hidden. Otherwise the metadata will be shown.
The 'allowed_actions' field is a list containing the name of the actions allowed on this view, all the actions contained will be set to true
on the view creation, the rest will be set to false
.
You MUST use a leading _ (underscore) in the view name because other view names are reserved for OBP system views.
","operationId":"createViewForBankAccount","parameters":[{"in":"body","name":"body","description":"CreateViewJsonV300 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreateViewJsonV300"}},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ViewJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/views/{VIEW_ID}":{"delete":{"tags":["View-Custom","Account"],"summary":"Delete Custom View","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Deletes the custom view specified by VIEW_ID on the bank account specified by ACCOUNT_ID at bank BANK_ID
Authentication is Mandatory
","operationId":"deleteViewForBankAccount","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["View-Custom","Account"],"summary":"Update Custom View","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an existing custom view on a bank account
Authentication is Mandatory and the user needs to have access to the owner view.
The json sent is the same as during view creation (above), with one difference: the 'name' field
of a view is not editable (it is only set when a view is created)
Returns only the list of accounts ids at BANK_ID that the user has access to.
Each account must have at least one private View.
For each account the API returns its account ID.
If you want to see more information on the Views, use the Account Detail call.
optional request parameters:
whole url example:
/banks/BANK_ID/accounts/account_ids/private?account_type_filter=330,CURRENT+PLUS&account_type_filter_operation=INCLUDE
Authentication is Mandatory
","operationId":"getPrivateAccountIdsbyBankId","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountsIdsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/private":{"get":{"tags":["Account","Account Information Service (AIS)","PSD2"],"summary":"Get Accounts at Bank (Minimal)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the minimal list of private accounts at BANK_ID that the user has access to.
For each account, the API returns the ID, routing addresses and the views available to the current user.
If you want to see more information on the Views, use the Account Detail call.
optional request parameters:
whole url example:
/banks/BANK_ID/accounts/private?account_type_filter=330,CURRENT+PLUS&account_type_filter_operation=INCLUDE
Authentication is Mandatory
","operationId":"privateAccountsAtOneBank","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CoreAccountsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/accounts/public":{"get":{"tags":["Account-Public","Account","PublicData"],"summary":"Get Public Accounts at Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns a list of the public accounts (Anonymous access) at BANK_ID. For each account the API returns the ID and the available views.
Authentication is Optional
","operationId":"publicAccountsAtOneBank","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BasicAccountsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/adapter":{"get":{"tags":["API"],"summary":"Get Adapter Info for a bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get basic information about the Adapter listening on behalf of this bank.
Authentication is Optional
Authentication is Mandatory
","operationId":"getAdapterInfoForBank","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AdapterInfoJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/atms":{"get":{"tags":["ATM"],"summary":"Get Bank ATMS","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about ATMs for a single bank specified by BANK_ID including:
Pagination:
By default, 100 records are returned.
You can use the url query parameters limit and offset for pagination
Authentication is Optional
","operationId":"getAtms","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AtmsJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"post":{"tags":["ATM"],"summary":"Create ATM","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create ATM.
Authentication is Mandatory
","operationId":"createAtm","parameters":[{"in":"body","name":"body","description":"AtmJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AtmJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/AtmJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/atms/{ATM_ID}":{"delete":{"tags":["ATM"],"summary":"Delete ATM","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete ATM.
Authentication is Mandatory
","operationId":"deleteAtm","parameters":[{"in":"path","name":"ATM_ID","description":"the atm id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["ATM"],"summary":"Get Bank ATM","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about ATM for a single bank specified by BANK_ID and ATM_ID including:
Update ATM.
Authentication is Mandatory
","operationId":"updateAtm","parameters":[{"in":"body","name":"body","description":"AtmJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AtmJsonV400"}},{"in":"path","name":"ATM_ID","description":"the atm id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AtmJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/atms/{ATM_ID}/accessibility-features":{"put":{"tags":["ATM"],"summary":"Update ATM Accessibility Features","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update ATM Accessibility Features.
Authentication is Mandatory
","operationId":"updateAtmAccessibilityFeatures","parameters":[{"in":"body","name":"body","description":"AccessibilityFeaturesJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AccessibilityFeaturesJson"}},{"in":"path","name":"ATM_ID","description":"the atm id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AtmAccessibilityFeaturesJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/atms/{ATM_ID}/location-categories":{"put":{"tags":["ATM"],"summary":"Update ATM Location Categories","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update ATM Location Categories.
Authentication is Mandatory
","operationId":"updateAtmLocationCategories","parameters":[{"in":"body","name":"body","description":"AtmLocationCategoriesJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AtmLocationCategoriesJsonV400"}},{"in":"path","name":"ATM_ID","description":"the atm id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AtmLocationCategoriesResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/atms/{ATM_ID}/notes":{"put":{"tags":["ATM"],"summary":"Update ATM Notes","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update ATM Notes.
Authentication is Mandatory
","operationId":"updateAtmNotes","parameters":[{"in":"body","name":"body","description":"AtmNotesJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AtmNotesJsonV400"}},{"in":"path","name":"ATM_ID","description":"the atm id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AtmNotesResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/atms/{ATM_ID}/services":{"put":{"tags":["ATM"],"summary":"Update ATM Services","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update ATM Services.
Authentication is Mandatory
","operationId":"updateAtmServices","parameters":[{"in":"body","name":"body","description":"AtmServicesJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AtmServicesJsonV400"}},{"in":"path","name":"ATM_ID","description":"the atm id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AtmServicesResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/atms/{ATM_ID}/supported-currencies":{"put":{"tags":["ATM"],"summary":"Update ATM Supported Currencies","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update ATM Supported Currencies.
Authentication is Mandatory
","operationId":"updateAtmSupportedCurrencies","parameters":[{"in":"body","name":"body","description":"SupportedCurrenciesJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/SupportedCurrenciesJson"}},{"in":"path","name":"ATM_ID","description":"the atm id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AtmSupportedCurrenciesJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/atms/{ATM_ID}/supported-languages":{"put":{"tags":["ATM"],"summary":"Update ATM Supported Languages","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update ATM Supported Languages.
Authentication is Mandatory
","operationId":"updateAtmSupportedLanguages","parameters":[{"in":"body","name":"body","description":"SupportedLanguagesJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/SupportedLanguagesJson"}},{"in":"path","name":"ATM_ID","description":"the atm id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AtmSupportedLanguagesJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute":{"post":{"tags":["Bank"],"summary":"Create Bank Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Bank Attribute
Typical product attributes might be:
ISIN (for International bonds)
VKN (for German bonds)
REDCODE (markit short code for credit derivative)
LOAN_ID (e.g. used for Anacredit reporting)
ISSUE_DATE (When the bond was issued in the market)
MATURITY_DATE (End of life time of a product)
TRADABLE
See FPML for more examples.
The type field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"
Authentication is Mandatory
","operationId":"createBankAttribute","parameters":[{"in":"body","name":"body","description":"BankAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/BankAttributeJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/BankAttributeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/ATTRIBUTE_DEFINITION_ID/account":{"delete":{"tags":["Account"],"summary":"Delete Account Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Account Attribute Definition by ATTRIBUTE_DEFINITION_ID
Authentication is Mandatory
","operationId":"deleteAccountAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/ATTRIBUTE_DEFINITION_ID/card":{"delete":{"tags":["Card"],"summary":"Delete Card Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Card Attribute Definition by ATTRIBUTE_DEFINITION_ID
Authentication is Mandatory
","operationId":"deleteCardAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/ATTRIBUTE_DEFINITION_ID/customer":{"delete":{"tags":["Customer"],"summary":"Delete Customer Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Customer Attribute Definition by ATTRIBUTE_DEFINITION_ID
Authentication is Mandatory
","operationId":"deleteCustomerAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/ATTRIBUTE_DEFINITION_ID/product":{"delete":{"tags":["Product"],"summary":"Delete Product Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Product Attribute Definition by ATTRIBUTE_DEFINITION_ID
Authentication is Mandatory
","operationId":"deleteProductAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/ATTRIBUTE_DEFINITION_ID/transaction":{"delete":{"tags":["Transaction"],"summary":"Delete Transaction Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Transaction Attribute Definition by ATTRIBUTE_DEFINITION_ID
Authentication is Mandatory
","operationId":"deleteTransactionAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/ATTRIBUTE_DEFINITION_ID/transaction-request":{"delete":{"tags":["Transaction-Request"],"summary":"Delete Transaction Request Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Transaction Request Attribute Definition by ATTRIBUTE_DEFINITION_ID
Authentication is Mandatory
","operationId":"deleteTransactionRequestAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/Full"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/account":{"get":{"tags":["Account"],"summary":"Get Account Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Account Attribute Definition
Authentication is Mandatory
","operationId":"getAccountAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionsResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Account"],"summary":"Create or Update Account Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update Account Attribute Definition
The category field must be Account
The type field must be one of; DOUBLE, STRING, INTEGER and DATE_WITH_DAY
Authentication is Mandatory
","operationId":"createOrUpdateAccountAttributeDefinition","parameters":[{"in":"body","name":"body","description":"AttributeDefinitionJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AttributeDefinitionJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/bank":{"put":{"tags":["Bank"],"summary":"Create or Update Bank Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update Bank Attribute Definition
The category field must be Bank
The type field must be one of; DOUBLE, STRING, INTEGER and DATE_WITH_DAY
Authentication is Mandatory
","operationId":"createOrUpdateBankAttributeDefinition","parameters":[{"in":"body","name":"body","description":"AttributeDefinitionJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AttributeDefinitionJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/card":{"get":{"tags":["Card"],"summary":"Get Card Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Card Attribute Definition
Authentication is Mandatory
","operationId":"getCardAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionsResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Card"],"summary":"Create or Update Card Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update Card Attribute Definition
The category field must be Card
The type field must be one of; DOUBLE, STRING, INTEGER and DATE_WITH_DAY
Authentication is Mandatory
","operationId":"createOrUpdateCardAttributeDefinition","parameters":[{"in":"body","name":"body","description":"AttributeDefinitionJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AttributeDefinitionJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/customer":{"get":{"tags":["Customer"],"summary":"Get Customer Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Customer Attribute Definition
Authentication is Mandatory
","operationId":"getCustomerAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionsResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Customer"],"summary":"Create or Update Customer Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update Customer Attribute Definition
The category field must be one of: Customer
The type field must be one of; DOUBLE, STRING, INTEGER and DATE_WITH_DAY
Authentication is Mandatory
","operationId":"createOrUpdateCustomerAttributeAttributeDefinition","parameters":[{"in":"body","name":"body","description":"AttributeDefinitionJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AttributeDefinitionJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/product":{"get":{"tags":["Product"],"summary":"Get Product Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Product Attribute Definition
Authentication is Mandatory
","operationId":"getProductAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionsResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Product"],"summary":"Create or Update Product Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update Product Attribute Definition
The category field must be Product
The type field must be one of; DOUBLE, STRING, INTEGER and DATE_WITH_DAY
Authentication is Mandatory
","operationId":"createOrUpdateProductAttributeDefinition","parameters":[{"in":"body","name":"body","description":"AttributeDefinitionJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AttributeDefinitionJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/transaction":{"get":{"tags":["Transaction"],"summary":"Get Transaction Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Transaction Attribute Definition
Authentication is Mandatory
","operationId":"getTransactionAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionsResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Transaction"],"summary":"Create or Update Transaction Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update Transaction Attribute Definition
The category field must be Transaction
The type field must be one of; DOUBLE, STRING, INTEGER and DATE_WITH_DAY
Authentication is Mandatory
","operationId":"createOrUpdateTransactionAttributeDefinition","parameters":[{"in":"body","name":"body","description":"AttributeDefinitionJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AttributeDefinitionJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attribute-definitions/transaction-request":{"get":{"tags":["Transaction-Request"],"summary":"Get Transaction Request Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Transaction Request Attribute Definition
Authentication is Mandatory
","operationId":"getTransactionRequestAttributeDefinition","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionsResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Transaction-Request"],"summary":"Create or Update Transaction Request Attribute Definition","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update Transaction Request Attribute Definition
The category field must be TransactionRequest
The type field must be one of: DOUBLE, STRING, INTEGER and DATE_WITH_DAY
Authentication is Mandatory
","operationId":"createOrUpdateTransactionRequestAttributeDefinition","parameters":[{"in":"body","name":"body","description":"AttributeDefinitionJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AttributeDefinitionJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attributes":{"get":{"tags":["Bank"],"summary":"Get Bank Attributes","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Bank Attributes
Authentication is Mandatory
","operationId":"getBankAttributes","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BankAttributesResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/attributes/BANK_ATTRIBUTE_ID":{"delete":{"tags":["Bank"],"summary":"Delete Bank Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Bank Attribute
Delete a Bank Attribute by its id.
Authentication is Mandatory
","operationId":"deleteBankAttribute","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"get":{"tags":["Bank"],"summary":"Get Bank Attribute By BANK_ATTRIBUTE_ID","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Bank Attribute By BANK_ATTRIBUTE_ID
Authentication is Mandatory
","operationId":"getBankAttribute","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BankAttributeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Bank"],"summary":"Update Bank Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Bank Attribute.
Update one Bak Attribute by its id.
Authentication is Mandatory
","operationId":"updateBankAttribute","parameters":[{"in":"body","name":"body","description":"BankAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/BankAttributeJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AttributeDefinitionJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/balances":{"get":{"tags":["Account","Account Information Service (AIS)","PSD2"],"summary":"Get Accounts Balances","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Balances for the Accounts of the current User at one bank.
Authentication is Mandatory
","operationId":"getBankAccountsBalances","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountsBalancesJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/branches":{"get":{"tags":["Branch","Bank"],"summary":"Get Branches for a Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about branches for a single bank specified by BANK_ID including:
Pagination:
By default, 50 records are returned.
You can use the url query parameters limit and offset for pagination
You can also use the follow url query parameters:
city - string, find Branches those in this city, optional
withinMetersOf - number, find Branches within given meters distance, optional
note: withinMetersOf, nearLatitude and nearLongitude either all empty or all have value.
Authentication is Optional
","operationId":"getBranches","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BranchesJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"post":{"tags":["Branch"],"summary":"Create Branch","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Branch for the Bank.
Authentication is Mandatory
","operationId":"createBranch","parameters":[{"in":"body","name":"body","description":"BranchJsonV300 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/BranchJsonV300"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/BranchJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/branches/{BRANCH_ID}":{"delete":{"tags":["Branch"],"summary":"Delete Branch","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Branch from given Bank.
Authentication is Mandatory
","operationId":"deleteBranch","parameters":[{"in":"path","name":"BRANCH_ID","description":"The branch id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Branch","Bank"],"summary":"Get Branch","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about a single Branch specified by BANK_ID and BRANCH_ID including:
Authentication is Optional
","operationId":"getBranch","parameters":[{"in":"path","name":"BRANCH_ID","description":"The branch id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BranchJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBranchNotFoundByBranchId"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/consents/{CONSENT_ID}":{"put":{"tags":["Consent","Account Information Service (AIS)"],"summary":"Update Consent Status","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint is used to update the Status of Consent.
Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.
Authentication is Mandatory
","operationId":"updateConsentStatus","parameters":[{"in":"body","name":"body","description":"PutConsentStatusJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutConsentStatusJsonV400"}},{"in":"path","name":"CONSENT_ID","description":"the consent id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConsentChallengeJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/consents/{CONSENT_ID}/challenge":{"post":{"tags":["Consent","Account Information Service (AIS)","PSD2"],"summary":"Answer Consent Challenge","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"An OBP Consent allows the holder of the Consent to call one or more endpoints.
Consents must be created and authorisied using SCA (Strong Customer Authentication).
That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.
Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.
Each Consent is bound to a consumer i.e. you need to identify yourself over request header value Consumer-Key.
For example:
GET /obp/v4.0.0/users/current HTTP/1.1
Host: 127.0.0.1:8080
Consent-JWT: eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOlt7InJvbGVfbmFtZSI6IkNhbkdldEFueVVzZXIiLCJiYW5rX2lkIjoiIn
1dLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIzNDc1MDEzZi03YmY5LTQyNj
EtOWUxYy0xZTdlNWZjZTJlN2UiLCJhdWQiOiI4MTVhMGVmMS00YjZhLTQyMDUtYjExMi1lNDVmZDZmNGQzYWQiLCJuYmYiOjE1ODA3NDE2NjcsIml
zcyI6Imh0dHA6XC9cLzEyNy4wLjAuMTo4MDgwIiwiZXhwIjoxNTgwNzQ1MjY3LCJpYXQiOjE1ODA3NDE2NjcsImp0aSI6ImJkYzVjZTk5LTE2ZTY
tNDM4Yi1hNjllLTU3MTAzN2RhMTg3OCIsInZpZXdzIjpbXX0.L3fEEEhdCVr3qnmyRKBBUaIQ7dk1VjiFaEBW8hUNjfg
Consumer-Key: ejznk505d132ryomnhbx1qmtohurbsbb0kijajsk
cache-control: no-cache
Maximum time to live of the token is specified over props value consents.max_time_to_live. In case isn't defined default value is 3600 seconds.
Example of POST JSON:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com",
"valid_from": "2020-02-07T08:43:34Z",
"time_to_live": 3600
}
Please note that only optional fields are: consumer_id, valid_from and time_to_live.
In case you omit they the default values are used:
consumer_id = consumer of current user
valid_from = current time
time_to_live = consents.max_time_to_live
This endpoint is used to confirm a Consent previously created.
The User must supply a code that was sent out of band (OOB) for example via an SMS.
Authentication is Mandatory
","operationId":"answerConsentChallenge","parameters":[{"in":"body","name":"body","description":"PostConsentChallengeJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostConsentChallengeJsonV310"}},{"in":"path","name":"CONSENT_ID","description":"the consent id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ConsentChallengeJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/consents/{CONSENT_ID}/user-update-request":{"put":{"tags":["Consent","Account Information Service (AIS)"],"summary":"Add User to a Consent","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint is used to add the User of Consent.
Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.
Authentication is Mandatory
","operationId":"addConsentUser","parameters":[{"in":"body","name":"body","description":"PutConsentUserJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutConsentUserJsonV400"}},{"in":"path","name":"CONSENT_ID","description":"the consent id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConsentChallengeJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/crm-events":{"get":{"tags":["Customer"],"summary":"Get CRM Events","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Authentication is Mandatory
","operationId":"getCrmEvents","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CrmEventsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customer/{CUSTOMER_ID}/messages":{"post":{"tags":["Customer-Message","Customer","Person"],"summary":"Create Customer Message","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a message for the customer specified by CUSTOMER_ID
Authentication is Mandatory
","operationId":"addCustomerMessage","parameters":[{"in":"body","name":"body","description":"AddCustomerMessageJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AddCustomerMessageJson"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customer/messages":{"get":{"tags":["Customer-Message","Customer"],"summary":"Get Customer Messages for all Customers","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get messages for the logged in customer
Messages sent to the currently authenticated user.
Authentication via OAuth is required.
Authentication is Mandatory
","operationId":"getCustomersMessages","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerMessagesJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers":{"get":{"tags":["Customer"],"summary":"Get Customers by ATTRIBUTES","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Gets the Customers specified by attributes
URL params example: /banks/some-bank-id/customers?name=John&age=8
URL params example: /banks/some-bank-id/customers?manager=John&count=8
Authentication is Mandatory
","operationId":"getCustomersByAttributes","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["customers"],"properties":{"customers":{"type":"array","items":{"$ref":"#/definitions/CustomerWithAttributesJsonV310"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Customer","Person"],"summary":"Create Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"The Customer resource stores the customer number (which is set by the backend), legal name, email, phone number, their date of birth, relationship status, education attained, a url for a profile image, KYC status etc.
Dates need to be in the format 2013-01-21T23:08:00Z
Note: If you need to set a specific customer number, use the Update Customer Number endpoint after this call.
Authentication is Mandatory
","operationId":"createCustomer","parameters":[{"in":"body","name":"body","description":"PostCustomerJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostCustomerJsonV310"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}":{"get":{"tags":["Customer"],"summary":"Get Customer by CUSTOMER_ID","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Gets the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"getCustomerByCustomerId","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerWithAttributesJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/address":{"post":{"tags":["Customer"],"summary":"Create Address","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create an Address for a Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"createCustomerAddress","parameters":[{"in":"body","name":"body","description":"PostCustomerAddressJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostCustomerAddressJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/CustomerAddressJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/addresses":{"get":{"tags":["Customer","KYC"],"summary":"Get Customer Addresses","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Addresses of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"getCustomerAddresses","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerAddressesJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/addresses/{CUSTOMER_ADDRESS_ID}":{"delete":{"tags":["Customer","KYC"],"summary":"Delete Customer Address","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete an Address of the Customer specified by CUSTOMER_ADDRESS_ID.
Authentication is Mandatory
","operationId":"deleteCustomerAddress","parameters":[{"in":"path","name":"CUSTOMER_ADDRESS_ID","description":"the customer address id","required":true,"type":"string"},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Customer"],"summary":"Update the Address of a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an Address of the Customer specified by CUSTOMER_ADDRESS_ID.
Authentication is Mandatory
","operationId":"updateCustomerAddress","parameters":[{"in":"body","name":"body","description":"PostCustomerAddressJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostCustomerAddressJsonV310"}},{"in":"path","name":"CUSTOMER_ADDRESS_ID","description":"the customer address id","required":true,"type":"string"},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerAddressJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/attribute":{"post":{"tags":["Customer"],"summary":"Create Customer Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Customer Attribute
The type field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"
Authentication is Mandatory
","operationId":"createCustomerAttribute","parameters":[{"in":"body","name":"body","description":"CustomerAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CustomerAttributeJsonV400"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/CustomerAttributeResponseJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/attributes":{"get":{"tags":["Customer"],"summary":"Get Customer Attributes","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Customer Attributes
Authentication is Mandatory
","operationId":"getCustomerAttributes","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerAttributesResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/attributes/ATTRIBUTE_ID":{"get":{"tags":["Customer"],"summary":"Get Customer Attribute By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Customer Attribute By Id
Authentication is Mandatory
","operationId":"getCustomerAttributeById","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerAttributeResponseJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/attributes/CUSTOMER_ATTRIBUTE_ID":{"put":{"tags":["Customer"],"summary":"Update Customer Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Customer Attribute
Authentication is Mandatory
","operationId":"updateCustomerAttribute","parameters":[{"in":"body","name":"body","description":"CustomerAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CustomerAttributeJsonV400"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerAttributeResponseJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/branch":{"put":{"tags":["Customer"],"summary":"Update the Branch of a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the Branch of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"updateCustomerBranch","parameters":[{"in":"body","name":"body","description":"PutUpdateCustomerBranchJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutUpdateCustomerBranchJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/correlated-users":{"get":{"tags":["Customer"],"summary":"Get Correlated User Info by Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Correlated User Info by CUSTOMER_ID
Authentication is Mandatory
","operationId":"getCorrelatedUsersInfoByCustomerId","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerAndUsersWithAttributesResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/credit-limit":{"put":{"tags":["Customer"],"summary":"Update the credit limit of a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the credit limit of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"updateCustomerCreditLimit","parameters":[{"in":"body","name":"body","description":"PutUpdateCustomerCreditLimitJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutUpdateCustomerCreditLimitJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/credit-rating-and-source":{"put":{"tags":["Customer"],"summary":"Update the credit rating and source of a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the credit rating and source of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"updateCustomerCreditRatingAndSource","parameters":[{"in":"body","name":"body","description":"PutUpdateCustomerCreditRatingAndSourceJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutUpdateCustomerCreditRatingAndSourceJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/data":{"put":{"tags":["Customer"],"summary":"Update the other data of a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the other data of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"updateCustomerData","parameters":[{"in":"body","name":"body","description":"PutUpdateCustomerDataJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutUpdateCustomerDataJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/email":{"put":{"tags":["Customer"],"summary":"Update the email of a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an email of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"updateCustomerEmail","parameters":[{"in":"body","name":"body","description":"PutUpdateCustomerEmailJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutUpdateCustomerEmailJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/identity":{"put":{"tags":["Customer"],"summary":"Update the identity data of a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the identity data of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"updateCustomerIdentity","parameters":[{"in":"body","name":"body","description":"PutUpdateCustomerIdentityJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutUpdateCustomerIdentityJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/kyc_check/{KYC_CHECK_ID}":{"put":{"tags":["KYC","Customer"],"summary":"Add KYC Check","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Add a KYC check for the customer specified by CUSTOMER_ID. KYC Checks store details of checks on a customer made by the KYC team, their comments and a satisfied status
Authentication is Mandatory
","operationId":"addKycCheck","parameters":[{"in":"body","name":"body","description":"PostKycCheckJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostKycCheckJSON"}},{"in":"path","name":"KYC_CHECK_ID","description":"The kyc check id","required":true,"type":"string"},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/KycCheckJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/kyc_documents/{KYC_DOCUMENT_ID}":{"put":{"tags":["KYC","Customer"],"summary":"Add KYC Document","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Add a KYC document for the customer specified by CUSTOMER_ID. KYC Documents contain the document type (e.g. passport), place of issue, expiry etc.
Authentication is Mandatory
","operationId":"addKycDocument","parameters":[{"in":"body","name":"body","description":"PostKycDocumentJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostKycDocumentJSON"}},{"in":"path","name":"KYC_DOCUMENT_ID","description":"The kyc document id","required":true,"type":"string"},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/KycDocumentJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/kyc_media/{KYC_MEDIA_ID}":{"put":{"tags":["KYC","Customer"],"summary":"Add KYC Media","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Add some KYC media for the customer specified by CUSTOMER_ID. KYC Media resources relate to KYC Documents and KYC Checks and contain media urls for scans of passports, utility bills etc
Authentication is Mandatory
","operationId":"addKycMedia","parameters":[{"in":"body","name":"body","description":"PostKycMediaJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostKycMediaJSON"}},{"in":"path","name":"KYC_MEDIA_ID","description":"The kyc media id","required":true,"type":"string"},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/KycMediaJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/kyc_statuses":{"put":{"tags":["KYC","Customer"],"summary":"Add KYC Status","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Add a kyc_status for the customer specified by CUSTOMER_ID. KYC Status is a timeline of the KYC status of the customer
Authentication is Mandatory
","operationId":"addKycStatus","parameters":[{"in":"body","name":"body","description":"PostKycStatusJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostKycStatusJSON"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/KycStatusJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/messages":{"get":{"tags":["Customer-Message","Customer"],"summary":"Get Customer Messages for a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get messages for the customer specified by CUSTOMER_ID
Authentication is Mandatory
Create a message for the customer specified by CUSTOMER_ID
Authentication is Mandatory
Update the mobile number of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"updateCustomerMobileNumber","parameters":[{"in":"body","name":"body","description":"PutUpdateCustomerMobilePhoneNumberJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutUpdateCustomerMobilePhoneNumberJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/number":{"put":{"tags":["Customer"],"summary":"Update the number of a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the number of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"updateCustomerNumber","parameters":[{"in":"body","name":"body","description":"PutUpdateCustomerNumberJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutUpdateCustomerNumberJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/social_media_handles":{"get":{"tags":["Customer"],"summary":"Get Customer Social Media Handles","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get social media handles for a customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"getSocialMediaHandles","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SocialMediasJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Customer"],"summary":"Create Customer Social Media Handle","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a customer social media handle for the customer specified by CUSTOMER_ID
Authentication is Mandatory
","operationId":"addSocialMediaHandle","parameters":[{"in":"body","name":"body","description":"SocialMediaJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/SocialMediaJSON"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SuccessMessage"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/tax-residence":{"post":{"tags":["Customer","KYC"],"summary":"Create Tax Residence","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a Tax Residence for a Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"createTaxResidence","parameters":[{"in":"body","name":"body","description":"PostTaxResidenceJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostTaxResidenceJsonV310"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TaxResidenceV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/tax-residences":{"get":{"tags":["Customer","KYC"],"summary":"Get Tax Residences of Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Tax Residences of the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"getTaxResidence","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TaxResidenceJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/{CUSTOMER_ID}/tax_residencies/{TAX_RESIDENCE_ID}":{"delete":{"tags":["Customer","KYC"],"summary":"Delete Tax Residence","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Tax Residence of the Customer specified by TAX_RESIDENCE_ID.
Authentication is Mandatory
","operationId":"deleteTaxResidence","parameters":[{"in":"path","name":"TAX_RESIDENCE_ID","description":"the tax residence id","required":true,"type":"string"},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/customers/customer-number":{"post":{"tags":["Customer","KYC"],"summary":"Get Customer by CUSTOMER_NUMBER","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Gets the Customer specified by CUSTOMER_NUMBER.
Authentication is Mandatory
","operationId":"getCustomerByCustomerNumber","parameters":[{"in":"body","name":"body","description":"PostCustomerNumberJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostCustomerNumberJsonV310"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/CustomerWithAttributesJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/entitlements":{"get":{"tags":["Role","Entitlement","User"],"summary":"Get Entitlements for One Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Authentication is Mandatory
","operationId":"getEntitlementsForBank","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementsJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/firehose/accounts/{ACCOUNT_ID}/views/{VIEW_ID}/transactions":{"get":{"tags":["Transaction","Account-Firehose","Transaction-Firehose","FirehoseData"],"summary":"Get Firehose Transactions for Account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Transactions for an Account that has a firehose View.
Allows bulk access to an account's transactions.
User must have the CanUseFirehoseAtAnyBank Role
To find ACCOUNT_IDs, use the getFirehoseAccountsAtOneBank call.
For VIEW_ID try 'owner'
Possible custom url parameters for pagination:
eg1:?limit=100&offset=0
eg2:?limit=100&offset=0&sort_direction=ASC
Date format parameter: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'(1100-01-01T01:01:01.000Z) ==> time zone is UTC.
eg3:?sort_direction=ASC&limit=100&offset=0&from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z
Authentication is Mandatory
","operationId":"getFirehoseTransactionsForBankAccount","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/firehose/accounts/views/{VIEW_ID}":{"get":{"tags":["Account","Account-Firehose","FirehoseData"],"summary":"Get Firehose Accounts at Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Accounts which have a firehose view assigned to them.
This endpoint allows bulk access to accounts.
Requires the CanUseFirehoseAtAnyBank Role
To be shown on the list, each Account must have a firehose View linked to it.
A firehose view has is_firehose = true
For VIEW_ID try 'owner'
optional request parameters for filter with attributes
URL params example:
/banks/some-bank-id/firehose/accounts/views/owner?manager=John&count=8
to invalid Browser cache, add timestamp query parameter as follow, the parameter name must be _timestamp_
URL params example:/banks/some-bank-id/firehose/accounts/views/owner?manager=John&count=8&_timestamp_=1596762180358
Authentication is Mandatory
","operationId":"getFirehoseAccountsAtOneBank","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ModeratedFirehoseAccountsJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/firehose/customers":{"get":{"tags":["Customer","FirehoseData"],"summary":"Get Firehose Customers","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Customers that has a firehose View.
Allows bulk access to customers.
User must have the CanUseFirehoseAtAnyBank Role
Possible custom url parameters for pagination:
eg1:?limit=100&offset=0
eg2:?limit=100&offset=0&sort_direction=ASC
Date format parameter: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'(1100-01-01T01:01:01.000Z) ==> time zone is UTC.
eg3:?sort_direction=ASC&limit=100&offset=0&from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z
Authentication is Mandatory
","operationId":"getFirehoseCustomers","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJSONs"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/fx":{"put":{"tags":["FX"],"summary":"Create Fx","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update Fx for the Bank.
Example:
“from_currency_code”:“EUR”,
“to_currency_code”:“USD”,
“conversion_value”: 1.136305,
“inverse_conversion_value”: 1 / 1.136305 = 0.8800454103431737,
Thus 1 Euro = 1.136305 US Dollar
and
1 US Dollar = 0.8800 Euro
Authentication is Mandatory
","operationId":"createFx","parameters":[{"in":"body","name":"body","description":"FXRateJsonV220 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/FXRateJsonV220"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/FXRateJsonV220"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/fx/{FROM_CURRENCY_CODE}/{TO_CURRENCY_CODE}":{"get":{"tags":["FX"],"summary":"Get Current FxRate","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the latest FX rate specified by BANK_ID, FROM_CURRENCY_CODE and TO_CURRENCY_CODE
OBP may try different sources of FX rate information depending on the Connector in operation.
For example we want to convert EUR => USD:
OBP will:
1st try - Connector (database, core banking system or external FX service)
2nd try part 1 - fallbackexchangerates/eur.json
2nd try part 2 - fallbackexchangerates/usd.json (the inverse rate is used)
3rd try - Hardcoded map of FX rates.
Authentication is Mandatory
","operationId":"getCurrentFxRate","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"TO_CURRENCY_CODE","description":"The to currency code","required":true,"type":"string"},{"in":"path","name":"FROM_CURRENCY_CODE","description":"The from currency code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/FXRateJsonV220"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidISOCurrencyCode"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/management/historical/transactions":{"post":{"tags":["Transaction-Request"],"summary":"Create Historical Transactions ","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create historical transactions at one Bank
Use this endpoint to create transactions between any two accounts at the same bank.
From account and to account must be at the same bank.
Example:
{
"from_account_id": "1ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
"to_account_id": "2ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
"value": {
"currency": "GBP",
"amount": "10"
},
"description": "this is for work",
"posted": "2017-09-19T02:31:05Z",
"completed": "2017-09-19T02:31:05Z",
"type": "SANDBOX_TAN",
"charge_policy": "SHARED"
}
This call is experimental.
Authentication is Mandatory
","operationId":"createHistoricalTransactionAtBank","parameters":[{"in":"body","name":"body","description":"PostHistoricalTransactionAtBankJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostHistoricalTransactionAtBankJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/PostHistoricalTransactionResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/meetings":{"get":{"tags":["Customer-Meeting","Customer","Experimental"],"summary":"Get Meetings","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Meetings contain meta data about, and are used to facilitate, video conferences / chats etc.
The actual conference/chats are handled by external services.
Login is required.
This call is experimental and will require further authorisation in the future.
Authentication is Mandatory
","operationId":"getMeetings","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/MeetingsJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Customer-Meeting","Customer","Experimental"],"summary":"Create Meeting (video conference/call)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Meeting: Initiate a video conference/call with the bank.
The Meetings resource contains meta data about video/other conference sessions
provider_id determines the provider of the meeting / video chat service. MUST be url friendly (no spaces).
purpose_id explains the purpose of the chat. onboarding | mortgage | complaint etc. MUST be url friendly (no spaces).
Login is required.
This call is experimental. Currently staff_user_id is not set. Further calls will be needed to correctly set this.
Authentication is Mandatory
","operationId":"createMeeting","parameters":[{"in":"body","name":"body","description":"CreateMeetingJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreateMeetingJsonV310"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/MeetingJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/meetings/{MEETING_ID}":{"get":{"tags":["Customer-Meeting","Customer","Experimental"],"summary":"Get Meeting","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Meeting specified by BANK_ID / MEETING_ID
Meetings contain meta data about, and are used to facilitate, video conferences / chats etc.
The actual conference/chats are handled by external services.
Login is required.
This call is experimental and will require further authorisation in the future.
Authentication is Mandatory
","operationId":"getMeeting","parameters":[{"in":"path","name":"MEETING_ID","description":"the meeting id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/MeetingJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/my/consent-infos":{"get":{"tags":["Consent","Account Information Service (AIS)","PSD2"],"summary":"Get Consents Info","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint gets the Consents that the current User created.
Authentication is Mandatory
","operationId":"getConsentInfos","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConsentInfosJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/my/consents":{"get":{"tags":["Consent","Account Information Service (AIS)","PSD2"],"summary":"Get Consents","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint gets the Consents that the current User created.
Authentication is Mandatory
","operationId":"getConsents","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConsentsJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/my/consents/{CONSENT_ID}/revoke":{"get":{"tags":["Consent","Account Information Service (AIS)","PSD2"],"summary":"Revoke Consent","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Revoke Consent for current user specified by CONSENT_ID
There are a few reasons you might need to revoke an application’s access to a user’s account:
- The user explicitly wishes to revoke the application’s access
- You as the service provider have determined an application is compromised or malicious, and want to disable it
- etc.
Please note that this endpoint only supports the case:: "The user explicitly wishes to revoke the application’s access"
OBP as a resource server stores access tokens in a database, then it is relatively easy to revoke some token that belongs to a particular user.
The status of the token is changed to "REVOKED" so the next time the revoked client makes a request, their token will fail to validate.
Authentication is Mandatory
","operationId":"revokeConsent","parameters":[{"in":"path","name":"CONSENT_ID","description":"the consent id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConsentJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/my/consents/EMAIL":{"post":{"tags":["Consent","Account Information Service (AIS)","PSD2"],"summary":"Create Consent (EMAIL)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint starts the process of creating a Consent.
The Consent is created in an INITIATED state.
A One Time Password (OTP) (AKA security challenge) is sent Out of Band (OOB) to the User via the transport defined in SCA_METHOD
SCA_METHOD is typically "SMS","EMAIL" or "IMPLICIT". "EMAIL" is used for testing purposes. OBP mapped mode "IMPLICIT" is "EMAIL".
Other mode, bank can decide it in the connector method 'getConsentImplicitSCA'.
When the Consent is created, OBP (or a backend system) stores the challenge so it can be checked later against the value supplied by the User with the Answer Consent Challenge endpoint.
An OBP Consent allows the holder of the Consent to call one or more endpoints.
Consents must be created and authorisied using SCA (Strong Customer Authentication).
That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.
Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.
Each Consent is bound to a consumer i.e. you need to identify yourself over request header value Consumer-Key.
For example:
GET /obp/v4.0.0/users/current HTTP/1.1
Host: 127.0.0.1:8080
Consent-JWT: eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOlt7InJvbGVfbmFtZSI6IkNhbkdldEFueVVzZXIiLCJiYW5rX2lkIjoiIn
1dLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIzNDc1MDEzZi03YmY5LTQyNj
EtOWUxYy0xZTdlNWZjZTJlN2UiLCJhdWQiOiI4MTVhMGVmMS00YjZhLTQyMDUtYjExMi1lNDVmZDZmNGQzYWQiLCJuYmYiOjE1ODA3NDE2NjcsIml
zcyI6Imh0dHA6XC9cLzEyNy4wLjAuMTo4MDgwIiwiZXhwIjoxNTgwNzQ1MjY3LCJpYXQiOjE1ODA3NDE2NjcsImp0aSI6ImJkYzVjZTk5LTE2ZTY
tNDM4Yi1hNjllLTU3MTAzN2RhMTg3OCIsInZpZXdzIjpbXX0.L3fEEEhdCVr3qnmyRKBBUaIQ7dk1VjiFaEBW8hUNjfg
Consumer-Key: ejznk505d132ryomnhbx1qmtohurbsbb0kijajsk
cache-control: no-cache
Maximum time to live of the token is specified over props value consents.max_time_to_live. In case isn't defined default value is 3600 seconds.
Example of POST JSON:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com",
"valid_from": "2020-02-07T08:43:34Z",
"time_to_live": 3600
}
Please note that only optional fields are: consumer_id, valid_from and time_to_live.
In case you omit they the default values are used:
consumer_id = consumer of current user
valid_from = current time
time_to_live = consents.max_time_to_live
Authentication is Mandatory
Example 1:
{
"everything": true,
"views": [],
"entitlements": [],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"phone_number": "+49 170 1234567"
}
Please note that consumer_id is optional field
Example 2:
{
"everything": true,
"views": [],
"entitlements": [],
"phone_number": "+49 170 1234567"
}
Please note if everything=false you need to explicitly specify views and entitlements
Example 3:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"phone_number": "+49 170 1234567"
}
This endpoint starts the process of creating a Consent.
The Consent is created in an INITIATED state.
A One Time Password (OTP) (AKA security challenge) is sent Out of Band (OOB) to the User via the transport defined in SCA_METHOD
SCA_METHOD is typically "SMS","EMAIL" or "IMPLICIT". "EMAIL" is used for testing purposes. OBP mapped mode "IMPLICIT" is "EMAIL".
Other mode, bank can decide it in the connector method 'getConsentImplicitSCA'.
When the Consent is created, OBP (or a backend system) stores the challenge so it can be checked later against the value supplied by the User with the Answer Consent Challenge endpoint.
An OBP Consent allows the holder of the Consent to call one or more endpoints.
Consents must be created and authorisied using SCA (Strong Customer Authentication).
That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.
Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.
Each Consent is bound to a consumer i.e. you need to identify yourself over request header value Consumer-Key.
For example:
GET /obp/v4.0.0/users/current HTTP/1.1
Host: 127.0.0.1:8080
Consent-JWT: eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOlt7InJvbGVfbmFtZSI6IkNhbkdldEFueVVzZXIiLCJiYW5rX2lkIjoiIn
1dLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIzNDc1MDEzZi03YmY5LTQyNj
EtOWUxYy0xZTdlNWZjZTJlN2UiLCJhdWQiOiI4MTVhMGVmMS00YjZhLTQyMDUtYjExMi1lNDVmZDZmNGQzYWQiLCJuYmYiOjE1ODA3NDE2NjcsIml
zcyI6Imh0dHA6XC9cLzEyNy4wLjAuMTo4MDgwIiwiZXhwIjoxNTgwNzQ1MjY3LCJpYXQiOjE1ODA3NDE2NjcsImp0aSI6ImJkYzVjZTk5LTE2ZTY
tNDM4Yi1hNjllLTU3MTAzN2RhMTg3OCIsInZpZXdzIjpbXX0.L3fEEEhdCVr3qnmyRKBBUaIQ7dk1VjiFaEBW8hUNjfg
Consumer-Key: ejznk505d132ryomnhbx1qmtohurbsbb0kijajsk
cache-control: no-cache
Maximum time to live of the token is specified over props value consents.max_time_to_live. In case isn't defined default value is 3600 seconds.
Example of POST JSON:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com",
"valid_from": "2020-02-07T08:43:34Z",
"time_to_live": 3600
}
Please note that only optional fields are: consumer_id, valid_from and time_to_live.
In case you omit they the default values are used:
consumer_id = consumer of current user
valid_from = current time
time_to_live = consents.max_time_to_live
Authentication is Mandatory
Example 1:
{
"everything": true,
"views": [],
"entitlements": [],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
}
Please note that consumer_id is optional field
Example 2:
{
"everything": true,
"views": [],
"entitlements": [],
}
Please note if everything=false you need to explicitly specify views and entitlements
Example 3:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
}
This endpoint starts the process of creating a Consent.
The Consent is created in an INITIATED state.
A One Time Password (OTP) (AKA security challenge) is sent Out of Band (OOB) to the User via the transport defined in SCA_METHOD
SCA_METHOD is typically "SMS","EMAIL" or "IMPLICIT". "EMAIL" is used for testing purposes. OBP mapped mode "IMPLICIT" is "EMAIL".
Other mode, bank can decide it in the connector method 'getConsentImplicitSCA'.
When the Consent is created, OBP (or a backend system) stores the challenge so it can be checked later against the value supplied by the User with the Answer Consent Challenge endpoint.
An OBP Consent allows the holder of the Consent to call one or more endpoints.
Consents must be created and authorisied using SCA (Strong Customer Authentication).
That is, Consents can be created by an authorised User via the OBP REST API but they must be confirmed via an out of band (OOB) mechanism such as a code sent to a mobile phone.
Each Consent has one of the following states: INITIATED, ACCEPTED, REJECTED, REVOKED, RECEIVED, VALID, REVOKEDBYPSU, EXPIRED, TERMINATEDBYTPP, AUTHORISED, AWAITINGAUTHORISATION.
Each Consent is bound to a consumer i.e. you need to identify yourself over request header value Consumer-Key.
For example:
GET /obp/v4.0.0/users/current HTTP/1.1
Host: 127.0.0.1:8080
Consent-JWT: eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOlt7InJvbGVfbmFtZSI6IkNhbkdldEFueVVzZXIiLCJiYW5rX2lkIjoiIn
1dLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIzNDc1MDEzZi03YmY5LTQyNj
EtOWUxYy0xZTdlNWZjZTJlN2UiLCJhdWQiOiI4MTVhMGVmMS00YjZhLTQyMDUtYjExMi1lNDVmZDZmNGQzYWQiLCJuYmYiOjE1ODA3NDE2NjcsIml
zcyI6Imh0dHA6XC9cLzEyNy4wLjAuMTo4MDgwIiwiZXhwIjoxNTgwNzQ1MjY3LCJpYXQiOjE1ODA3NDE2NjcsImp0aSI6ImJkYzVjZTk5LTE2ZTY
tNDM4Yi1hNjllLTU3MTAzN2RhMTg3OCIsInZpZXdzIjpbXX0.L3fEEEhdCVr3qnmyRKBBUaIQ7dk1VjiFaEBW8hUNjfg
Consumer-Key: ejznk505d132ryomnhbx1qmtohurbsbb0kijajsk
cache-control: no-cache
Maximum time to live of the token is specified over props value consents.max_time_to_live. In case isn't defined default value is 3600 seconds.
Example of POST JSON:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com",
"valid_from": "2020-02-07T08:43:34Z",
"time_to_live": 3600
}
Please note that only optional fields are: consumer_id, valid_from and time_to_live.
In case you omit they the default values are used:
consumer_id = consumer of current user
valid_from = current time
time_to_live = consents.max_time_to_live
Authentication is Mandatory
Example 1:
{
"everything": true,
"views": [],
"entitlements": [],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com"
}
Please note that consumer_id is optional field
Example 2:
{
"everything": true,
"views": [],
"entitlements": [],
"email": "eveline@example.com"
}
Please note if everything=false you need to explicitly specify views and entitlements
Example 3:
{
"everything": false,
"views": [
{
"bank_id": "GENODEM1GLS",
"account_id": "8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0",
"view_id": "owner"
}
],
"entitlements": [
{
"bank_id": "GENODEM1GLS",
"role_name": "CanGetCustomer"
}
],
"consumer_id": "7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"email": "eveline@example.com"
}
Returns information about the financial Product Collection specified by BANK_ID and COLLECTION_CODE:
Authentication is Mandatory
","operationId":"getProductCollection","parameters":[{"in":"path","name":"COLLECTION_CODE","description":"the collection code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductCollectionJsonTreeV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Product-Collection","Product"],"summary":"Create Product Collection","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update a Product Collection at the Bank.
Use Product Collections to create Product "Baskets", "Portfolios", "Indices", "Collections", "Underlyings-lists", "Buckets" etc. etc.
There is a many to many relationship between Products and Product Collections:
A Product can exist in many Collections
A Collection can contain many Products.
A collection has collection code, one parent Product and one or more child Products.
Product hiearchy vs Product Collections:
You can define a hierarchy of products - so that a child Product inherits attributes of its parent Product - using the parent_product_code in Product.
You can define a collection (also known as baskets or buckets) of products using Product Collections.
Authentication is Mandatory
","operationId":"createProductCollection","parameters":[{"in":"body","name":"body","description":"PutProductCollectionsV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutProductCollectionsV310"}},{"in":"path","name":"COLLECTION_CODE","description":"the collection code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductCollectionsJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/product-tree/{PRODUCT_CODE}":{"get":{"tags":["Product"],"summary":"Get Product Tree","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about a particular financial product specified by BANK_ID and PRODUCT_CODE
and it's parent product(s) recursively as specified by parent_product_code.
Each product includes the following information.
Authentication is Optional
","operationId":"getProductTree","parameters":[{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductTreeJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorProductNotFoundByProductCode"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/products":{"get":{"tags":["Product"],"summary":"Get Products","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about the financial products offered by a bank specified by BANK_ID including:
Can filter with attributes name and values.
URL params example: /banks/some-bank-id/products?manager=John&count=8
Authentication is Optional
","operationId":"getProducts","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductsJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/products/{PRODUCT_CODE}":{"get":{"tags":["Product"],"summary":"Get Bank Product","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about a financial Product offered by the bank specified by BANK_ID and PRODUCT_CODE including:
Authentication is Optional
","operationId":"getProduct","parameters":[{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"put":{"tags":["Product"],"summary":"Create Product","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create or Update Product for the Bank.
Typical Super Family values / Asset classes are:
Debt
Equity
FX
Commodity
Derivative
Product hiearchy vs Product Collections:
You can define a hierarchy of products - so that a child Product inherits attributes of its parent Product - using the parent_product_code in Product.
You can define a collection (also known as baskets or buckets) of products using Product Collections.
Authentication is Mandatory
","operationId":"createProduct","parameters":[{"in":"body","name":"body","description":"PutProductJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutProductJsonV400"}},{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/products/{PRODUCT_CODE}/attribute":{"post":{"tags":["Product"],"summary":"Create Product Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Product Attribute
Product Attributes are used to describe a financial Product with a list of typed key value pairs.
Each Product Attribute is linked to its Product by PRODUCT_CODE
Typical product attributes might be:
ISIN (for International bonds)
VKN (for German bonds)
REDCODE (markit short code for credit derivative)
LOAN_ID (e.g. used for Anacredit reporting)
ISSUE_DATE (When the bond was issued in the market)
MATURITY_DATE (End of life time of a product)
TRADABLE
See FPML for more examples.
The type field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"
Authentication is Mandatory
","operationId":"createProductAttribute","parameters":[{"in":"body","name":"body","description":"ProductAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ProductAttributeJsonV400"}},{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ProductAttributeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/products/{PRODUCT_CODE}/attributes/{PRODUCT_ATTRIBUTE_ID}":{"delete":{"tags":["Product"],"summary":"Delete Product Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Product Attribute
Product Attributes are used to describe a financial Product with a list of typed key value pairs.
Each Product Attribute is linked to its Product by PRODUCT_CODE
Delete a Product Attribute by its id.
Authentication is Mandatory
","operationId":"deleteProductAttribute","parameters":[{"in":"path","name":"PRODUCT_ATTRIBUTE_ID","description":"the product attribute id","required":true,"type":"string"},{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserHasMissingRoles"}}}},"get":{"tags":["Product"],"summary":"Get Product Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Product Attribute
Product Attributes are used to describe a financial Product with a list of typed key value pairs.
Each Product Attribute is linked to its Product by PRODUCT_CODE
Get one product attribute by its id.
Authentication is Mandatory
","operationId":"getProductAttribute","parameters":[{"in":"path","name":"PRODUCT_ATTRIBUTE_ID","description":"the product attribute id","required":true,"type":"string"},{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductAttributeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserHasMissingRoles"}}}},"put":{"tags":["Product"],"summary":"Update Product Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Product Attribute.
Product Attributes are used to describe a financial Product with a list of typed key value pairs.
Each Product Attribute is linked to its Product by PRODUCT_CODE
Update one Product Attribute by its id.
Authentication is Mandatory
","operationId":"updateProductAttribute","parameters":[{"in":"body","name":"body","description":"ProductAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ProductAttributeJsonV400"}},{"in":"path","name":"PRODUCT_ATTRIBUTE_ID","description":"the product attribute id","required":true,"type":"string"},{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductAttributeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserHasMissingRoles"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/products/{PRODUCT_CODE}/fee":{"post":{"tags":["Product"],"summary":"Create Product Fee","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Product Fee
Authentication is Mandatory
","operationId":"createProductFee","parameters":[{"in":"body","name":"body","description":"ProductFeeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ProductFeeJsonV400"}},{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ProductFeeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/products/{PRODUCT_CODE}/fees":{"get":{"tags":["Product"],"summary":"Get Product Fees","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Product Fees
Authentication is Optional
","operationId":"getProductFees","parameters":[{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductFeesResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/products/{PRODUCT_CODE}/fees/PRODUCT_FEE_ID":{"delete":{"tags":["Product"],"summary":"Delete Product Fee","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Product Fee
Delete one product fee by its id.
Authentication is Mandatory
","operationId":"deleteProductFee","parameters":[{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Product"],"summary":"Get Product Fee","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Product Fee
Get one product fee by its id.
Authentication is Optional
","operationId":"getProductFee","parameters":[{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductFeeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"put":{"tags":["Product"],"summary":"Update Product Fee","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Product Fee.
Update one Product Fee by its id.
Authentication is Mandatory
","operationId":"updateProductFee","parameters":[{"in":"body","name":"body","description":"ProductFeeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ProductFeeJsonV400"}},{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProductFeeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/public/accounts/{ACCOUNT_ID}/{VIEW_ID}/account":{"get":{"tags":["Account-Public","Account"],"summary":"Get Public Account by Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about an account that has a public view.
The account is specified by ACCOUNT_ID. The information is moderated by the view specified by VIEW_ID.
PSD2 Context: PSD2 requires customers to have access to their account information via third party applications.
This call provides balance and other account information via delegated authentication using OAuth.
Authentication is Optional
","operationId":"getPublicAccountById","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ModeratedCoreAccountJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/resource-docs/{API_VERSION}/obp":{"get":{"tags":["Documentation","API"],"summary":"Get Bank Level Dynamic Resource Docs.","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get documentation about the RESTful resources on this server including example bodies for POST and PUT requests.
This is the native data format used to document OBP endpoints. Each endpoint has a Resource Doc (a Scala case class) defined in the source code.
This endpoint is used by OBP API Explorer to display and work with the API documentation.
Most (but not all) fields are also available in swagger format. (The Swagger endpoint is built from Resource Docs.)
API_VERSION is the version you want documentation about e.g. v3.0.0
You may filter this endpoint with tags parameter e.g. ?tags=Account,Bank
You may filter this endpoint with functions parameter e.g. ?functions=enableDisableConsumers,getConnectorMetrics
For possible function values, see implemented_by.function in the JSON returned by this endpoint or the OBP source code or the footer of the API Explorer which produces a comma separated list of functions that reflect the server or filtering by API Explorer based on tags etc.
You may filter this endpoint using the 'content' url parameter, e.g. ?content=dynamic
if set content=dynamic, only show dynamic endpoints, if content=static, only show the static endpoints. if omit this parameter, we will show all the endpoints.
You may need some other language resource docs, now we support en_GB and es_ES at the moment.
You can filter with api-collection-id, but api-collection-id can not be used with others together. If api-collection-id is used in URL, it will ignore all other parameters.
See the Resource Doc endpoint for more information.
Note: Dynamic Resource Docs are cached, TTL is 3600 seconds
Static Resource Docs are cached, TTL is 3600 seconds
Following are more examples:
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?tags=Account,Bank
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?locale=es_ES
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221
Authentication is Mandatory
","operationId":"getBankLevelDynamicResourceDocsObp","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"API_VERSION","description":"eg:v2.2.0, v3.0.0","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ResourceDocsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/search/customers/mobile-phone-number":{"post":{"tags":["Customer","KYC"],"summary":"Get Customers by MOBILE_PHONE_NUMBER","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Gets the Customers specified by MOBILE_PHONE_NUMBER.
There are two wildcards often used in conjunction with the LIKE operator:
% - The percent sign represents zero, one, or multiple characters
_ - The underscore represents a single character
For example {"customer_phone_number":"%381%"} lists all numbers which contain 381 sequence
Authentication is Mandatory
","operationId":"getCustomersByCustomerPhoneNumber","parameters":[{"in":"body","name":"body","description":"PostCustomerPhoneNumberJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostCustomerPhoneNumberJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/settlement-accounts":{"get":{"tags":["Bank","PSD2"],"summary":"Get Settlement accounts at Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get settlement accounts on this API instance
Returns a list of settlement accounts at this Bank
Note: a settlement account is considered as a bank account.
So you can update it and add account attributes to it using the regular account endpoints
Authentication is Mandatory
","operationId":"getSettlementAccounts","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SettlementAccountsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Bank"],"summary":"Create Settlement Account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a new settlement account at a bank.
The created settlement account id will be the concatenation of the payment system and the account currency.
For examples: SEPA_SETTLEMENT_ACCOUNT_EUR, CARD_SETTLEMENT_ACCOUNT_USD
By default, when you create a new bank, two settlements accounts are created automatically: OBP_DEFAULT_INCOMING_ACCOUNT_ID and OBP_DEFAULT_OUTGOING_ACCOUNT_ID
Those two accounts have EUR as default currency.
If you want to create default settlement account for a specific currency, you can fill the payment_system
field with the DEFAULT
value.
When a transaction is saved in OBP through the mapped connector, OBP-API look for the account to save the double-entry transaction.
If no OBP account can be found from the counterparty, the double-entry transaction will be saved on a bank settlement account.
- First, the mapped connector looks for a settlement account specific to the payment system and currency. E.g SEPA_SETTLEMENT_ACCOUNT_EUR.
- If we don't find any specific settlement account with the payment system, we look for a default settlement account for the counterparty currency. E.g DEFAULT_SETTLEMENT_ACCOUNT_EUR.
- Else, we select one of the two OBP default settlement accounts (OBP_DEFAULT_INCOMING_ACCOUNT_ID/OBP_DEFAULT_OUTGOING_ACCOUNT_ID) according to the transaction direction.
If the POST body USER_ID is specified, the logged in user must have the Role CanCreateAccount. Once created, the Account will be owned by the User specified by USER_ID.
If the POST body USER_ID is not specified, the account will be owned by the logged in User.
Note: The Amount MUST be zero.
Authentication is Mandatory
","operationId":"createSettlementAccount","parameters":[{"in":"body","name":"body","description":"SettlementAccountRequestJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/SettlementAccountRequestJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SettlementAccountResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/transaction-request-types":{"get":{"tags":["Transaction-Request","Bank"],"summary":"Get Transaction Request Types at Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the list of the Transaction Request Types supported by the bank.
Authentication is Optional
","operationId":"getTransactionRequestTypesSupportedByBank","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestTypesJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/transaction-types":{"get":{"tags":["Bank","Account Information Service (AIS)","PSD2"],"summary":"Get Transaction Types at Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Transaction Types for the bank specified by BANK_ID:
Lists the possible Transaction Types available at the bank (as opposed to Transaction Request Types which are the possible ways Transactions can be created by this API Server).
Authentication is Optional
","operationId":"getTransactionTypes","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionTypesJsonV200"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"put":{"tags":["Bank"],"summary":"Create Transaction Type at bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Transaction Types for the bank specified by BANK_ID:
Authentication is Mandatory
","operationId":"createTransactionType","parameters":[{"in":"body","name":"body","description":"TransactionTypeJsonV200 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionTypeJsonV200"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TransactionType"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/user-invitation":{"post":{"tags":["User-Invitation","KYC"],"summary":"Create User Invitation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create User Invitation.
This endpoint will send an invitation email to the developers, then they can use the link to create the obp user.
purpose filed only support:List(DEVELOPER, CUSTOMER).
You can customise the email details use the following webui props:
when purpose == DEVELOPER
webui_developer_user_invitation_email_subject
webui_developer_user_invitation_email_from
webui_developer_user_invitation_email_text
webui_developer_user_invitation_email_html_text
when purpose = == CUSTOMER
webui_customer_user_invitation_email_subject
webui_customer_user_invitation_email_from
webui_customer_user_invitation_email_text
webui_customer_user_invitation_email_html_text
Authentication is Mandatory
","operationId":"createUserInvitation","parameters":[{"in":"body","name":"body","description":"PostUserInvitationJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostUserInvitationJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/UserInvitationJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/user-invitations":{"get":{"tags":["User-Invitation"],"summary":"Get User Invitations","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get User Invitations
Authentication is Mandatory
","operationId":"getUserInvitations","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInvitationJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["User-Invitation","KYC"],"summary":"Get User Invitation Information","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create User Invitation Information.
Authentication is Optional
","operationId":"getUserInvitationAnonymous","parameters":[{"in":"body","name":"body","description":"PostUserInvitationAnonymousJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostUserInvitationAnonymousJsonV400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/UserInvitationJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/user-invitations/SECRET_LINK":{"get":{"tags":["User-Invitation"],"summary":"Get User Invitation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get User Invitation
Authentication is Mandatory
","operationId":"getUserInvitation","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserInvitationJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/user_customer_links":{"post":{"tags":["Customer","User"],"summary":"Create User Customer Link","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Link a User to a Customer
Authentication is Mandatory
","operationId":"createUserCustomerLinks","parameters":[{"in":"body","name":"body","description":"CreateUserCustomerLinkJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreateUserCustomerLinkJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/UserCustomerLinkJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/user_customer_links/USER_CUSTOMER_LINK_ID":{"delete":{"tags":["Customer"],"summary":"Delete User Customer Link","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete User Customer Link by USER_CUSTOMER_LINK_ID
Authentication is Mandatory
","operationId":"deleteUserCustomerLink","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/user_customer_links/customers/{CUSTOMER_ID}":{"get":{"tags":["Customer"],"summary":"Get User Customer Links by Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get User Customer Links by CUSTOMER_ID
Authentication is Mandatory
","operationId":"getUserCustomerLinksByCustomerId","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserCustomerLinksJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/user_customer_links/users/{USER_ID}":{"get":{"tags":["Customer"],"summary":"Get User Customer Links by User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get User Customer Links by USER_ID
Authentication is Mandatory
","operationId":"getUserCustomerLinksByUserId","parameters":[{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserCustomerLinksJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/users/{USER_ID}/entitlements":{"get":{"tags":["Role","Entitlement","User"],"summary":"Get Entitlements for User at Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Entitlements specified by BANK_ID and USER_ID
Authentication is Mandatory
","operationId":"getEntitlementsByBankAndUser","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementJSONs"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/users/current/auth-context-updates/{AUTH_CONTEXT_UPDATE_ID}/challenge":{"post":{"tags":["User"],"summary":"Answer Auth Context Update Challenge","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Answer Auth Context Update Challenge.
Authentication is Mandatory
","operationId":"answerUserAuthContextUpdateChallenge","parameters":[{"in":"body","name":"body","description":"PostUserAuthContextUpdateJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostUserAuthContextUpdateJsonV310"}},{"in":"path","name":"AUTH_CONTEXT_UPDATE_ID","description":"the auth context update id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/UserAuthContextUpdateJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/banks/{BANK_ID}/users/current/auth-context-updates/{SCA_METHOD}":{"post":{"tags":["User"],"summary":"Create User Auth Context Update Request","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create User Auth Context Update Request.
Authentication is Mandatory
A One Time Password (OTP) (AKA security challenge) is sent Out of Band (OOB) to the User via the transport defined in SCA_METHOD
SCA_METHOD is typically "SMS" or "EMAIL". "EMAIL" is used for testing purposes.
Create a notification Webhook that will fire for all accounts on the specified Bank.
Webhooks are used to call external web services when certain events happen.
For instance, a webhook can be used to notify an external service if a transaction is created on an account.
When an account notification webhook fires it will POST to the URL you specify during the creation of the webhook.
Inside the payload you will find account_id and transaction_id and also user_ids and customer_ids of the Users / Customers linked to the Account.
The webhook will POST the following structure to your service:
{
"event_name": "OnCreateTransaction",
"event_id": "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"bank_id": "gh.29.uk",
"account_id": "8ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"transaction_id": "7ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"related_entities": [
{
"user_id": "8ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"customer_ids": ["3ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"]
}
]
}
Thus, your service should accept the above POST body structure.
In this way, your web service can be informed about an event on an account and act accordingly.
Further information about the account, transaction or related entities can then be retrieved using the standard REST APIs.
Authentication is Mandatory
","operationId":"createBankAccountNotificationWebhook","parameters":[{"in":"body","name":"body","description":"AccountNotificationWebhookPostJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AccountNotificationWebhookPostJson"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/BankAccountNotificationWebhookJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/cards":{"get":{"tags":["Card"],"summary":"Get cards for the current user","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns data about all the physical cards a user has been issued. These could be debit cards, credit cards, etc.
Authentication is Mandatory
","operationId":"getCards","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/PhysicalCardsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/certs":{"get":{"tags":["API","Account Information Service (AIS)","PSD2"],"summary":"Get JSON Web Key (JWK)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the server's public JSON Web Key (JWK) set and certificate chain.
It is required by client applications to validate ID tokens, self-contained access tokens and other issued objects.
Authentication is Optional
","operationId":"getServerJWK","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/SeverJWK"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/config":{"get":{"tags":["API"],"summary":"Get API Configuration","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about:
Authentication is Mandatory
","operationId":"config","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConfigurationJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/connector/loopback":{"get":{"tags":["API"],"summary":"Get Connector Status (Loopback)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint makes a call to the Connector to check the backend transport (e.g. Kafka) is reachable.
Currently this is only implemented for Kafka based connectors.
For Kafka based connectors, this endpoint writes a message to Kafka and reads it again.
In the future, this endpoint may also return information about database connections etc.
Authentication is Mandatory
","operationId":"getObpConnectorLoopback","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ObpApiLoopbackJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/consumers/{CONSUMER_ID}/scope/{SCOPE_ID}":{"delete":{"tags":["Scope","Consumer"],"summary":"Delete Consumer Scope","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Consumer Scope specified by SCOPE_ID for an consumer specified by CONSUMER_ID
Authentication is required and the user needs to be a Super Admin.
Super Admins are listed in the Props file.
Authentication is Mandatory
","operationId":"deleteScope","parameters":[{"in":"path","name":"SCOPE_ID","description":"the scope id","required":true,"type":"string"},{"in":"path","name":"CONSUMER_ID","description":"new consumer id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/consumers/{CONSUMER_ID}/scopes":{"get":{"tags":["Scope","Consumer"],"summary":"Get Scopes for Consumer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all the scopes for an consumer specified by CONSUMER_ID
Authentication is Mandatory
","operationId":"getScopes","parameters":[{"in":"path","name":"CONSUMER_ID","description":"new consumer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ScopeJsons"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Scope","Consumer"],"summary":"Create Scope for a Consumer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Scope. Grant Role to Consumer.
Scopes are used to grant System or Bank level roles to the Consumer (App). (For Account level privileges, see Views)
For a System level Role (.e.g CanGetAnyUser), set bank_id to an empty string i.e. "bank_id":""
For a Bank level Role (e.g. CanCreateAccount), set bank_id to a valid value e.g. "bank_id":"my-bank-id"
Authentication is Mandatory
","operationId":"addScope","parameters":[{"in":"body","name":"body","description":"CreateScopeJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreateScopeJson"}},{"in":"path","name":"CONSUMER_ID","description":"new consumer id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ScopeJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/customers":{"get":{"tags":["Customer","User"],"summary":"Get Customers at Any Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Customers at Any Bank.
Authentication is Mandatory
","operationId":"getCustomersAtAnyBank","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomerJSONsV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/customers-minimal":{"get":{"tags":["Customer","User"],"summary":"Get Customers Minimal at Any Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Customers Minimal at Any Bank.
Authentication is Mandatory
","operationId":"getCustomersMinimalAtAnyBank","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomersMinimalJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/customers/{CUSTOMER_ID}/accounts-minimal":{"get":{"tags":["Account"],"summary":"Get Accounts Minimal for a Customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Accounts Minimal by CUSTOMER_ID
Authentication is Mandatory
","operationId":"getAccountsMinimalByCustomerId","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountsMinimalJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/customers/{CUSTOMER_ID}/kyc_checks":{"get":{"tags":["KYC","Customer"],"summary":"Get Customer KYC Checks","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get KYC checks for the Customer specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"getKycChecks","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/KycChecksJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/customers/{CUSTOMER_ID}/kyc_documents":{"get":{"tags":["KYC","Customer"],"summary":"Get Customer KYC Documents","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get KYC (know your customer) documents for a customer specified by CUSTOMER_ID
Get a list of documents that affirm the identity of the customer
Passport, driving licence etc.
Authentication is Optional
Authentication is Mandatory
","operationId":"getKycDocuments","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/KycDocumentsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/customers/{CUSTOMER_ID}/kyc_media":{"get":{"tags":["KYC","Customer"],"summary":"Get KYC Media for a customer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get KYC media (scans, pictures, videos) that affirms the identity of the customer.
Authentication is Mandatory
","operationId":"getKycMedia","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/KycMediasJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/customers/{CUSTOMER_ID}/kyc_statuses":{"get":{"tags":["KYC","Customer"],"summary":"Get Customer KYC statuses","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the KYC statuses for a customer specified by CUSTOMER_ID over time.
Authentication is Mandatory
","operationId":"getKycStatuses","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/KycStatusesJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/database/info":{"get":{"tags":["API"],"summary":"Get Mapper Database Info","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get basic information about the Mapper Database.
Authentication is Mandatory
","operationId":"getMapperDatabaseInfo","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AdapterInfoJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/development/call_context":{"get":{"tags":["API"],"summary":"Get the Call Context of a current call","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Call Context of the current call.
Authentication is Mandatory
","operationId":"getCallContext","parameters":[],"responses":{"200":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/development/echo/jws-verified-request-jws-signed-response":{"get":{"tags":["API"],"summary":"Verify Request and Sign Response of a current call","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Verify Request and Sign Response of a current call.
Authentication is Mandatory
","operationId":"verifyRequestSignResponse","parameters":[],"responses":{"200":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/endpoints/authentication-type-validations":{"get":{"tags":["Authentication-Type-Validation"],"summary":"Get all Authentication Type Validations - public","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Authentication Type Validations - public.
Authentication is Optional
","operationId":"getAllAuthenticationTypeValidationsPublic","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["authentication_types_validations"],"properties":{"authentication_types_validations":{"type":"array","items":{"$ref":"#/definitions/JsonAuthTypeValidation"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/endpoints/json-schema-validations":{"get":{"tags":["JSON-Schema-Validation"],"summary":"Get all JSON Schema Validations - public","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all JSON Schema Validations - public.
Authentication is Optional
","operationId":"getAllJsonSchemaValidationsPublic","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["json_schema_validations"],"properties":{"json_schema_validations":{"type":"array","items":{"$ref":"#/definitions/JsonValidationV400"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/entitlement-requests":{"get":{"tags":["Role","Entitlement","User"],"summary":"Get all Entitlement Requests","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Entitlement Requests
Authentication is Mandatory
","operationId":"getAllEntitlementRequests","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementRequestsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Role","Entitlement","User"],"summary":"Create Entitlement Request for current User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Entitlement Request.
Any logged in User can use this endpoint to request an Entitlement
Entitlements are used to grant System or Bank level roles to Users. (For Account level privileges, see Views)
For a System level Role (.e.g CanGetAnyUser), set bank_id to an empty string i.e. "bank_id":""
For a Bank level Role (e.g. CanCreateAccount), set bank_id to a valid value e.g. "bank_id":"my-bank-id"
Authentication is Mandatory
","operationId":"addEntitlementRequest","parameters":[{"in":"body","name":"body","description":"CreateEntitlementJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreateEntitlementJSON"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementRequestJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/entitlement-requests/{ENTITLEMENT_REQUEST_ID}":{"delete":{"tags":["Role","Entitlement","User"],"summary":"Delete Entitlement Request","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete the Entitlement Request specified by ENTITLEMENT_REQUEST_ID for a user specified by USER_ID
Authentication is Mandatory
","operationId":"deleteEntitlementRequest","parameters":[{"in":"path","name":"ENTITLEMENT_REQUEST_ID","description":"the entitlement request id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/entitlements":{"get":{"tags":["Role","Entitlement"],"summary":"Get all Entitlements","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Login is required.
Possible filter on the role field:
eg: /entitlements?role=CanGetCustomer
Authentication is Mandatory
","operationId":"getAllEntitlements","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementJSONs"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/jwks-uris":{"get":{"tags":["API"],"summary":"Get JSON Web Key (JWK) URIs","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the OAuth2 server's public JSON Web Key (JWK) URIs.
It is required by client applications to validate ID tokens, self-contained access tokens and other issued objects.
Authentication is Optional
","operationId":"getOAuth2ServerJWKsURIs","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/OAuth2ServerJwksUrisJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/management/accounts/account-routing-query":{"post":{"tags":["Account"],"summary":"Get Account by Account Routing","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint returns the account (if it exists) linked with the provided scheme and address.
The bank_id
field is optional, but if it's not provided, we don't guarantee that the returned account is unique across all the banks.
Example of account routing scheme: IBAN
, "OBP", "AccountNumber", ...
Example of account routing address: DE17500105178275645584
, "321774cc-fccd-11ea-adc1-0242ac120002", "55897106215", ...
Authentication is Mandatory
","operationId":"getAccountByAccountRouting","parameters":[{"in":"body","name":"body","description":"BankAccountRoutingJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/BankAccountRoutingJson"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ModeratedAccountJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/accounts/account-routing-regex-query":{"post":{"tags":["Account"],"summary":"Get Accounts by Account Routing Regex","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint returns an array of accounts matching the provided routing scheme and the routing address regex.
The bank_id
field is optional.
Example of account routing scheme: IBAN
, OBP
, AccountNumber
, ...
Example of account routing address regex: DE175.*
, 55897106215-[A-Z]{3}
, ...
This endpoint can be used to retrieve multiples accounts matching a same account routing address pattern.
For example, if you want to link multiple accounts having different currencies, you can create an account
with 123456789-EUR
as Account Number and an other account with 123456789-USD
as Account Number.
So we can identify the Account Number as 123456789
, so to get all the accounts with the same account number
and the different currencies, we can use this body in the request :
{ "bank_id": "BANK_ID", "account_routing": { "scheme": "AccountNumber", "address": "123456789-[A-Z]{3}" }}
This request will returns the accounts matching the routing address regex (123456789-EUR
and 123456789-USD
).
Authentication is Mandatory
","operationId":"getAccountsByAccountRoutingRegex","parameters":[{"in":"body","name":"body","description":"BankAccountRoutingJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/BankAccountRoutingJson"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ModeratedAccountsJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/aggregate-metrics":{"get":{"tags":["Metric","Aggregate-Metrics"],"summary":"Get Aggregate Metrics","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns aggregate metrics on api usage eg. total count, response time (in ms), etc.
Should be able to filter on the following fields
eg: /management/aggregate-metrics?from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z&consumer_id=5
&user_id=66214b8e-259e-44ad-8868-3eb47be70646&implemented_by_partial_function=getTransactionsForBankAccount
&implemented_in_version=v3.0.0&url=/obp/v3.0.0/banks/gh.29.uk/accounts/8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0/owner/transactions
&verb=GET&anon=false&app_name=MapperPostman
&exclude_app_names=API-EXPLORER,API-Manager,SOFI,null
1 from_date (defaults to the day before the current date): eg:from_date=1100-01-01T01:01:01.000Z
2 to_date (defaults to the current date) eg:to_date=1100-01-01T01:01:01.000Z
3 consumer_id (if null ignore)
4 user_id (if null ignore)
5 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)
6 url (if null ignore), note: can not contain '&'.
7 app_name (if null ignore)
8 implemented_by_partial_function (if null ignore),
9 implemented_in_version (if null ignore)
10 verb (if null ignore)
11 correlation_id (if null ignore)
12 duration (if null ignore) non digit chars will be silently omitted
13 exclude_app_names (if null ignore).eg: &exclude_app_names=API-EXPLORER,API-Manager,SOFI,null
14 exclude_url_patterns (if null ignore).you can design you own SQL NOT LIKE pattern. eg: &exclude_url_patterns=%management/metrics%,%management/aggregate-metrics%
15 exclude_implemented_by_partial_functions (if null ignore).eg: &exclude_implemented_by_partial_functions=getMetrics,getConnectorMetrics,getAggregateMetrics
Authentication is Mandatory
","operationId":"getAggregateMetrics","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AggregateMetricJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/authentication-type-validations":{"get":{"tags":["Authentication-Type-Validation"],"summary":"Get all Authentication Type Validations","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Authentication Type Validations.
Authentication is Mandatory
","operationId":"getAllAuthenticationTypeValidations","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["authentication_types_validations"],"properties":{"authentication_types_validations":{"type":"array","items":{"$ref":"#/definitions/JsonAuthTypeValidation"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/authentication-type-validations/OPERATION_ID":{"delete":{"tags":["Authentication-Type-Validation"],"summary":"Delete an Authentication Type Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete an Authentication Type Validation by operation_id.
Authentication is Mandatory
","operationId":"deleteAuthenticationTypeValidation","parameters":[],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Authentication-Type-Validation"],"summary":"Get an Authentication Type Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get an Authentication Type Validation by operation_id.
Authentication is Mandatory
","operationId":"getAuthenticationTypeValidation","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonAuthTypeValidation"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}},"post":{"tags":["Authentication-Type-Validation"],"summary":"Create an Authentication Type Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create an Authentication Type Validation.
Please supply allowed authentication types.
Authentication is Mandatory
","operationId":"createAuthenticationTypeValidation","parameters":[{"in":"body","name":"body","description":"$colon$colon object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/NotSupportedYet"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/JsonAuthTypeValidation"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Authentication-Type-Validation"],"summary":"Update an Authentication Type Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an Authentication Type Validation.
Please supply allowed authentication types.
Authentication is Mandatory
","operationId":"updateAuthenticationTypeValidation","parameters":[{"in":"body","name":"body","description":"$colon$colon object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/NotSupportedYet"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonAuthTypeValidation"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/account-web-hooks":{"get":{"tags":["Webhook","Bank"],"summary":"Get Account Webhooks","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Account Webhooks.
Possible custom URL parameters for pagination:
Possible custom url parameters for pagination:
eg1:?limit=100&offset=0
eg2:?limit=100&offset=0&sort_direction=ASC
Authentication is Mandatory
","operationId":"getAccountWebhooks","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AccountWebhooksJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/accounts/{ACCOUNT_ID}":{"put":{"tags":["Account"],"summary":"Update Account","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update the account.
Authentication is Mandatory
","operationId":"updateAccount","parameters":[{"in":"body","name":"body","description":"UpdateAccountRequestJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/UpdateAccountRequestJsonV310"}},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UpdateAccountResponseJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/counterparties":{"get":{"tags":["Counterparty","Payment Initiation Service (PIS)","PSD2","Account"],"summary":"Get Counterparties for any account (Explicit)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Counterparties (Explicit) for any account .
Authentication is Mandatory
","operationId":"getCounterpartiesForAnyAccount","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CounterpartiesJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Counterparty","Account"],"summary":"Create Counterparty for any account (Explicit)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Counterparty for any Account. (Explicit)
In OBP, there are two types of Counterparty.
Explicit Counterparties (those here) which we create explicitly and are used in COUNTERPARTY Transaction Requests
Implicit Counterparties (AKA Other Accounts) which are generated automatically from the other sides of Transactions.
Explicit Counterparties are created for the account / view
They are how the user of the view (e.g. account owner) refers to the other side of the transaction
name : the human readable name (e.g. Piano teacher, Miss Nipa)
description : the human readable name (e.g. Piano teacher, Miss Nipa)
currency : counterparty account currency (e.g. EUR, GBP, USD, ...)
bank_routing_scheme : eg: bankId or bankCode or any other strings
bank_routing_address : eg: gh.29.uk
, must be valid sandbox bankIds
account_routing_scheme : eg: AccountId or AccountNumber or any other strings
account_routing_address : eg: 1d65db7c-a7b2-4839-af41-95
, must be valid accountIds
other_account_secondary_routing_scheme : eg: IBAN or any other strings
other_account_secondary_routing_address : if it is an IBAN, it should be unique for each counterparty.
other_branch_routing_scheme : eg: branchId or any other strings or you can leave it empty, not useful in sandbox mode.
other_branch_routing_address : eg: branch-id-123
or you can leave it empty, not useful in sandbox mode.
is_beneficiary : must be set to true
in order to send payments to this counterparty
bespoke: It supports a list of key-value, you can add it to the counterparty.
bespoke.key : any info-key you want to add to this counterparty
bespoke.value : any info-value you want to add to this counterparty
The view specified by VIEW_ID must have the canAddCounterparty permission
A minimal example for TransactionRequestType == COUNTERPARTY
{
"name": "Tesobe1",
"description": "Good Company",
"currency": "EUR",
"other_bank_routing_scheme": "OBP",
"other_bank_routing_address": "gh.29.uk",
"other_account_routing_scheme": "OBP",
"other_account_routing_address": "8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
"is_beneficiary": true,
"other_account_secondary_routing_scheme": "",
"other_account_secondary_routing_address": "",
"other_branch_routing_scheme": "",
"other_branch_routing_address": "",
"bespoke": []
}
A minimal example for TransactionRequestType == SEPA
{
"name": "Tesobe2",
"description": "Good Company",
"currency": "EUR",
"other_bank_routing_scheme": "OBP",
"other_bank_routing_address": "gh.29.uk",
"other_account_routing_scheme": "OBP",
"other_account_routing_address": "8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
"other_account_secondary_routing_scheme": "IBAN",
"other_account_secondary_routing_address": "DE89 3704 0044 0532 0130 00",
"is_beneficiary": true,
"other_branch_routing_scheme": "",
"other_branch_routing_address": "",
"bespoke": []
}
Authentication is Mandatory
","operationId":"createCounterpartyForAnyAccount","parameters":[{"in":"body","name":"body","description":"PostCounterpartyJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostCounterpartyJson400"}},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/CounterpartyWithMetadataJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/counterparties/{COUNTERPARTY_ID}":{"delete":{"tags":["Counterparty","Account"],"summary":"Delete Counterparty for any account (Explicit)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Counterparty (Explicit) for any account
and also delete the Metadata for its counterparty.
Authentication is Mandatory
","operationId":"deleteCounterpartyForAnyAccount","parameters":[{"in":"path","name":"COUNTERPARTY_ID","description":"the counterparty id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Counterparty","Account"],"summary":"Get Counterparty by Id for any account (Explicit) ","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Authentication is Mandatory
","operationId":"getCounterpartyByIdForAnyAccount","parameters":[{"in":"path","name":"COUNTERPARTY_ID","description":"the counterparty id","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CounterpartyWithMetadataJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/{VIEW_ID}/counterparty-names/{COUNTERPARTY_NAME}":{"get":{"tags":["Counterparty","Account"],"summary":"Get Counterparty by name for any account (Explicit) ","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Authentication is Mandatory
","operationId":"getCounterpartyByNameForAnyAccount","parameters":[{"in":"path","name":"COUNTERPARTY_NAME","description":"the counterparty name","required":true,"type":"string"},{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CounterpartyWithMetadataJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/direct-debit":{"post":{"tags":["Direct-Debit","Account"],"summary":"Create Direct Debit (management)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create direct debit for an account.
Authentication is Mandatory
","operationId":"createDirectDebitManagement","parameters":[{"in":"body","name":"body","description":"PostDirectDebitJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostDirectDebitJsonV400"}},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/DirectDebitJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/standing-order":{"post":{"tags":["Standing-Order","Account"],"summary":"Create Standing Order (management)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create standing order for an account.
when -> frequency = {‘YEARLY’,’MONTHLY, ‘WEEKLY’, ‘BI-WEEKLY’, DAILY’}
when -> detail = { ‘FIRST_MONDAY’, ‘FIRST_DAY’, ‘LAST_DAY’}}
Authentication is Mandatory
","operationId":"createStandingOrderManagement","parameters":[{"in":"body","name":"body","description":"PostStandingOrderJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostStandingOrderJsonV400"}},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/StandingOrderJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/cards":{"get":{"tags":["Card"],"summary":"Get Cards for the specified bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Should be able to filter on the following fields
eg:/management/banks/BANK_ID/cards?customer_id=66214b8e-259e-44ad-8868-3eb47be70646&account_id=8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0
1 customer_id should be valid customer_id, otherwise, it will return an empty card list.
2 account_id should be valid account_id , otherwise, it will return an empty card list.
Authentication is Mandatory
","operationId":"getCardsForBank","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/PhysicalCardsJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Card"],"summary":"Create Card","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Card at bank specified by BANK_ID .
Authentication is Mandatory
","operationId":"addCardForBank","parameters":[{"in":"body","name":"body","description":"CreatePhysicalCardJsonV310 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreatePhysicalCardJsonV310"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/PhysicalCardJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/cards/{CARD_ID}":{"delete":{"tags":["Card"],"summary":"Delete Card","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Card at bank specified by CARD_ID .
Authentication is Mandatory
","operationId":"deleteCardForBank","parameters":[{"in":"path","name":"CARD_ID","description":"the card id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Card"],"summary":"Get Card By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This will the datails of the card.
It shows the account infomation which linked the the card.
Also shows the card attributes of the card.
Authentication is Mandatory
","operationId":"getCardForBank","parameters":[{"in":"path","name":"CARD_ID","description":"the card id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/PhysicalCardWithAttributesJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Card"],"summary":"Update Card","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Card at bank specified by CARD_ID .
Authentication is Mandatory
Create Card Attribute
Card Attributes are used to describe a financial Product with a list of typed key value pairs.
Each Card Attribute is linked to its Card by CARD_ID
The type field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"
Authentication is Mandatory
","operationId":"createCardAttribute","parameters":[{"in":"body","name":"body","description":"CardAttributeJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CardAttributeJson"}},{"in":"path","name":"CARD_ID","description":"the card id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/CardAttributeCommons"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/cards/{CARD_ID}/attributes/{CARD_ATTRIBUTE_ID}":{"put":{"tags":["Card"],"summary":"Update Card Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Card Attribute
Card Attributes are used to describe a financial Product with a list of typed key value pairs.
Each Card Attribute is linked to its Card by CARD_ID
Authentication is Mandatory
","operationId":"updateCardAttribute","parameters":[{"in":"body","name":"body","description":"CardAttributeJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CardAttributeJson"}},{"in":"path","name":"CARD_ATTRIBUTE_ID","description":"the card attribute id","required":true,"type":"string"},{"in":"path","name":"CARD_ID","description":"the card id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CardAttributeCommons"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/dynamic-endpoints":{"get":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":"Get Bank Level Dynamic Endpoints","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Bank Level Dynamic Endpoints.
Authentication is Mandatory
","operationId":"getBankLevelDynamicEndpoints","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic_endpoints"],"properties":{"dynamic_endpoints":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"dynamic_endpoint_id":{"type":"string","example":"dynamic-endpoint-id"},"swagger_string":{"type":"object","properties":{"swagger":{"type":"string","example":"2.0"}},"required":["swagger"]}},"required":["user_id","dynamic_endpoint_id","swagger_string"]}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"post":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":"Create Bank Level Dynamic Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create dynamic endpoints.
Create dynamic endpoints with one json format swagger content.
If the host of swagger is dynamic_entity
, then you need link the swagger fields to the dynamic entity fields,
please check Endpoint Mapping
endpoints.
If the host of swagger is obp_mock
, every dynamic endpoint will return example response of swagger,
when create MethodRouting for given dynamic endpoint, it will be routed to given url.
Authentication is Mandatory
","operationId":"createBankLevelDynamicEndpoint","parameters":[{"in":"body","name":"body","description":"JObject object that needs to be added.","required":true,"schema":{"type":"object","properties":{"swagger":{"type":"string","example":"2.0"}},"required":["swagger"]}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"dynamic_endpoint_id":{"type":"string","example":"dynamic-endpoint-id"},"swagger_string":{"type":"object","properties":{"swagger":{"type":"string","example":"2.0"}},"required":["swagger"]}},"required":["user_id","dynamic_endpoint_id","swagger_string"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/dynamic-endpoints/DYNAMIC_ENDPOINT_ID":{"delete":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":" Delete Bank Level Dynamic Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Bank Level DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.
Authentication is Mandatory
","operationId":"deleteBankLevelDynamicEndpoint","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"get":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":" Get Bank Level Dynamic Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get a Bank Level Dynamic Endpoint.
Authentication is Mandatory
","operationId":"getBankLevelDynamicEndpoint","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"dynamic_endpoint_id":{"type":"string","example":"dynamic-endpoint-id"},"swagger_string":{"type":"object","properties":{"swagger":{"type":"string","example":"2.0"}},"required":["swagger"]}},"required":["user_id","dynamic_endpoint_id","swagger_string"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/dynamic-endpoints/DYNAMIC_ENDPOINT_ID/host":{"put":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":" Update Bank Level Dynamic Endpoint Host","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Bank Level dynamic endpoint Host.
The value can be obp_mock, dynamic_entity, or some service url.
Authentication is Mandatory
","operationId":"updateBankLevelDynamicEndpointHost","parameters":[{"in":"body","name":"body","description":"DynamicEndpointHostJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/DynamicEndpointHostJson400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/DynamicEndpointHostJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/dynamic-entities":{"get":{"tags":["Dynamic-Entity-Manage","API"],"summary":"Get Bank Level Dynamic Entities","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all the bank level Dynamic Entities for one bank.
Authentication is Mandatory
","operationId":"getBankLevelDynamicEntities","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic_entities"],"properties":{"dynamic_entities":{"type":"array","items":{"$ref":"#/definitions/DynamicEntityFooBar"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"post":{"tags":["Dynamic-Entity-Manage","API"],"summary":"Create Bank Level Dynamic Entity","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a Bank Level DynamicEntity.
Authentication is Mandatory
Create a DynamicEntity. If creation is successful, the corresponding POST, GET, PUT and DELETE (Create, Read, Update, Delete or CRUD for short) endpoints will be generated automatically
The following field types are as supported:
[number, integer, boolean, string, DATE_WITH_DAY, reference]
The DATE_WITH_DAY format is: yyyy-MM-dd
Reference types are like foreign keys and composite foreign keys are supported. The value you need to supply as the (composite) foreign key is a UUID (or several UUIDs in the case of a composite key) that match value in another Entity..
The following list shows all the possible reference types in the system with corresponding examples values so you can see how to construct each reference type value.
"someField0": { "type": "reference:Bank", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField1": { "type": "reference:Consumer", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField2": { "type": "reference:Customer", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField3": { "type": "reference:MethodRouting", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField4": { "type": "reference:DynamicEntity", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField5": { "type": "reference:TransactionRequest", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField6": { "type": "reference:ProductAttribute", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField7": { "type": "reference:AccountAttribute", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField8": { "type": "reference:TransactionAttribute", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField9": { "type": "reference:CustomerAttribute", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField10": { "type": "reference:AccountApplication", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField11": { "type": "reference:CardAttribute", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField12": { "type": "reference:Counterparty", "example": "faa0bb35-62be-418b-a148-8c879d47acf7"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=faa0bb35-62be-418b-a148-8c879d47acf7&branchId=a991c15d-c6fa-4016-b9a2-4b7be27eb9ed"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=faa0bb35-62be-418b-a148-8c879d47acf7&atmId=a991c15d-c6fa-4016-b9a2-4b7be27eb9ed"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=faa0bb35-62be-418b-a148-8c879d47acf7&accountId=a991c15d-c6fa-4016-b9a2-4b7be27eb9ed"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=faa0bb35-62be-418b-a148-8c879d47acf7&productCode=a991c15d-c6fa-4016-b9a2-4b7be27eb9ed"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=faa0bb35-62be-418b-a148-8c879d47acf7&cardId=a991c15d-c6fa-4016-b9a2-4b7be27eb9ed"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=faa0bb35-62be-418b-a148-8c879d47acf7&accountId=a991c15d-c6fa-4016-b9a2-4b7be27eb9ed&transactionId=179789ad-e6fb-4283-b9e1-b5be61e152fd"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=faa0bb35-62be-418b-a148-8c879d47acf7&accountId=a991c15d-c6fa-4016-b9a2-4b7be27eb9ed&counterpartyId=179789ad-e6fb-4283-b9e1-b5be61e152fd"}
Note: if you set hasPersonalEntity
= false, then OBP will not generate the CRUD my FooBar endpoints.
Delete a Bank Level DynamicEntity specified by DYNAMIC_ENTITY_ID.
Authentication is Mandatory
","operationId":"deleteBankLevelDynamicEntity","parameters":[{"in":"path","name":"DYNAMIC_ENTITY_ID","description":"the dynamic entity id ","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"put":{"tags":["Dynamic-Entity-Manage","API"],"summary":"Update Bank Level Dynamic Entity","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update a Bank Level DynamicEntity.
Authentication is Mandatory
Update one DynamicEntity, after update finished, the corresponding CRUD endpoints will be changed.
The following field types are as supported:
[number, integer, boolean, string, DATE_WITH_DAY, reference]
DATE_WITH_DAY format: yyyy-MM-dd
Reference types are like foreign keys and composite foreign keys are supported. The value you need to supply as the (composite) foreign key is a UUID (or several UUIDs in the case of a composite key) that match value in another Entity..
The following list shows all the possible reference types in the system with corresponding examples values so you can see how to construct each reference type value.
"someField0": { "type": "reference:Bank", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField1": { "type": "reference:Consumer", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField2": { "type": "reference:Customer", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField3": { "type": "reference:MethodRouting", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField4": { "type": "reference:DynamicEntity", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField5": { "type": "reference:TransactionRequest", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField6": { "type": "reference:ProductAttribute", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField7": { "type": "reference:AccountAttribute", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField8": { "type": "reference:TransactionAttribute", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField9": { "type": "reference:CustomerAttribute", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField10": { "type": "reference:AccountApplication", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField11": { "type": "reference:CardAttribute", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField12": { "type": "reference:Counterparty", "example": "46969c34-9fb2-4e66-b08b-fc83d6f2b279"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=46969c34-9fb2-4e66-b08b-fc83d6f2b279&branchId=963d16c4-f94c-41b4-a9e0-3401ed72a595"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=46969c34-9fb2-4e66-b08b-fc83d6f2b279&atmId=963d16c4-f94c-41b4-a9e0-3401ed72a595"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=46969c34-9fb2-4e66-b08b-fc83d6f2b279&accountId=963d16c4-f94c-41b4-a9e0-3401ed72a595"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=46969c34-9fb2-4e66-b08b-fc83d6f2b279&productCode=963d16c4-f94c-41b4-a9e0-3401ed72a595"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=46969c34-9fb2-4e66-b08b-fc83d6f2b279&cardId=963d16c4-f94c-41b4-a9e0-3401ed72a595"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=46969c34-9fb2-4e66-b08b-fc83d6f2b279&accountId=963d16c4-f94c-41b4-a9e0-3401ed72a595&transactionId=d70ce9e3-1ddd-422c-8a3a-03e7a5dbde73"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=46969c34-9fb2-4e66-b08b-fc83d6f2b279&accountId=963d16c4-f94c-41b4-a9e0-3401ed72a595&counterpartyId=d70ce9e3-1ddd-422c-8a3a-03e7a5dbde73"}
","operationId":"updateBankLevelDynamicEntity","parameters":[{"in":"body","name":"body","description":"DynamicEntityFooBar object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/DynamicEntityFooBar"}},{"in":"path","name":"DYNAMIC_ENTITY_ID","description":"the dynamic entity id ","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/DynamicEntityFooBar"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/dynamic-message-docs":{"get":{"tags":["Dynamic-Message-Doc"],"summary":"Get all Bank Level Dynamic Message Docs","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Bank Level Dynamic Message Docs.
Authentication is Mandatory
","operationId":"getAllBankLevelDynamicMessageDocs","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic-message-docs"],"properties":{"dynamic-message-docs":{"type":"array","items":{"$ref":"#/definitions/JsonDynamicMessageDoc"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"post":{"tags":["Dynamic-Message-Doc"],"summary":"Create Bank Level Dynamic Message Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a Bank Level Dynamic Message Doc.
Authentication is Mandatory
","operationId":"createBankLevelDynamicMessageDoc","parameters":[{"in":"body","name":"body","description":"JsonDynamicMessageDoc object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/dynamic-message-docs/DYNAMIC_MESSAGE_DOC_ID":{"delete":{"tags":["Dynamic-Message-Doc"],"summary":"Delete Bank Level Dynamic Message Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Bank Level Dynamic Message Doc.
Authentication is Mandatory
","operationId":"deleteBankLevelDynamicMessageDoc","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"get":{"tags":["Dynamic-Message-Doc"],"summary":"Get Bank Level Dynamic Message Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get a Bank Level Dynamic Message Doc by DYNAMIC_MESSAGE_DOC_ID.
Authentication is Mandatory
","operationId":"getBankLevelDynamicMessageDoc","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"put":{"tags":["Dynamic-Message-Doc"],"summary":"Update Bank Level Dynamic Message Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update a Bank Level Dynamic Message Doc.
Authentication is Mandatory
","operationId":"updateBankLevelDynamicMessageDoc","parameters":[{"in":"body","name":"body","description":"JsonDynamicMessageDoc object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/dynamic-resource-docs":{"get":{"tags":["Dynamic-Resource-Doc"],"summary":"Get all Bank Level Dynamic Resource Docs","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Bank Level Dynamic Resource Docs.
Authentication is Mandatory
","operationId":"getAllBankLevelDynamicResourceDocs","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic-resource-docs"],"properties":{"dynamic-resource-docs":{"type":"array","items":{"$ref":"#/definitions/JsonDynamicResourceDoc"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"post":{"tags":["Dynamic-Resource-Doc"],"summary":"Create Bank Level Dynamic Resource Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a Bank Level Dynamic Resource Doc.
The connector_method_body is URL-encoded format String
Authentication is Mandatory
","operationId":"createBankLevelDynamicResourceDoc","parameters":[{"in":"body","name":"body","description":"JsonDynamicResourceDoc object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/dynamic-resource-docs/DYNAMIC-RESOURCE-DOC-ID":{"delete":{"tags":["Dynamic-Resource-Doc"],"summary":"Delete Bank Level Dynamic Resource Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Bank Level Dynamic Resource Doc.
Authentication is Mandatory
","operationId":"deleteBankLevelDynamicResourceDoc","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"get":{"tags":["Dynamic-Resource-Doc"],"summary":"Get Bank Level Dynamic Resource Doc by Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get a Bank Level Dynamic Resource Doc by DYNAMIC-RESOURCE-DOC-ID.
Authentication is Mandatory
","operationId":"getBankLevelDynamicResourceDoc","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"put":{"tags":["Dynamic-Resource-Doc"],"summary":"Update Bank Level Dynamic Resource Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update a Bank Level Dynamic Resource Doc.
The connector_method_body is URL-encoded format String
Authentication is Mandatory
","operationId":"updateBankLevelDynamicResourceDoc","parameters":[{"in":"body","name":"body","description":"JsonDynamicResourceDoc object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/endpoint-mappings":{"get":{"tags":["Endpoint-Mapping"],"summary":"Get all Bank Level Endpoint Mappings","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Bank Level Endpoint Mappings.
Authentication is Mandatory
","operationId":"getAllBankLevelEndpointMappings","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["endpoint-mappings"],"properties":{"endpoint-mappings":{"type":"array","items":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]},"endpoint_mapping_id":{"type":"string","example":"b4e0352a-9a0f-4bfa-b30b-9003aa467f50"}},"required":["operation_id","request_mapping","response_mapping","endpoint_mapping_id"]}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"post":{"tags":["Endpoint-Mapping"],"summary":"Create Bank Level Endpoint Mapping","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create an Bank Level Endpoint Mapping.
Note: at moment only support the dynamic endpoints
Authentication is Mandatory
","operationId":"createBankLevelEndpointMapping","parameters":[{"in":"body","name":"body","description":"JObject object that needs to be added.","required":true,"schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]}},"required":["operation_id","request_mapping","response_mapping"]}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]}},"required":["operation_id","request_mapping","response_mapping"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/endpoint-mappings/ENDPOINT_MAPPING_ID":{"delete":{"tags":["Endpoint-Mapping"],"summary":"Delete Bank Level Endpoint Mapping","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Bank Level Endpoint Mapping.
Authentication is Mandatory
","operationId":"deleteBankLevelEndpointMapping","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"get":{"tags":["Endpoint-Mapping"],"summary":"Get Bank Level Endpoint Mapping","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get an Bank Level Endpoint Mapping by ENDPOINT_MAPPING_ID.
Authentication is Mandatory
","operationId":"getBankLevelEndpointMapping","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]},"endpoint_mapping_id":{"type":"string","example":"b4e0352a-9a0f-4bfa-b30b-9003aa467f50"}},"required":["operation_id","request_mapping","response_mapping","endpoint_mapping_id"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}},"put":{"tags":["Endpoint-Mapping"],"summary":"Update Bank Level Endpoint Mapping","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an Bank Level Endpoint Mapping.
Authentication is Mandatory
","operationId":"updateBankLevelEndpointMapping","parameters":[{"in":"body","name":"body","description":"JObject object that needs to be added.","required":true,"schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]}},"required":["operation_id","request_mapping","response_mapping"]}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]},"endpoint_mapping_id":{"type":"string","example":"b4e0352a-9a0f-4bfa-b30b-9003aa467f50"}},"required":["operation_id","request_mapping","response_mapping","endpoint_mapping_id"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/endpoints/OPERATION_ID/tags":{"get":{"tags":["API"],"summary":"Get Bank Level Endpoint Tags","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Bank Level Endpoint Tags.
Authentication is Mandatory
","operationId":"getBankLevelEndpointTags","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/NotSupportedYet"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["API"],"summary":"Create Bank Level Endpoint Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Bank Level Endpoint Tag
Note: Resource Docs are cached, TTL is 3600 seconds
Authentication is Mandatory
","operationId":"createBankLevelEndpointTag","parameters":[{"in":"body","name":"body","description":"EndpointTagJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EndpointTagJson400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/BankLevelEndpointTagResponseJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/endpoints/OPERATION_ID/tags/ENDPOINT_TAG_ID":{"delete":{"tags":["API"],"summary":"Delete Bank Level Endpoint Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Bank Level Endpoint Tag.
Authentication is Mandatory
","operationId":"deleteBankLevelEndpointTag","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/Full"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["API"],"summary":"Update Bank Level Endpoint Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update Endpoint Tag, you can only update the tag_name here, operation_id can not be updated.
Note: Resource Docs are cached, TTL is 3600 seconds
Authentication is Mandatory
","operationId":"updateBankLevelEndpointTag","parameters":[{"in":"body","name":"body","description":"EndpointTagJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EndpointTagJson400"}},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BankLevelEndpointTagResponseJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/banks/{BANK_ID}/fast-firehose/accounts":{"get":{"tags":["Account","Account-Firehose","FirehoseData"],"summary":"Get Fast Firehose Accounts at Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint allows bulk access to accounts.
optional pagination parameters for filter with accounts
Possible custom url parameters for pagination:
eg1:?limit=100&offset=0
eg2:?limit=100&offset=0&sort_direction=ASC
Authentication is Mandatory
","operationId":"getFastFirehoseAccountsAtOneBank","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/FastFirehoseAccountsJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorBankNotFound"}}}}},"/obp/v4.0.0/management/cascading/banks/{BANK_ID}":{"delete":{"tags":["Bank"],"summary":"Delete Bank Cascade","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Bank Cascade specified by BANK_ID.
Authentication is Mandatory
","operationId":"deleteBankCascade","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/cascading/banks/{BANK_ID}/accounts/{ACCOUNT_ID}":{"delete":{"tags":["Account"],"summary":"Delete Account Cascade","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete an Account Cascade specified by ACCOUNT_ID.
Authentication is Mandatory
","operationId":"deleteAccountCascade","parameters":[{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/cascading/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/transactions/{TRANSACTION_ID}":{"delete":{"tags":["Transaction"],"summary":"Delete Transaction Cascade","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Transaction Cascade specified by TRANSACTION_ID.
Authentication is Mandatory
","operationId":"deleteTransactionCascade","parameters":[{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"},{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/cascading/banks/{BANK_ID}/customers/{CUSTOMER_ID}":{"delete":{"tags":["Customer"],"summary":"Delete Customer Cascade","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Customer Cascade specified by CUSTOMER_ID.
Authentication is Mandatory
","operationId":"deleteCustomerCascade","parameters":[{"in":"path","name":"CUSTOMER_ID","description":"The customer id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/cascading/banks/{BANK_ID}/products/{PRODUCT_CODE}":{"delete":{"tags":["Product"],"summary":"Delete Product Cascade","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Product Cascade specified by PRODUCT_CODE.
Authentication is Mandatory
","operationId":"deleteProductCascade","parameters":[{"in":"path","name":"PRODUCT_CODE","description":"the product code","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/connector-methods":{"get":{"tags":["Connector-Method"],"summary":"Get all Connector Methods","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Connector Methods.
Authentication is Mandatory
","operationId":"getAllConnectorMethods","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["connectors_methods"],"properties":{"connectors_methods":{"type":"array","items":{"$ref":"#/definitions/JsonConnectorMethod"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Connector-Method"],"summary":"Create Connector Method","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create an internal connector.
The method_body is URL-encoded format String
Authentication is Mandatory
","operationId":"createConnectorMethod","parameters":[{"in":"body","name":"body","description":"JsonConnectorMethod object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonConnectorMethod"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/JsonConnectorMethod"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/connector-methods/CONNECTOR_METHOD_ID":{"get":{"tags":["Connector-Method"],"summary":"Get Connector Method by Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get an internal connector by CONNECTOR_METHOD_ID.
Authentication is Mandatory
","operationId":"getConnectorMethod","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonConnectorMethod"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Connector-Method"],"summary":"Update Connector Method","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an internal connector.
The method_body is URL-encoded format String
Authentication is Mandatory
","operationId":"updateConnectorMethod","parameters":[{"in":"body","name":"body","description":"JsonConnectorMethodMethodBody object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonConnectorMethodMethodBody"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonConnectorMethod"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/connector/metrics":{"get":{"tags":["Metric","API"],"summary":"Get Connector Metrics","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the all metrics
require CanGetConnectorMetrics role
Filters Part 1.filtering (no wilde cards etc.) parameters to GET /management/connector/metrics
Should be able to filter on the following metrics fields
eg: /management/connector/metrics?from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z&limit=50&offset=2
1 from_date (defaults to one week before current date): eg:from_date=1100-01-01T01:01:01.000Z
2 to_date (defaults to current date) eg:to_date=1100-01-01T01:01:01.000Z
3 limit (for pagination: defaults to 1000) eg:limit=2000
4 offset (for pagination: zero index, defaults to 0) eg: offset=10
eg: /management/connector/metrics?from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z&limit=100&offset=300
Other filters:
5 connector_name (if null ignore)
6 function_name (if null ignore)
7 correlation_id (if null ignore)
Authentication is Mandatory
","operationId":"getConnectorMetrics","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConnectorMetricsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidDateFormat"}}}}},"/obp/v4.0.0/management/consumers":{"get":{"tags":["Consumer"],"summary":"Get Consumers","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the all Consumers.
Authentication is Mandatory
Possible custom url parameters for pagination:
eg1:?limit=100&offset=0
eg2:?limit=100&offset=0&sort_direction=ASC
Date format parameter: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'(1100-01-01T01:01:01.000Z) ==> time zone is UTC.
eg3:?sort_direction=ASC&limit=100&offset=0&from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z
","operationId":"getConsumers","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConsumersJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Consumer"],"summary":"Post a Consumer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a Consumer (Authenticated access).
Authentication is Mandatory
","operationId":"createConsumer","parameters":[{"in":"body","name":"body","description":"ConsumerPostJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ConsumerPostJSON"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ConsumerJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/consumers/{CONSUMER_ID}":{"get":{"tags":["Consumer"],"summary":"Get Consumer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Consumer specified by CONSUMER_ID.
Authentication is Mandatory
","operationId":"getConsumer","parameters":[{"in":"path","name":"CONSUMER_ID","description":"new consumer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConsumerJsonV210"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Consumer"],"summary":"Enable or Disable Consumers","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Enable/Disable a Consumer specified by CONSUMER_ID.
Authentication is Mandatory
","operationId":"enableDisableConsumers","parameters":[{"in":"body","name":"body","description":"PutEnabledJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PutEnabledJSON"}},{"in":"path","name":"CONSUMER_ID","description":"new consumer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/PutEnabledJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/consumers/{CONSUMER_ID}/consumer/call-limits":{"get":{"tags":["Consumer"],"summary":"Get Call Limits for a Consumer","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Calls limits per Consumer.
Authentication is Mandatory
Set the API rate limits / call limits for a Consumer:
Rate limiting can be set:
Per Second
Per Minute
Per Hour
Per Week
Per Month
Authentication is Mandatory
","operationId":"callsLimit","parameters":[{"in":"body","name":"body","description":"CallLimitPostJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CallLimitPostJsonV400"}},{"in":"path","name":"CONSUMER_ID","description":"new consumer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CallLimitPostJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/consumers/{CONSUMER_ID}/consumer/redirect_url":{"put":{"tags":["Consumer"],"summary":"Update Consumer RedirectUrl","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an existing redirectUrl for a Consumer specified by CONSUMER_ID.
CONSUMER_ID can be obtained after you register the application.
Or use the endpoint 'Get Consumers' to get it
Authentication is Mandatory
","operationId":"updateConsumerRedirectUrl","parameters":[{"in":"body","name":"body","description":"ConsumerRedirectUrlJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ConsumerRedirectUrlJSON"}},{"in":"path","name":"CONSUMER_ID","description":"new consumer id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConsumerJsonV210"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/dynamic-endpoints":{"get":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":" Get Dynamic Endpoints","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Dynamic Endpoints.
Authentication is Mandatory
","operationId":"getDynamicEndpoints","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic_endpoints"],"properties":{"dynamic_endpoints":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"dynamic_endpoint_id":{"type":"string","example":"dynamic-endpoint-id"},"swagger_string":{"type":"object","properties":{"swagger":{"type":"string","example":"2.0"}},"required":["swagger"]}},"required":["user_id","dynamic_endpoint_id","swagger_string"]}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":"Create Dynamic Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create dynamic endpoints.
Create dynamic endpoints with one json format swagger content.
If the host of swagger is dynamic_entity
, then you need link the swagger fields to the dynamic entity fields,
please check Endpoint Mapping
endpoints.
If the host of swagger is obp_mock
, every dynamic endpoint will return example response of swagger,
when create MethodRouting for given dynamic endpoint, it will be routed to given url.
Authentication is Mandatory
","operationId":"createDynamicEndpoint","parameters":[{"in":"body","name":"body","description":"JObject object that needs to be added.","required":true,"schema":{"type":"object","properties":{"swagger":{"type":"string","example":"2.0"}},"required":["swagger"]}}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"dynamic_endpoint_id":{"type":"string","example":"dynamic-endpoint-id"},"swagger_string":{"type":"object","properties":{"swagger":{"type":"string","example":"2.0"}},"required":["swagger"]}},"required":["user_id","dynamic_endpoint_id","swagger_string"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/dynamic-endpoints/DYNAMIC_ENDPOINT_ID":{"delete":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":" Delete Dynamic Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.
Authentication is Mandatory
","operationId":"deleteDynamicEndpoint","parameters":[],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":"Get Dynamic Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get a Dynamic Endpoint.
Get one DynamicEndpoint,
Authentication is Mandatory
","operationId":"getDynamicEndpoint","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"dynamic_endpoint_id":{"type":"string","example":"dynamic-endpoint-id"},"swagger_string":{"type":"object","properties":{"swagger":{"type":"string","example":"2.0"}},"required":["swagger"]}},"required":["user_id","dynamic_endpoint_id","swagger_string"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/dynamic-endpoints/DYNAMIC_ENDPOINT_ID/host":{"put":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":" Update Dynamic Endpoint Host","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update dynamic endpoint Host.
The value can be obp_mock, dynamic_entity, or some service url.
Authentication is Mandatory
","operationId":"updateDynamicEndpointHost","parameters":[{"in":"body","name":"body","description":"DynamicEndpointHostJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/DynamicEndpointHostJson400"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/DynamicEndpointHostJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/dynamic-message-docs":{"get":{"tags":["Dynamic-Message-Doc"],"summary":"Get all Dynamic Message Docs","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Dynamic Message Docs.
Authentication is Mandatory
","operationId":"getAllDynamicMessageDocs","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic-message-docs"],"properties":{"dynamic-message-docs":{"type":"array","items":{"$ref":"#/definitions/JsonDynamicMessageDoc"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Dynamic-Message-Doc"],"summary":"Create Dynamic Message Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a Dynamic Message Doc.
Authentication is Mandatory
","operationId":"createDynamicMessageDoc","parameters":[{"in":"body","name":"body","description":"JsonDynamicMessageDoc object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/dynamic-message-docs/DYNAMIC_MESSAGE_DOC_ID":{"delete":{"tags":["Dynamic-Message-Doc"],"summary":"Delete Dynamic Message Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Dynamic Message Doc.
Authentication is Mandatory
","operationId":"deleteDynamicMessageDoc","parameters":[],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Dynamic-Message-Doc"],"summary":"Get Dynamic Message Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get a Dynamic Message Doc by DYNAMIC_MESSAGE_DOC_ID.
Authentication is Mandatory
","operationId":"getDynamicMessageDoc","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Dynamic-Message-Doc"],"summary":"Update Dynamic Message Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update a Dynamic Message Doc.
Authentication is Mandatory
","operationId":"updateDynamicMessageDoc","parameters":[{"in":"body","name":"body","description":"JsonDynamicMessageDoc object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicMessageDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/dynamic-resource-docs":{"get":{"tags":["Dynamic-Resource-Doc"],"summary":"Get all Dynamic Resource Docs","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Dynamic Resource Docs.
Authentication is Mandatory
","operationId":"getAllDynamicResourceDocs","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic-resource-docs"],"properties":{"dynamic-resource-docs":{"type":"array","items":{"$ref":"#/definitions/JsonDynamicResourceDoc"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Dynamic-Resource-Doc"],"summary":"Create Dynamic Resource Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a Dynamic Resource Doc.
The connector_method_body is URL-encoded format String
Authentication is Mandatory
","operationId":"createDynamicResourceDoc","parameters":[{"in":"body","name":"body","description":"JsonDynamicResourceDoc object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/dynamic-resource-docs/DYNAMIC-RESOURCE-DOC-ID":{"delete":{"tags":["Dynamic-Resource-Doc"],"summary":"Delete Dynamic Resource Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Dynamic Resource Doc.
Authentication is Mandatory
","operationId":"deleteDynamicResourceDoc","parameters":[],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Dynamic-Resource-Doc"],"summary":"Get Dynamic Resource Doc by Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get a Dynamic Resource Doc by DYNAMIC-RESOURCE-DOC-ID.
Authentication is Mandatory
","operationId":"getDynamicResourceDoc","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Dynamic-Resource-Doc"],"summary":"Update Dynamic Resource Doc","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update a Dynamic Resource Doc.
The connector_method_body is URL-encoded format String
Authentication is Mandatory
","operationId":"updateDynamicResourceDoc","parameters":[{"in":"body","name":"body","description":"JsonDynamicResourceDoc object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonDynamicResourceDoc"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/dynamic-resource-docs/endpoint-code":{"post":{"tags":["Dynamic-Resource-Doc"],"summary":"Create Dynamic Resource Doc endpoint code","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a Dynamic Resource Doc endpoint code.
copy the response and past to PractiseEndpoint, So you can have the benefits of
auto compilation and debug
Authentication is Mandatory
","operationId":"buildDynamicEndpointTemplate","parameters":[{"in":"body","name":"body","description":"ResourceDocFragment object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ResourceDocFragment"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/JsonCodeTemplateJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/endpoint-mappings":{"get":{"tags":["Endpoint-Mapping"],"summary":"Get all Endpoint Mappings","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all Endpoint Mappings.
Authentication is Mandatory
","operationId":"getAllEndpointMappings","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["endpoint-mappings"],"properties":{"endpoint-mappings":{"type":"array","items":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]},"endpoint_mapping_id":{"type":"string","example":"b4e0352a-9a0f-4bfa-b30b-9003aa467f50"}},"required":["operation_id","request_mapping","response_mapping","endpoint_mapping_id"]}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Endpoint-Mapping"],"summary":"Create Endpoint Mapping","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create an Endpoint Mapping.
Note: at moment only support the dynamic endpoints
Authentication is Mandatory
","operationId":"createEndpointMapping","parameters":[{"in":"body","name":"body","description":"JObject object that needs to be added.","required":true,"schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]}},"required":["operation_id","request_mapping","response_mapping"]}}],"responses":{"201":{"description":"Success","schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]}},"required":["operation_id","request_mapping","response_mapping"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/endpoint-mappings/ENDPOINT_MAPPING_ID":{"delete":{"tags":["Endpoint-Mapping"],"summary":"Delete Endpoint Mapping","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a Endpoint Mapping.
Authentication is Mandatory
","operationId":"deleteEndpointMapping","parameters":[],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Endpoint-Mapping"],"summary":"Get Endpoint Mapping by Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get an Endpoint Mapping by ENDPOINT_MAPPING_ID.
Authentication is Mandatory
","operationId":"getEndpointMapping","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]},"endpoint_mapping_id":{"type":"string","example":"b4e0352a-9a0f-4bfa-b30b-9003aa467f50"}},"required":["operation_id","request_mapping","response_mapping","endpoint_mapping_id"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Endpoint-Mapping"],"summary":"Update Endpoint Mapping","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an Endpoint Mapping.
Authentication is Mandatory
","operationId":"updateEndpointMapping","parameters":[{"in":"body","name":"body","description":"JObject object that needs to be added.","required":true,"schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]}},"required":["operation_id","request_mapping","response_mapping"]}}],"responses":{"200":{"description":"Success","schema":{"type":"object","properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-dynamicEndpoint_POST_account"},"request_mapping":{"type":"object","properties":{}},"response_mapping":{"type":"object","properties":{"name":{"type":"object","properties":{"entity":{"type":"string","example":"FooBar"},"field":{"type":"string","example":"name"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]},"balance":{"type":"object","properties":{"entity":{"type":"string","example":"FashionBrand"},"field":{"type":"string","example":"number"},"query":{"type":"string","example":"number"}},"required":["entity","field","query"]}},"required":["name","balance"]},"endpoint_mapping_id":{"type":"string","example":"b4e0352a-9a0f-4bfa-b30b-9003aa467f50"}},"required":["operation_id","request_mapping","response_mapping","endpoint_mapping_id"]}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/endpoints/OPERATION_ID/tags":{"get":{"tags":["API"],"summary":"Get System Level Endpoint Tags","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get System Level Endpoint Tags.
Authentication is Mandatory
","operationId":"getSystemLevelEndpointTags","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/NotSupportedYet"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["API"],"summary":"Create System Level Endpoint Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create System Level Endpoint Tag
Note: Resource Docs are cached, TTL is 3600 seconds
Authentication is Mandatory
","operationId":"createSystemLevelEndpointTag","parameters":[{"in":"body","name":"body","description":"EndpointTagJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EndpointTagJson400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/BankLevelEndpointTagResponseJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/endpoints/OPERATION_ID/tags/ENDPOINT_TAG_ID":{"delete":{"tags":["API"],"summary":"Delete System Level Endpoint Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete System Level Endpoint Tag.
Authentication is Mandatory
","operationId":"deleteSystemLevelEndpointTag","parameters":[],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/Full"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["API"],"summary":"Update System Level Endpoint Tag","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update System Level Endpoint Tag, you can only update the tag_name here, operation_id can not be updated.
Note: Resource Docs are cached, TTL is 3600 seconds
Authentication is Mandatory
","operationId":"updateSystemLevelEndpointTag","parameters":[{"in":"body","name":"body","description":"EndpointTagJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EndpointTagJson400"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BankLevelEndpointTagResponseJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/historical/transactions ":{"post":{"tags":["Transaction-Request"],"summary":"Save Historical Transactions ","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Import the historical transactions.
The fields bank_id, account_id, counterparty_id in the json body are all optional ones.
It support transfer money from account to account, account to counterparty and counterparty to counterparty
Both bank_id + account_id and counterparty_id can identify the account, so OBP only need one of them to make the payment.
So:
When you need the account to account, just omit counterparty_id field.eg:
{
"from": {
"bank_id": "gh.29.uk",
"account_id": "1ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
},
"to": {
"bank_id": "gh.29.uk",
"account_id": "2ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
},
"value": {
"currency": "GBP",
"amount": "10"
},
"description": "this is for work",
"posted": "2017-09-19T02:31:05Z",
"completed": "2017-09-19T02:31:05Z",
"type": "SANDBOX_TAN",
"charge_policy": "SHARED"
}
When you need the counterparty to counterparty, need to omit bank_id and account_id field.eg:
{
"from": {
"counterparty_id": "f6392b7d-4218-45ea-b9a7-eaa71c0202f9"
},
"to": {
"counterparty_id": "26392b7d-4218-45ea-b9a7-eaa71c0202f9"
},
"value": {
"currency": "GBP",
"amount": "10"
},
"description": "this is for work",
"posted": "2017-09-19T02:31:05Z",
"completed": "2017-09-19T02:31:05Z",
"type": "SANDBOX_TAN",
"charge_policy": "SHARED"
}
or, you can counterparty to account
{
"from": {
"counterparty_id": "f6392b7d-4218-45ea-b9a7-eaa71c0202f9"
},
"to": {
"bank_id": "gh.29.uk",
"account_id": "8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0",
},
"value": {
"currency": "GBP",
"amount": "10"
},
"description": "this is for work",
"posted": "2017-09-19T02:31:05Z",
"completed": "2017-09-19T02:31:05Z",
"type": "SANDBOX_TAN",
"charge_policy": "SHARED"
}
This call is experimental.
Authentication is Mandatory
","operationId":"saveHistoricalTransaction","parameters":[{"in":"body","name":"body","description":"PostHistoricalTransactionJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostHistoricalTransactionJson"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/PostHistoricalTransactionResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}}},"/obp/v4.0.0/management/json-schema-validations":{"get":{"tags":["JSON-Schema-Validation"],"summary":"Get all JSON Schema Validations","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all JSON Schema Validations.
Authentication is Mandatory
","operationId":"getAllJsonSchemaValidations","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["json_schema_validations"],"properties":{"json_schema_validations":{"type":"array","items":{"$ref":"#/definitions/JsonValidationV400"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/json-schema-validations/OPERATION_ID":{"delete":{"tags":["JSON-Schema-Validation"],"summary":"Delete a JSON Schema Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a JSON Schema Validation by operation_id.
Authentication is Mandatory
","operationId":"deleteJsonSchemaValidation","parameters":[],"responses":{"204":{"description":"Success","schema":{"type":"boolean"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["JSON-Schema-Validation"],"summary":"Get a JSON Schema Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get a JSON Schema Validation by operation_id.
Authentication is Mandatory
","operationId":"getJsonSchemaValidation","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonValidationV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorInvalidJsonFormat"}}}},"post":{"tags":["JSON-Schema-Validation"],"summary":"Create a JSON Schema Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a JSON Schema Validation.
Introduction:
JSON Schema is "a vocabulary that allows you to annotate and validate JSON documents".
By applying JSON Schema Validation to your OBP endpoints you can constrain POST and PUT request bodies. For example, you can set minimum / maximum lengths of fields and constrain values to certain lists or regular expressions.
See JSONSchema.org for more information about the JSON Schema standard.
To create a JSON Schema from an any JSON Request body you can use JSON Schema Net
(The video link below shows how to use that)
Note: OBP Dynamic Entities also use JSON Schema Validation so you don't need to additionally wrap the resulting endpoints with extra JSON Schema Validation but you could do.
You can apply JSON schema validations to any OBP endpoint's request body using the POST and PUT endpoints listed in the link below.
PLEASE SEE the following video explanation: JSON schema validation of request for Static and Dynamic Endpoints and Entities
To use this endpoint, please supply a valid json-schema in the request body.
Note: It might take a few minutes for the newly created JSON Schema to take effect!
Authentication is Mandatory
","operationId":"createJsonSchemaValidation","parameters":[{"in":"body","name":"body","description":"JsonSchemaV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonSchemaV400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/JsonValidationV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["JSON-Schema-Validation"],"summary":"Update a JSON Schema Validation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update a JSON Schema Validation.
Introduction:
JSON Schema is "a vocabulary that allows you to annotate and validate JSON documents".
By applying JSON Schema Validation to your OBP endpoints you can constrain POST and PUT request bodies. For example, you can set minimum / maximum lengths of fields and constrain values to certain lists or regular expressions.
See JSONSchema.org for more information about the JSON Schema standard.
To create a JSON Schema from an any JSON Request body you can use JSON Schema Net
(The video link below shows how to use that)
Note: OBP Dynamic Entities also use JSON Schema Validation so you don't need to additionally wrap the resulting endpoints with extra JSON Schema Validation but you could do.
You can apply JSON schema validations to any OBP endpoint's request body using the POST and PUT endpoints listed in the link below.
PLEASE SEE the following video explanation: JSON schema validation of request for Static and Dynamic Endpoints and Entities
To use this endpoint, please supply a valid json-schema in the request body.
Authentication is Mandatory
","operationId":"updateJsonSchemaValidation","parameters":[{"in":"body","name":"body","description":"JsonSchemaV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/JsonSchemaV400"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/JsonValidationV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/method_routings":{"get":{"tags":["Method-Routing","API"],"summary":"Get MethodRoutings","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the all MethodRoutings.
Query url parameters:
eg:
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/management/method_routings?active=true
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/management/method_routings?method_name=getBank
Authentication is Mandatory
","operationId":"getMethodRoutings","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["method_routings"],"properties":{"method_routings":{"type":"array","items":{"$ref":"#/definitions/MethodRoutingCommons"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Method-Routing","API"],"summary":"Create MethodRouting","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a MethodRouting.
Authentication is Mandatory
Explanation of Fields:
note and CAVEAT!:
If the connector name starts with rest, parameters can contain "outBoundMapping" and "inBoundMapping", convert OutBound and InBound json structure.
for example:
outBoundMapping example, convert json from source to target:
Build OutBound json value rules:
1 set cId value with: outboundAdapterCallContext.correlationId value
2 set bankId value with: concat bankId.value value with string helloworld
3 set originalJson value with: whole source json, note: the field value expression is $root
inBoundMapping example, convert json from source to target:
Build InBound json value rules:
1 and 2 set inboundAdapterCallContext and status value: because field name ends with "$default", remove "$default" from field name, not change the value
3 set fullName value with: concat string full: with result.name value
4 set bankRoutingScheme value: because source value is Array, but target value is not Array, the mapping field name must ends with [0].
Delete a MethodRouting specified by METHOD_ROUTING_ID.
Authentication is Mandatory
","operationId":"deleteMethodRouting","parameters":[{"in":"path","name":"METHOD_ROUTING_ID","description":"the method routing id ","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Method-Routing","API"],"summary":"Update MethodRouting","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update a MethodRouting.
Authentication is Mandatory
Explaination of Fields:
if bank_id_pattern is regex, special characters need to do escape, for example: bank_id_pattern = "some-id_pattern_\\d+"
If connector name start with rest, parameters can contain "outBoundMapping" and "inBoundMapping", to convert OutBound and InBound json structure.
for example:
outBoundMapping example, convert json from source to target:
Build OutBound json value rules:
1 set cId value with: outboundAdapterCallContext.correlationId value
2 set bankId value with: concat bankId.value value with string helloworld
3 set originalJson value with: whole source json, note: the field value expression is $root
inBoundMapping example, convert json from source to target:
Build InBound json value rules:
1 and 2 set inboundAdapterCallContext and status value: because field name ends with "$default", remove "$default" from field name, not change the value
3 set fullName value with: concat string full: with result.name value
4 set bankRoutingScheme value: because source value is Array, but target value is not Array, the mapping field name must ends with [0].
Get the all metrics
require CanReadMetrics role
Filters Part 1.filtering (no wilde cards etc.) parameters to GET /management/metrics
Should be able to filter on the following metrics fields
eg: /management/metrics?from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z&limit=50&offset=2
1 from_date (defaults to one week before current date): eg:from_date=1100-01-01T01:01:01.000Z
2 to_date (defaults to current date) eg:to_date=1100-01-01T01:01:01.000Z
3 limit (for pagination: defaults to 50) eg:limit=200
4 offset (for pagination: zero index, defaults to 0) eg: offset=10
5 sort_by (defaults to date field) eg: sort_by=date
possible values:
"url",
"date",
"user_name",
"app_name",
"developer_email",
"implemented_by_partial_function",
"implemented_in_version",
"consumer_id",
"verb"
6 direction (defaults to date desc) eg: direction=desc
eg: /management/metrics?from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z&limit=10000&offset=0&anon=false&app_name=TeatApp&implemented_in_version=v2.1.0&verb=POST&user_id=c7b6cb47-cb96-4441-8801-35b57456753a&user_name=susan.uk.29@example.com&consumer_id=78
Other filters:
7 consumer_id (if null ignore)
8 user_id (if null ignore)
9 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)
10 url (if null ignore), note: can not contain '&'.
11 app_name (if null ignore)
12 implemented_by_partial_function (if null ignore),
13 implemented_in_version (if null ignore)
14 verb (if null ignore)
15 correlation_id (if null ignore)
16 duration (if null ignore) non digit chars will be silently omitted
Authentication is Mandatory
","operationId":"getMetrics","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/MetricsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/metrics/top-apis":{"get":{"tags":["Metric"],"summary":"Get Top APIs","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get metrics about the most popular APIs. e.g.: total count, response time (in ms), etc.
Should be able to filter on the following fields
eg: /management/metrics/top-apis?from_date=1970-01-01T00:00:00.000Z&to_date=2024-03-28T21:00:33.892Z&consumer_id=5
&user_id=66214b8e-259e-44ad-8868-3eb47be70646&implemented_by_partial_function=getTransactionsForBankAccount
&implemented_in_version=v3.0.0&url=/obp/v3.0.0/banks/gh.29.uk/accounts/8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0/owner/transactions
&verb=GET&anon=false&app_name=MapperPostman
&exclude_app_names=API-EXPLORER,API-Manager,SOFI,null
1 from_date (defaults to the one year ago): eg:from_date=1970-01-01T00:00:00.000Z
2 to_date (defaults to the current date) eg:to_date=2024-03-28T21:00:33.892Z
3 consumer_id (if null ignore)
4 user_id (if null ignore)
5 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)
6 url (if null ignore), note: can not contain '&'.
7 app_name (if null ignore)
8 implemented_by_partial_function (if null ignore),
9 implemented_in_version (if null ignore)
10 verb (if null ignore)
11 correlation_id (if null ignore)
12 duration (if null ignore) non digit chars will be silently omitted
13 exclude_app_names (if null ignore).eg: &exclude_app_names=API-EXPLORER,API-Manager,SOFI,null
14 exclude_url_patterns (if null ignore).you can design you own SQL NOT LIKE pattern. eg: &exclude_url_patterns=%management/metrics%,%management/aggregate-metrics%
15 exclude_implemented_by_partial_functions (if null ignore).eg: &exclude_implemented_by_partial_functions=getMetrics,getConnectorMetrics,getAggregateMetrics
Authentication is Mandatory
","operationId":"getTopAPIs","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TopApisJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/metrics/top-consumers":{"get":{"tags":["Metric"],"summary":"Get Top Consumers","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get metrics about the top consumers of the API usage e.g. total count, consumer_id and app_name.
Should be able to filter on the following fields
e.g.: /management/metrics/top-consumers?from_date=1970-01-01T00:00:00.000Z&to_date=2024-03-28T21:00:33.892Z&consumer_id=5
&user_id=66214b8e-259e-44ad-8868-3eb47be70646&implemented_by_partial_function=getTransactionsForBankAccount
&implemented_in_version=v3.0.0&url=/obp/v3.0.0/banks/gh.29.uk/accounts/8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0/owner/transactions
&verb=GET&anon=false&app_name=MapperPostman
&exclude_app_names=API-EXPLORER,API-Manager,SOFI,null
&limit=100
1 from_date (defaults to the one year ago): eg:from_date=1970-01-01T00:00:00.000Z
2 to_date (defaults to the current date) eg:to_date=2024-03-28T21:00:33.892Z
3 consumer_id (if null ignore)
4 user_id (if null ignore)
5 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)
6 url (if null ignore), note: can not contain '&'.
7 app_name (if null ignore)
8 implemented_by_partial_function (if null ignore),
9 implemented_in_version (if null ignore)
10 verb (if null ignore)
11 correlation_id (if null ignore)
12 duration (if null ignore) non digit chars will be silently omitted
13 exclude_app_names (if null ignore).eg: &exclude_app_names=API-EXPLORER,API-Manager,SOFI,null
14 exclude_url_patterns (if null ignore).you can design you own SQL NOT LIKE pattern. eg: &exclude_url_patterns=%management/metrics%,%management/aggregate-metrics%
15 exclude_implemented_by_partial_functions (if null ignore).eg: &exclude_implemented_by_partial_functions=getMetrics,getConnectorMetrics,getAggregateMetrics
16 limit (for pagination: defaults to 50) eg:limit=200
Authentication is Mandatory
","operationId":"getMetricsTopConsumers","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/TopConsumersJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/system-dynamic-entities":{"get":{"tags":["Dynamic-Entity-Manage","API"],"summary":"Get System Dynamic Entities","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all System Dynamic Entities
Authentication is Mandatory
","operationId":"getSystemDynamicEntities","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic_entities"],"properties":{"dynamic_entities":{"type":"array","items":{"$ref":"#/definitions/DynamicEntityFooBar"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Dynamic-Entity-Manage","API"],"summary":"Create System Level Dynamic Entity","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a system level Dynamic Entity.
Authentication is Mandatory
Create a DynamicEntity. If creation is successful, the corresponding POST, GET, PUT and DELETE (Create, Read, Update, Delete or CRUD for short) endpoints will be generated automatically
The following field types are as supported:
[number, integer, boolean, string, DATE_WITH_DAY, reference]
The DATE_WITH_DAY format is: yyyy-MM-dd
Reference types are like foreign keys and composite foreign keys are supported. The value you need to supply as the (composite) foreign key is a UUID (or several UUIDs in the case of a composite key) that match value in another Entity..
See the following list of currently available reference types and examples of how to construct key values correctly. Note: As more Dynamic Entities are created on this instance, this list will grow:
"someField0": { "type": "reference:Bank", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField1": { "type": "reference:Consumer", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField2": { "type": "reference:Customer", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField3": { "type": "reference:MethodRouting", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField4": { "type": "reference:DynamicEntity", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField5": { "type": "reference:TransactionRequest", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField6": { "type": "reference:ProductAttribute", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField7": { "type": "reference:AccountAttribute", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField8": { "type": "reference:TransactionAttribute", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField9": { "type": "reference:CustomerAttribute", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField10": { "type": "reference:AccountApplication", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField11": { "type": "reference:CardAttribute", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField12": { "type": "reference:Counterparty", "example": "0dbb1ba2-2537-4906-9fef-f264826c5511"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=0dbb1ba2-2537-4906-9fef-f264826c5511&branchId=0247a0a1-e4c4-4dfb-bc62-a4fc8e0184ba"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=0dbb1ba2-2537-4906-9fef-f264826c5511&atmId=0247a0a1-e4c4-4dfb-bc62-a4fc8e0184ba"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=0dbb1ba2-2537-4906-9fef-f264826c5511&accountId=0247a0a1-e4c4-4dfb-bc62-a4fc8e0184ba"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=0dbb1ba2-2537-4906-9fef-f264826c5511&productCode=0247a0a1-e4c4-4dfb-bc62-a4fc8e0184ba"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=0dbb1ba2-2537-4906-9fef-f264826c5511&cardId=0247a0a1-e4c4-4dfb-bc62-a4fc8e0184ba"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=0dbb1ba2-2537-4906-9fef-f264826c5511&accountId=0247a0a1-e4c4-4dfb-bc62-a4fc8e0184ba&transactionId=0e1cc9f4-4124-464e-9809-2458613e6beb"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=0dbb1ba2-2537-4906-9fef-f264826c5511&accountId=0247a0a1-e4c4-4dfb-bc62-a4fc8e0184ba&counterpartyId=0e1cc9f4-4124-464e-9809-2458613e6beb"}
Note: if you set hasPersonalEntity
= false, then OBP will not generate the CRUD my FooBar endpoints.
Delete a DynamicEntity specified by DYNAMIC_ENTITY_ID.
Authentication is Mandatory
","operationId":"deleteSystemDynamicEntity","parameters":[{"in":"path","name":"DYNAMIC_ENTITY_ID","description":"the dynamic entity id ","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Dynamic-Entity-Manage","API"],"summary":"Update System Level Dynamic Entity","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update a System Level Dynamic Entity.
Authentication is Mandatory
Update one DynamicEntity, after update finished, the corresponding CRUD endpoints will be changed.
The following field types are as supported:
[number, integer, boolean, string, DATE_WITH_DAY, reference]
DATE_WITH_DAY format: yyyy-MM-dd
Reference types are like foreign keys and composite foreign keys are supported. The value you need to supply as the (composite) foreign key is a UUID (or several UUIDs in the case of a composite key) that match value in another Entity..
The following list shows all the possible reference types in the system with corresponding examples values so you can see how to construct each reference type value.
"someField0": { "type": "reference:Bank", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField1": { "type": "reference:Consumer", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField2": { "type": "reference:Customer", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField3": { "type": "reference:MethodRouting", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField4": { "type": "reference:DynamicEntity", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField5": { "type": "reference:TransactionRequest", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField6": { "type": "reference:ProductAttribute", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField7": { "type": "reference:AccountAttribute", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField8": { "type": "reference:TransactionAttribute", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField9": { "type": "reference:CustomerAttribute", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField10": { "type": "reference:AccountApplication", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField11": { "type": "reference:CardAttribute", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField12": { "type": "reference:Counterparty", "example": "64079e64-b816-4527-a42e-5c3b480ed494"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=64079e64-b816-4527-a42e-5c3b480ed494&branchId=909c9862-f895-4658-b76c-1969a1ed74b4"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=64079e64-b816-4527-a42e-5c3b480ed494&atmId=909c9862-f895-4658-b76c-1969a1ed74b4"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=64079e64-b816-4527-a42e-5c3b480ed494&accountId=909c9862-f895-4658-b76c-1969a1ed74b4"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=64079e64-b816-4527-a42e-5c3b480ed494&productCode=909c9862-f895-4658-b76c-1969a1ed74b4"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=64079e64-b816-4527-a42e-5c3b480ed494&cardId=909c9862-f895-4658-b76c-1969a1ed74b4"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=64079e64-b816-4527-a42e-5c3b480ed494&accountId=909c9862-f895-4658-b76c-1969a1ed74b4&transactionId=4ec2c2fb-7d87-44e3-9bcc-eb5c111ada09"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=64079e64-b816-4527-a42e-5c3b480ed494&accountId=909c9862-f895-4658-b76c-1969a1ed74b4&counterpartyId=4ec2c2fb-7d87-44e3-9bcc-eb5c111ada09"}
","operationId":"updateSystemDynamicEntity","parameters":[{"in":"body","name":"body","description":"DynamicEntityFooBar object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/DynamicEntityFooBar"}},{"in":"path","name":"DYNAMIC_ENTITY_ID","description":"the dynamic entity id ","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/DynamicEntityFooBar"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/user/reset-password-url":{"post":{"tags":["User"],"summary":"Create password reset url","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create password reset url.
Authentication is Mandatory
","operationId":"resetPasswordUrl","parameters":[{"in":"body","name":"body","description":"PostResetPasswordUrlJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostResetPasswordUrlJsonV400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ResetPasswordUrlJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/users/current/consumers":{"get":{"tags":["Consumer"],"summary":"Get Consumers (logged in User)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Consumers for logged in User.
Authentication is Mandatory
","operationId":"getConsumersForCurrentUser","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ConsumersJsonV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/webui_props":{"get":{"tags":["WebUi-Props"],"summary":"Get WebUiProps","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the all WebUiProps key values, those props key with "webui_" can be stored in DB, this endpoint get all from DB.
url query parameter:
active: It must be a boolean string. and If active = true, it will show
combination of explicit (inserted) + implicit (default) method_routings.
eg:
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/management/webui_props
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/management/webui_props?active=true
Authentication is Mandatory
","operationId":"getWebUiProps","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["webui_props"],"properties":{"webui_props":{"type":"array","items":{"$ref":"#/definitions/WebUiPropsCommons"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["WebUi-Props"],"summary":"Create WebUiProps","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a WebUiProps.
Authentication is Mandatory
Explaination of Fields:
The line break and double quotations should do escape, example:
{"name": "webui_some", "value": "this valuehave "line break" and double quotations."}
should do escape like this:
{"name": "webui_some", "value": "this value\\nhave \\"line break\\" and double quotations."}
Insert image examples:
// set width=100 and height=50{"name": "webui_some_pic", "value": "here is a picture <img alt="hello" src="http://somedomain.com/images/pic.png" width="100" height="50" />"}// only set height=50{"name": "webui_some_pic", "value": "here is a picture <img alt="hello" src="http://somedomain.com/images/pic.png" width="" height="50" />"}// only width=20%{"name": "webui_some_pic", "value": "here is a picture <img alt="hello" src="http://somedomain.com/images/pic.png" width="20%" height="" />"}
","operationId":"createWebUiProps","parameters":[{"in":"body","name":"body","description":"WebUiPropsCommons object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/WebUiPropsCommons"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/WebUiPropsCommons"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/management/webui_props/{WEB_UI_PROPS_ID}":{"delete":{"tags":["WebUi-Props"],"summary":"Delete WebUiProps","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a WebUiProps specified by WEB_UI_PROPS_ID.
Authentication is Mandatory
","operationId":"deleteWebUiProps","parameters":[{"in":"path","name":"WEB_UI_PROPS_ID","description":"the web ui props id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/message-docs/CONNECTOR":{"get":{"tags":["Documentation","API"],"summary":"Get Message Docs","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"These message docs provide example messages sent by OBP to the (Kafka) message queue for processing by the Core Banking / Payment system Adapter - together with an example expected response and possible error codes.
Integrators can use these messages to build Adapters that provide core banking services to OBP.
Note: API Explorer provides a Message Docs page where these messages are displayed.
CONNECTOR
: kafka_vSept2018, stored_procedure_vDec2019 ...
Authentication is Optional
","operationId":"getMessageDocs","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/MessageDocsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/message-docs/CONNECTOR/swagger2.0":{"get":{"tags":["Documentation","API"],"summary":"Get Message Docs Swagger","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint provides example message docs in swagger format.
It is only relavent for REST Connectors.
This endpoint can be used by the developer building a REST Adapter that connects to the Core Banking System (CBS).
That is, the Adapter developer can use the Swagger surfaced here to build the REST APIs that the OBP REST connector will call to consume CBS services.
i.e.:
OBP API (Core OBP API code) -> OBP REST Connector (OBP REST Connector code) -> OBP REST Adapter (Adapter developer code) -> CBS (Main Frame)
Authentication is Optional
","operationId":"getMessageDocsSwagger","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/MessageDocsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/my/accounts":{"get":{"tags":["Account","Account Information Service (AIS)","PrivateData","PSD2"],"summary":"Get Accounts at all Banks (private)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns the list of accounts containing private views for the user.
Each account lists the views available to the user.
optional request parameters:
whole url example:
/my/accounts?account_type_filter=330,CURRENT+PLUS&account_type_filter_operation=INCLUDE
Authentication is Mandatory
","operationId":"corePrivateAccountsAllBanks","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CoreAccountsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/api-collection-ids/API_COLLECTION_ID/api-collection-endpoint-ids/API_COLLECTION_ENDPOINT_ID":{"delete":{"tags":["Api-Collection"],"summary":"Delete My Api Collection Endpoint By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"glossary-item-not-found
Delete Api Collection Endpoint
Delete Api Collection Endpoint By Id
Authentication is Mandatory
","operationId":"deleteMyApiCollectionEndpointById","parameters":[],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/Full"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/api-collection-ids/API_COLLECTION_ID/api-collection-endpoints":{"get":{"tags":["Api-Collection"],"summary":"Get My Api Collection Endpoints By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Api Collection Endpoints By API_COLLECTION_ID.
Authentication is Mandatory
","operationId":"getMyApiCollectionEndpointsById","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionEndpointsJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Api-Collection"],"summary":"Create My Api Collection Endpoint By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Api Collection Endpoint By Id.
glossary-item-not-found
Authentication is Mandatory
","operationId":"createMyApiCollectionEndpointById","parameters":[{"in":"body","name":"body","description":"PostApiCollectionEndpointJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostApiCollectionEndpointJson400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionEndpointJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/api-collection-ids/API_COLLECTION_ID/api-collection-endpoints/OPERATION_ID":{"delete":{"tags":["Api-Collection"],"summary":"Delete My Api Collection Endpoint By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"glossary-item-not-found
Delete Api Collection Endpoint By OPERATION_ID
Authentication is Mandatory
","operationId":"deleteMyApiCollectionEndpointByOperationId","parameters":[],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/Full"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/api-collections":{"get":{"tags":["Api-Collection"],"summary":"Get My Api Collections","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all the apiCollections for logged in user.
Authentication is Mandatory
","operationId":"getMyApiCollections","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionsJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Api-Collection"],"summary":"Create My Api Collection","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Api Collection for logged in user.
Authentication is Mandatory
","operationId":"createMyApiCollection","parameters":[{"in":"body","name":"body","description":"PostApiCollectionJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostApiCollectionJson400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/api-collections/API_COLLECTION_ID":{"delete":{"tags":["Api-Collection"],"summary":"Delete My Api Collection","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Api Collection By API_COLLECTION_ID
glossary-item-not-found
Authentication is Mandatory
","operationId":"deleteMyApiCollection","parameters":[],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/Full"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Api-Collection"],"summary":"Get My Api Collection By Id","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Api Collection By API_COLLECTION_ID.
Authentication is Mandatory
","operationId":"getMyApiCollectionById","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/api-collections/API_COLLECTION_NAME/api-collection-endpoints":{"get":{"tags":["Api-Collection"],"summary":"Get My Api Collection Endpoints","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Api Collection Endpoints By API_COLLECTION_NAME.
Authentication is Mandatory
","operationId":"getMyApiCollectionEndpoints","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionEndpointsJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Api-Collection"],"summary":"Create My Api Collection Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Api Collection Endpoint.
glossary-item-not-found
Authentication is Mandatory
","operationId":"createMyApiCollectionEndpoint","parameters":[{"in":"body","name":"body","description":"PostApiCollectionEndpointJson400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostApiCollectionEndpointJson400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionEndpointJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/api-collections/API_COLLECTION_NAME/api-collection-endpoints/OPERATION_ID":{"delete":{"tags":["Api-Collection"],"summary":"Delete My Api Collection Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"glossary-item-not-found
Delete Api Collection Endpoint By OPERATION_ID
Authentication is Mandatory
","operationId":"deleteMyApiCollectionEndpoint","parameters":[],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/Full"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["Api-Collection"],"summary":"Get My Api Collection Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Api Collection Endpoint By API_COLLECTION_NAME and OPERATION_ID.
Authentication is Optional
","operationId":"getMyApiCollectionEndpoint","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionEndpointJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotFoundByUserId"}}}}},"/obp/v4.0.0/my/api-collections/name/API_COLLECTION_NAME":{"get":{"tags":["Api-Collection"],"summary":"Get My Api Collection By Name","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Api Collection By API_COLLECTION_NAME.
Authentication is Mandatory
","operationId":"getMyApiCollectionByName","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/account":{"get":{"tags":["Account","Account Information Service (AIS)","PSD2"],"summary":"Get Account by Id (Core)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Information returned about the account specified by ACCOUNT_ID:
This call returns the owner view and requires access to that view.
Authentication is Mandatory
","operationId":"getCoreAccountById","parameters":[{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ModeratedCoreAccountJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/banks/{BANK_ID}/accounts/{ACCOUNT_ID}/transactions":{"get":{"tags":["Transaction","Account Information Service (AIS)","Account","PSD2"],"summary":"Get Transactions for Account (Core)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns transactions list (Core info) of the account specified by ACCOUNT_ID.
Authentication is Mandatory
Possible custom url parameters for pagination:
eg1:?limit=100&offset=0
eg2:?limit=100&offset=0&sort_direction=ASC
Date format parameter: yyyy-MM-dd'T'HH:mm:ss.SSS'Z'(1100-01-01T01:01:01.000Z) ==> time zone is UTC.
eg3:?sort_direction=ASC&limit=100&offset=0&from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z
","operationId":"getCoreTransactionsForBankAccount","parameters":[{"in":"path","name":"ACCOUNT_ID","description":"The account id","required":true,"type":"string"},{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CoreTransactionsJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorFilterSortDirectionError"}}}}},"/obp/v4.0.0/my/correlated-entities":{"get":{"tags":["Customer"],"summary":"Get Correlated Entities for the current User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Correlated Entities are users and customers linked to the currently authenticated user via User-Customer-Links
Authentication is Mandatory
","operationId":"getMyCorrelatedEntities","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CorrelatedEntities"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/dynamic-endpoints":{"get":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":"Get My Dynamic Endpoints","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get My Dynamic Endpoints.
Authentication is Mandatory
","operationId":"getMyDynamicEndpoints","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic_endpoints"],"properties":{"dynamic_endpoints":{"type":"array","items":{"type":"object","properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"dynamic_endpoint_id":{"type":"string","example":"dynamic-endpoint-id"},"swagger_string":{"type":"object","properties":{"swagger":{"type":"string","example":"2.0"}},"required":["swagger"]}},"required":["user_id","dynamic_endpoint_id","swagger_string"]}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/dynamic-endpoints/DYNAMIC_ENDPOINT_ID":{"delete":{"tags":["Dynamic-Endpoint-Manage","API"],"summary":"Delete My Dynamic Endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.
Authentication is Mandatory
","operationId":"deleteMyDynamicEndpoint","parameters":[],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/dynamic-entities":{"get":{"tags":["Dynamic-Entity-Manage","API"],"summary":"Get My Dynamic Entities","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all my Dynamic Entities.
Authentication is Mandatory
","operationId":"getMyDynamicEntities","parameters":[],"responses":{"200":{"description":"Success","schema":{"type":"object","required":["dynamic_entities"],"properties":{"dynamic_entities":{"type":"array","items":{"$ref":"#/definitions/DynamicEntityFooBar"}}}}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/dynamic-entities/{DYNAMIC_ENTITY_ID}":{"delete":{"tags":["Dynamic-Entity-Manage","API"],"summary":"Delete My Dynamic Entity","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete my DynamicEntity specified by DYNAMIC_ENTITY_ID.
Authentication is Mandatory
","operationId":"deleteMyDynamicEntity","parameters":[{"in":"path","name":"DYNAMIC_ENTITY_ID","description":"the dynamic entity id ","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["Dynamic-Entity-Manage","API"],"summary":"Update My Dynamic Entity","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update my DynamicEntity.
Authentication is Mandatory
Update one of my DynamicEntity, after update finished, the corresponding CRUD endpoints will be changed.
Current support filed types as follow:
[number, integer, boolean, string, DATE_WITH_DAY, reference]
DATE_WITH_DAY format: yyyy-MM-dd
Reference types are like foreign keys and composite foreign keys are supported. The value you need to supply as the (composite) foreign key is a UUID (or several UUIDs in the case of a composite key) that match value in another Entity..
The following list shows all the possible reference types in the system with corresponding examples values so you can see how to construct each reference type value.
"someField0": { "type": "reference:Bank", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField1": { "type": "reference:Consumer", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField2": { "type": "reference:Customer", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField3": { "type": "reference:MethodRouting", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField4": { "type": "reference:DynamicEntity", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField5": { "type": "reference:TransactionRequest", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField6": { "type": "reference:ProductAttribute", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField7": { "type": "reference:AccountAttribute", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField8": { "type": "reference:TransactionAttribute", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField9": { "type": "reference:CustomerAttribute", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField10": { "type": "reference:AccountApplication", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField11": { "type": "reference:CardAttribute", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField12": { "type": "reference:Counterparty", "example": "85548ba4-4fdd-4d78-8282-88d2ae0b72a0"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=85548ba4-4fdd-4d78-8282-88d2ae0b72a0&branchId=3118301f-d222-4591-b055-417cb5fe3b25"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=85548ba4-4fdd-4d78-8282-88d2ae0b72a0&atmId=3118301f-d222-4591-b055-417cb5fe3b25"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=85548ba4-4fdd-4d78-8282-88d2ae0b72a0&accountId=3118301f-d222-4591-b055-417cb5fe3b25"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=85548ba4-4fdd-4d78-8282-88d2ae0b72a0&productCode=3118301f-d222-4591-b055-417cb5fe3b25"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=85548ba4-4fdd-4d78-8282-88d2ae0b72a0&cardId=3118301f-d222-4591-b055-417cb5fe3b25"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=85548ba4-4fdd-4d78-8282-88d2ae0b72a0&accountId=3118301f-d222-4591-b055-417cb5fe3b25&transactionId=71478b07-8d3f-44eb-b781-6cf3e6545e01"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=85548ba4-4fdd-4d78-8282-88d2ae0b72a0&accountId=3118301f-d222-4591-b055-417cb5fe3b25&counterpartyId=71478b07-8d3f-44eb-b781-6cf3e6545e01"}
","operationId":"updateMyDynamicEntity","parameters":[{"in":"body","name":"body","description":"DynamicEntityFooBar object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/DynamicEntityFooBar"}},{"in":"path","name":"DYNAMIC_ENTITY_ID","description":"the dynamic entity id ","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/DynamicEntityFooBar"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/entitlement-requests":{"get":{"tags":["Role","Entitlement","User"],"summary":"Get Entitlement Requests for the current User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Entitlement Requests for the current User.
Authentication is Mandatory
","operationId":"getEntitlementRequestsForCurrentUser","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementRequestsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/entitlements":{"get":{"tags":["Role","Entitlement","User"],"summary":"Get Entitlements for the current User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Entitlements for the current User.
Authentication is Mandatory
","operationId":"getEntitlementsForCurrentUser","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementJSONs"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/spaces":{"get":{"tags":["User"],"summary":"Get My Spaces","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get My Spaces.
Authentication is Mandatory
","operationId":"getMySpaces","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/MySpaces"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/user/attributes":{"get":{"tags":["User"],"summary":"Get My Personal User Attributes","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get My Personal User Attributes.
Authentication is Mandatory
","operationId":"getMyPersonalUserAttributes","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserAttributesResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["User"],"summary":"Create My Personal User Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create My Personal User Attribute
The type
field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"
Authentication is Mandatory
","operationId":"createMyPersonalUserAttribute","parameters":[{"in":"body","name":"body","description":"UserAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/UserAttributeJsonV400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/UserAttributeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/my/user/attributes/USER_ATTRIBUTE_ID":{"put":{"tags":["User"],"summary":"Update My Personal User Attribute","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update My Personal User Attribute for current user by USER_ATTRIBUTE_ID
The type field must be one of "STRING", "INTEGER", "DOUBLE" or DATE_WITH_DAY"
Authentication is Mandatory
","operationId":"updateMyPersonalUserAttribute","parameters":[{"in":"body","name":"body","description":"UserAttributeJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/UserAttributeJsonV400"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserAttributeResponseJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/rate-limiting":{"get":{"tags":["API","Rate-Limits"],"summary":"Get Rate Limiting Info","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get information about the Rate Limiting setup on this OBP Instance such as:
Is rate limiting enabled and active?
What backend is used to keep track of the API calls (e.g. REDIS).
Note: Rate limiting can be set at the Consumer level and also for anonymous calls.
See the consumer rate limits / call limits endpoints.
Authentication is Mandatory
","operationId":"getRateLimitingInfo","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/RateLimitingInfoV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/resource-docs/{API_VERSION}/obp":{"get":{"tags":["Documentation","API"],"summary":"Get Resource Docs.","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get documentation about the RESTful resources on this server including example bodies for POST and PUT requests.
This is the native data format used to document OBP endpoints. Each endpoint has a Resource Doc (a Scala case class) defined in the source code.
This endpoint is used by OBP API Explorer to display and work with the API documentation.
Most (but not all) fields are also available in swagger format. (The Swagger endpoint is built from Resource Docs.)
API_VERSION is the version you want documentation about e.g. v3.0.0
You may filter this endpoint with tags parameter e.g. ?tags=Account,Bank
You may filter this endpoint with functions parameter e.g. ?functions=enableDisableConsumers,getConnectorMetrics
For possible function values, see implemented_by.function in the JSON returned by this endpoint or the OBP source code or the footer of the API Explorer which produces a comma separated list of functions that reflect the server or filtering by API Explorer based on tags etc.
You may filter this endpoint using the 'content' url parameter, e.g. ?content=dynamic
if set content=dynamic, only show dynamic endpoints, if content=static, only show the static endpoints. if omit this parameter, we will show all the endpoints.
You may need some other language resource docs, now we support en_GB and es_ES at the moment.
You can filter with api-collection-id, but api-collection-id can not be used with others together. If api-collection-id is used in URL, it will ignore all other parameters.
See the Resource Doc endpoint for more information.
Note: Dynamic Resource Docs are cached, TTL is 3600 seconds
Static Resource Docs are cached, TTL is 3600 seconds
Following are more examples:
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?tags=Account,Bank
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?locale=es_ES
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221
Authentication is Mandatory
","operationId":"getResourceDocsObp","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"API_VERSION","description":"eg:v2.2.0, v3.0.0","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ResourceDocsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/resource-docs/{API_VERSION}/swagger":{"get":{"tags":["Documentation","API"],"summary":"Get Swagger documentation","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns documentation about the RESTful resources on this server in Swagger format.
API_VERSION is the version you want documentation about e.g. v3.0.0
You may filter this endpoint using the 'tags' url parameter e.g. ?tags=Account,Bank
(All endpoints are given one or more tags which for used in grouping)
You may filter this endpoint using the 'functions' url parameter e.g. ?functions=getBanks,bankById
(Each endpoint is implemented in the OBP Scala code by a 'function')
See the Resource Doc endpoint for more information.
Note: Resource Docs are cached, TTL is 3600 seconds
Following are more examples:
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/resource-docs/v3.1.0/swagger
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/resource-docs/v3.1.0/swagger?tags=Account,Bank
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/resource-docs/v3.1.0/swagger?functions=getBanks,bankById
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/resource-docs/v3.1.0/swagger?tags=Account,Bank,PSD2&functions=getBanks,bankById
Authentication is Optional
","operationId":"getResourceDocsSwagger","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"API_VERSION","description":"eg:v2.2.0, v3.0.0","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/roles":{"get":{"tags":["Role"],"summary":"Get Roles","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns all available roles
Authentication is Mandatory
","operationId":"getRoles","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/AvailableRolesJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/root":{"get":{"tags":["API"],"summary":"Get API Info (root)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Returns information about:
Authentication is Optional
","operationId":"root","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/APIInfoJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v4.0.0/sandbox/data-import":{"post":{"tags":["Sandbox"],"summary":"Create sandbox","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Import bulk data into the sandbox (Authenticated access).
This call can be used to create banks, users, accounts and transactions which are stored in the local RDBMS.
The user needs to have CanCreateSandbox entitlement.
Note: This is a monolithic call. You could also use a combination of endpoints including create bank, create user, create account and create transaction request to create similar data.
An example of an import set of data (json) can be found here
Authentication is Mandatory
Search the API calls made to this API instance via Elastic Search.
Login is required.
CanSearchMetrics entitlement is required to search metrics data.
parameters:
esType - elasticsearch type
simple query:
q - plain_text_query
df - default field to search
sort - field to sort on
size - number of hits returned, default 10
from - show hits starting from
json query:
source - JSON_query_(URL-escaped)
example usage:
/search/metrics/q=findThis
or:
/search/metrics/source={"query":{"query_string":{"query":"findThis"}}}
Note!!
The whole JSON query string MUST be URL-encoded:
etc..
Only q, source and esType are passed to Elastic
Elastic simple query: https://www.elastic.co/guide/en/elasticsearch/reference/current/search-uri-request.html
Elastic JSON query: https://www.elastic.co/guide/en/elasticsearch/reference/current/query-filter-context.html
Authentication is Mandatory
","operationId":"elasticSearchMetrics","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/search/warehouse/{INDEX}":{"post":{"tags":["Data-Warehouse"],"summary":"Data Warehouse Search","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Search the data warehouse and get row level results.
Authentication is Mandatory
CanSearchWarehouse entitlement is required. You can request the Role below.
Elastic (search) is used in the background. See links below for syntax.
Examples of usage:
POST /search/warehouse/THE_INDEX_YOU_WANT_TO_USE
POST /search/warehouse/INDEX1,INDEX2
POST /search/warehouse/ALL
{ Any valid elasticsearch query DSL in the body }
","operationId":"dataWarehouseSearch","parameters":[{"in":"body","name":"body","description":"ElasticSearchJsonV300 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ElasticSearchJsonV300"}},{"in":"path","name":"INDEX","description":"the elastic search index","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/search/warehouse/statistics/{INDEX}/{FIELD}":{"post":{"tags":["Data-Warehouse"],"summary":"Data Warehouse Statistics","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Search the data warehouse and get statistical aggregations over a warehouse field
Does a stats aggregation over some numeric field:
Authentication is Mandatory
CanSearchWarehouseStats Role is required. You can request this below.
Elastic (search) is used in the background. See links below for syntax.
Examples of usage:
POST /search/warehouse/statistics/INDEX/FIELD
POST /search/warehouse/statistics/ALL/FIELD
{ Any valid elasticsearch query DSL in the body }
","operationId":"dataWarehouseStatistics","parameters":[{"in":"body","name":"body","description":"ElasticSearchJsonV300 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/ElasticSearchJsonV300"}},{"in":"path","name":"FIELD","description":"the elastic search field","required":true,"type":"string"},{"in":"path","name":"INDEX","description":"the elastic search index","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/system-views":{"post":{"tags":["View-System"],"summary":"Create System View","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a system view
Authentication is Mandatory and the user needs to have access to the CanCreateSystemView entitlement.
The 'alias' field in the JSON can take one of two values:
''(empty string): to use no alias; the view shows the real name of the other account.
The 'hide_metadata_if_alias_used' field in the JSON can take boolean values. If it is set to true
and there is an alias on the other account then the other accounts' metadata (like more_info, url, image_url, open_corporates_url, etc.) will be hidden. Otherwise the metadata will be shown.
The 'allowed_actions' field is a list containing the name of the actions allowed on this view, all the actions contained will be set to true
on the view creation, the rest will be set to false
.
Please note that system views cannot be public. In case you try to set it you will get the error OBP-30258: System view cannot be public
","operationId":"createSystemView","parameters":[{"in":"body","name":"body","description":"CreateViewJsonV300 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreateViewJsonV300"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/ViewJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/system-views/{VIEW_ID}":{"delete":{"tags":["View-System"],"summary":"Delete System View","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Deletes the system view specified by VIEW_ID
Authentication is Mandatory
","operationId":"deleteSystemView","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["View-System"],"summary":"Get System View","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get System View
Authentication is Mandatory
","operationId":"getSystemView","parameters":[{"in":"path","name":"VIEW_ID","description":"The view id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ViewJSONV220"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"put":{"tags":["View-System"],"summary":"Update System View","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Update an existing view on a bank account
Authentication is Mandatory and the user needs to have access to the owner view.
The json sent is the same as during view creation (above), with one difference: the 'name' field
of a view is not editable (it is only set when a view is created)
When using CARD, the payee is set in the request body .
Money goes into the Counterparty in the request body.
Initiate a Payment via creating a Transaction Request.
In OBP, a transaction request
may or may not result in a transaction
. However, a transaction
only has one possible state: completed.
A Transaction Request
can have one of several states: INITIATED, NEXT_CHALLENGE_PENDING etc.
Transactions
are modeled on items in a bank statement that represent the movement of money.
Transaction Requests
are requests to move money which may or may not succeed and thus result in a Transaction
.
A Transaction Request
might create a security challenge that needs to be answered before the Transaction Request
proceeds.
In case 1 person needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => COMPLETED
In case n persons needs to answer security challenge we have next flow of state of an transaction request
:
INITIATED => NEXT_CHALLENGE_PENDING => ... => NEXT_CHALLENGE_PENDING => COMPLETED
The security challenge is bound to a user i.e. in case of right answer and the user is different than expected one the challenge will fail.
Rule for calculating number of security challenges:
If product Account attribute REQUIRED_CHALLENGE_ANSWERS=N then create N challenges
(one for every user that has a View where permission "can_add_transaction_request_to_any_account"=true)
In case REQUIRED_CHALLENGE_ANSWERS is not defined as an account attribute default value is 1.
Transaction Requests contain charge information giving the client the opportunity to proceed or not (as long as the challenge level is appropriate).
Transaction Requests can have one of several Transaction Request Types which expect different bodies. The escaped body is returned in the details key of the GET response.
This provides some commonality and one URL for many different payment or transfer types with enough flexibility to validate them differently.
The payer is set in the URL. Money comes out of the BANK_ID and ACCOUNT_ID specified in the URL.
In sandbox mode, TRANSACTION_REQUEST_TYPE is commonly set to ACCOUNT. See getTransactionRequestTypesSupportedByBank for all supported types.
In sandbox mode, if the amount is less than 1000 EUR (any currency, unless it is set differently on this server), the transaction request will create a transaction without a challenge, else the Transaction Request will be set to INITIALISED and a challenge will need to be answered.
If a challenge is created you must answer it using Answer Transaction Request Challenge before the Transaction is created.
You can transfer between different currency accounts. (new in 2.0.0). The currency in body must match the sending account.
The following static FX rates are available in sandbox mode:
Transaction Requests satisfy PSD2 requirements thus:
1) A transaction can be initiated by a third party application.
2) The customer is informed of the charge that will incurred.
3) The call supports delegated authentication (OAuth)
See this python code for a complete example of this flow.
There is further documentation here
Authentication is Mandatory
","operationId":"createTransactionRequestCard","parameters":[{"in":"body","name":"body","description":"TransactionRequestBodyCardJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/TransactionRequestBodyCardJsonV400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/TransactionRequestWithChargeJSON400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/transactions/{TRANSACTION_ID}/balancing-transaction":{"get":{"tags":["Transaction"],"summary":"Get Balancing Transaction","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Balancing Transaction
Authentication is Mandatory
","operationId":"getBalancingTransaction","parameters":[{"in":"path","name":"TRANSACTION_ID","description":"The transaction id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/DoubleEntryTransactionJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/user-entitlements":{"post":{"tags":["Role","Entitlement","User","DAuth"],"summary":"Create (DAuth) User with Roles","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"This endpoint is used as part of the DAuth solution to grant Entitlements for Roles to a smart contract on the blockchain.
Put the smart contract address in username
For provider use "dauth"
This endpoint will create the User with username and provider if the User does not already exist.
Then it will create Entitlements i.e. grant Roles to the User.
Entitlements are used to grant System or Bank level roles to Users. (For Account level privileges, see Views)
i.e. Entitlements are used to create / consume system or bank level resources where as views / account access are used to consume / create customer level resources.
For a System level Role (.e.g CanGetAnyUser), set bank_id to an empty string i.e. "bank_id":""
For a Bank level Role (e.g. CanCreateAccount), set bank_id to a valid value e.g. "bank_id":"my-bank-id"
Note: The Roles actually granted will depend on the Roles that the calling user has.
If you try to grant Entitlements to a user that already exist (duplicate entitilements) you will get an error.
For information about DAuth see below:
DAuth is an experimental authentication mechanism that aims to pin an ethereum or other blockchain Smart Contract to an OBP "User".
In the future, it might be possible to be more specific and pin specific actors (wallets) that are acting within the smart contract, but so far, one smart contract acts on behalf of one User.
Thus, if a smart contract "X" calls the OBP API using the DAuth header, OBP will get or create a user called X and the call will proceed in the context of that User "X".
DAuth is invoked by the REST client (caller) including a specific header (see step 3 below) in any OBP REST call.
When OBP receives the DAuth token, it creates or gets a User with a username based on the smart_contract_address and the provider based on the network_name. The combination of username and provider is unique in OBP.
If you are calling OBP-API via an API3 Airnode, the Airnode will take care of constructing the required header.
When OBP detects a DAuth header / token it first checks if the Consumer is allowed to make such a call. OBP will validate the Consumer ip address and signature etc.
Note: The DAuth flow does not require an explicit POST like Direct Login to create the token.
Permissions may be assigned to an OBP User at any time, via the UserAuthContext, Views, Entitlements to Roles or Consents.
Note: DAuth is NOT enabled on this instance!
Note: The DAuth client is responsible for creating a token which will be trusted by OBP absolutely!
To use DAuth:
Set up properties in your props file
# -- DAuth --------------------------------------# Define secret used to validate JWT token# jwt.public_key_rsa=path-to-the-pem-file# Enable/Disable DAuth communication at all# In case isn't defined default value is false# allow_dauth=false# Define comma separated list of allowed IP addresses# dauth.host=127.0.0.1# -------------------------------------- DAuth--
Please keep in mind that property jwt.public_key_rsa is used to validate JWT token to check it is not changed or corrupted during transport.
The following videos are available:
* DAuth in local environment
HEADER:ALGORITHM & TOKEN TYPE
{ "alg": "RS256", "typ": "JWT"}
PAYLOAD:DATA
{ "smart_contract_address": "0xe123425E7734CE288F8367e1Bb143E90bb3F051224", "network_name": "AIRNODE.TESTNET.ETHEREUM", "msg_sender": "0xe12340927f1725E7734CE288F8367e1Bb143E90fhku767", "consumer_key": "0x1234a4ec31e89cea54d1f125db7536e874ab4a96b4d4f6438668b6bb10a6adb", "timestamp": "2021-11-04T14:13:40Z", "request_id": "0Xe876987694328763492876348928736497869273649"}
VERIFY SIGNATURE
RSASHA256( base64UrlEncode(header) + "." + base64UrlEncode(payload),) your-RSA-key-pair
Here is an example token:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFydF9jb250cmFjdF9hZGRyZXNzIjoiMHhlMTIzNDI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGJiM0YwNTEyMjQiLCJuZXR3b3JrX25hbWUiOiJFVEhFUkVVTSIsIm1zZ19zZW5kZXIiOiIweGUxMjM0MDkyN2YxNzI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGZoa3U3NjciLCJjb25zdW1lcl9rZXkiOiIweDEyMzRhNGVjMzFlODljZWE1NGQxZjEyNWRiNzUzNmU4NzRhYjRhOTZiNGQ0ZjY0Mzg2NjhiNmJiMTBhNmFkYiIsInRpbWVzdGFtcCI6IjIwMjEtMTEtMDRUMTQ6MTM6NDBaIiwicmVxdWVzdF9pZCI6IjBYZTg3Njk4NzY5NDMyODc2MzQ5Mjg3NjM0ODkyODczNjQ5Nzg2OTI3MzY0OSJ9.XSiQxjEVyCouf7zT8MubEKsbOBZuReGVhnt9uck6z6k
Using your favorite http client:
GET https://obp-api-sandbox.nmbbank.co.tz/obp/v3.0.0/users/current
Body
Leave Empty!
Headers:
DAuth: your-jwt-from-step-above
Here is it all together:
GET https://obp-api-sandbox.nmbbank.co.tz/obp/v3.0.0/users/current HTTP/1.1
Host: localhost:8080
User-Agent: curl/7.47.0
Accept: /
DAuth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFydF9jb250cmFjdF9hZGRyZXNzIjoiMHhlMTIzNDI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGJiM0YwNTEyMjQiLCJuZXR3b3JrX25hbWUiOiJFVEhFUkVVTSIsIm1zZ19zZW5kZXIiOiIweGUxMjM0MDkyN2YxNzI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGZoa3U3NjciLCJjb25zdW1lcl9rZXkiOiIweDEyMzRhNGVjMzFlODljZWE1NGQxZjEyNWRiNzUzNmU4NzRhYjRhOTZiNGQ0ZjY0Mzg2NjhiNmJiMTBhNmFkYiIsInRpbWVzdGFtcCI6IjIwMjEtMTEtMDRUMTQ6MTM6NDBaIiwicmVxdWVzdF9pZCI6IjBYZTg3Njk4NzY5NDMyODc2MzQ5Mjg3NjM0ODkyODczNjQ5Nzg2OTI3MzY0OSJ9.XSiQxjEVyCouf7zT8MubEKsbOBZuReGVhnt9uck6z6k
CURL example
curl -v -H 'DAuth: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzbWFydF9jb250cmFjdF9hZGRyZXNzIjoiMHhlMTIzNDI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGJiM0YwNTEyMjQiLCJuZXR3b3JrX25hbWUiOiJFVEhFUkVVTSIsIm1zZ19zZW5kZXIiOiIweGUxMjM0MDkyN2YxNzI1RTc3MzRDRTI4OEY4MzY3ZTFCYjE0M0U5MGZoa3U3NjciLCJjb25zdW1lcl9rZXkiOiIweDEyMzRhNGVjMzFlODljZWE1NGQxZjEyNWRiNzUzNmU4NzRhYjRhOTZiNGQ0ZjY0Mzg2NjhiNmJiMTBhNmFkYiIsInRpbWVzdGFtcCI6IjIwMjEtMTEtMDRUMTQ6MTM6NDBaIiwicmVxdWVzdF9pZCI6IjBYZTg3Njk4NzY5NDMyODc2MzQ5Mjg3NjM0ODkyODczNjQ5Nzg2OTI3MzY0OSJ9.XSiQxjEVyCouf7zT8MubEKsbOBZuReGVhnt9uck6z6k' https://obp-api-sandbox.nmbbank.co.tz/obp/v3.0.0/users/current
You should receive a response like:
{ "user_id": "4c4d3175-1e5c-4cfd-9b08-dcdc209d8221", "email": "", "provider_id": "0xe123425E7734CE288F8367e1Bb143E90bb3F051224", "provider": "ETHEREUM", "username": "0xe123425E7734CE288F8367e1Bb143E90bb3F051224", "entitlements": { "list": [] }}
The file, dauth.scala handles the DAuth,
We:
-> Check if Props allow_dauth is true -> Check if DAuth header exists -> Check if getRemoteIpAddress is OK -> Look for "token" -> parse the JWT token and getOrCreate the user -> get the data of the user
Parameter names and values are case sensitive.
Each parameter MUST NOT appear more than once per request.
Authentication is Mandatory
","operationId":"createUserWithRoles","parameters":[{"in":"body","name":"body","description":"PostCreateUserWithRolesJsonV400 object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/PostCreateUserWithRolesJsonV400"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementsJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users":{"get":{"tags":["User"],"summary":"Get all Users","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get all users
Authentication is Mandatory
CanGetAnyUser entitlement is required,
Possible custom url parameters for pagination:
eg1:?limit=100&offset=0
eg2:?limit=100&offset=0&sort_direction=ASC
Creates OBP user.
No authorisation (currently) required.
Mimics current webform to Register.
Requires username(email) and password.
Returns 409 error if username not unique.
May require validation of email address.
Authentication is Mandatory
","operationId":"createUser","parameters":[{"in":"body","name":"body","description":"CreateUserJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreateUserJson"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/UserJsonV200"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/{USERNAME}/lock-status":{"get":{"tags":["User"],"summary":"Get User Lock Status","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get User Login Status.
Authentication is Mandatory
Unlock a User.
(Perhaps the user was locked due to multiple failed login attempts)
Authentication is Mandatory
","operationId":"unlockUser","parameters":[{"in":"path","name":"USERNAME","description":"the user name","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/BadLoginStatusJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/{USERNAME}/locks":{"post":{"tags":["User"],"summary":"Lock the user","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Lock a User.
Authentication is Mandatory
","operationId":"lockUser","parameters":[{"in":"path","name":"USERNAME","description":"the user name","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/UserLockStatusJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/{USER_ID}":{"delete":{"tags":["User"],"summary":"Delete a User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete a User.
Authentication is Mandatory
","operationId":"deleteUser","parameters":[{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/{USER_ID}/api-collections":{"get":{"tags":["Api-Collection"],"summary":"Get Api Collections for User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Api Collections for User.
Authentication is Mandatory
","operationId":"getApiCollectionsForUser","parameters":[{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ApiCollectionsJson400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotFoundByUserId"}}}}},"/obp/v4.0.0/users/{USER_ID}/attributes":{"get":{"tags":["User"],"summary":"Get User with Attributes by USER_ID","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get User Attributes for the user defined via USER_ID.
Authentication is Mandatory
","operationId":"getUserWithAttributes","parameters":[{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserWithAttributesResponseJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/{USER_ID}/auth-context":{"delete":{"tags":["User"],"summary":"Delete User's Auth Contexts","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete the Auth Contexts of a User specified by USER_ID.
Authentication is Mandatory
","operationId":"deleteUserAuthContexts","parameters":[{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"get":{"tags":["User"],"summary":"Get User Auth Contexts","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get User Auth Contexts for a User.
Authentication is Mandatory
","operationId":"getUserAuthContexts","parameters":[{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserAuthContextsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["User"],"summary":"Create User Auth Context","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create User Auth Context. These key value pairs will be propagated over connector to adapter. Normally used for mapping OBP user and
Bank User/Customer.
Authentication is Mandatory
Delete a User AuthContext of the User specified by USER_AUTH_CONTEXT_ID.
Authentication is Mandatory
","operationId":"deleteUserAuthContextById","parameters":[{"in":"path","name":"USER_AUTH_CONTEXT_ID","description":"the user auth context id","required":true,"type":"string"},{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"204":{"description":"Success"},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/{USER_ID}/entitlement-requests":{"get":{"tags":["Role","Entitlement","User"],"summary":"Get Entitlement Requests for a User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get Entitlement Requests for a User.
Authentication is Mandatory
","operationId":"getEntitlementRequests","parameters":[{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementRequestsJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/{USER_ID}/entitlement/{ENTITLEMENT_ID}":{"delete":{"tags":["Role","User","Entitlement"],"summary":"Delete Entitlement","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Delete Entitlement specified by ENTITLEMENT_ID for an user specified by USER_ID
Authentication is required and the user needs to be a Super Admin.
Super Admins are listed in the Props file.
Authentication is Mandatory
","operationId":"deleteEntitlement","parameters":[{"in":"body","name":"body","description":"EmptyClassJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/EmptyClassJson"}},{"in":"path","name":"ENTITLEMENT_ID","description":"The entitblement id","required":true,"type":"string"},{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"204":{"description":"Success","schema":{"$ref":"#/definitions/EmptyClassJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/{USER_ID}/entitlements":{"get":{"tags":["Role","Entitlement","User"],"summary":"Get Entitlements for User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Authentication is Mandatory
","operationId":"getEntitlements","parameters":[{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementsJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}},"post":{"tags":["Role","Entitlement","User"],"summary":"Add Entitlement for a User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create Entitlement. Grant Role to User.
Entitlements are used to grant System or Bank level roles to Users. (For Account level privileges, see Views)
For a System level Role (.e.g CanGetAnyUser), set bank_id to an empty string i.e. "bank_id":""
For a Bank level Role (e.g. CanCreateAccount), set bank_id to a valid value e.g. "bank_id":"my-bank-id"
Authentication is required and the user needs to be a Super Admin. Super Admins are listed in the Props file.
Authentication is Mandatory
","operationId":"addEntitlement","parameters":[{"in":"body","name":"body","description":"CreateEntitlementJSON object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/CreateEntitlementJSON"}},{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/EntitlementJSON"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/{USER_ID}/refresh":{"post":{"tags":["User"],"summary":"Refresh User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"The endpoint is used for updating the accounts, views, account holders for the user.
As to the Json body, you can leave it as Empty.
This call will get data from backend, no need to prepare the json body in api side.
Authentication is Mandatory
","operationId":"refreshUser","parameters":[{"in":"path","name":"USER_ID","description":"The user id","required":true,"type":"string"}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/RefreshUserJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserHasMissingRoles"}}}}},"/obp/v4.0.0/users/current":{"get":{"tags":["User"],"summary":"Get User (Current)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the logged in user
Authentication is Mandatory
","operationId":"getCurrentUser","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/current/customers":{"get":{"tags":["Customer","User"],"summary":"Get Customers for Current User","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Gets all Customers that are linked to a User.
Authentication is Mandatory
","operationId":"getCustomersForUser","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/CustomersWithAttributesJsonV300"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/current/logout-link":{"get":{"tags":["User"],"summary":"Get Logout Link","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the Logout Link
Authentication is Mandatory
","operationId":"getLogoutLink","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/LogoutLinkJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/current/user_id":{"get":{"tags":["User"],"summary":"Get User Id (Current)","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the USER_ID of the logged in user
Authentication is Mandatory
","operationId":"getCurrentUserId","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserIdJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/users/email/EMAIL/terminator":{"get":{"tags":["User"],"summary":"Get Users by Email Address","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get users by email address
Authentication is Mandatory
CanGetAnyUser entitlement is required,
Get user by USER_ID
Authentication is Mandatory
CanGetAnyUser entitlement is required,
Get user by USERNAME
Authentication is Mandatory
CanGetAnyUser entitlement is required,
","operationId":"getUserByUsername","parameters":[{"in":"path","name":"USERNAME","description":"the user name","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/UserJsonV400"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v4.0.0/web-hooks/account/notifications/on-create-transaction":{"post":{"tags":["Webhook","Bank"],"summary":"Create system level Account Notification Webhook","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Create a notification Webhook that will fire for all accounts on the system.
Webhooks are used to call external web services when certain events happen.
For instance, a webhook can be used to notify an external service if a transaction is created on an account.
When an account notification webhook fires it will POST to the URL you specify during the creation of the webhook.
Inside the payload you will find account_id and transaction_id and also user_ids and customer_ids of the Users / Customers linked to the Account.
The webhook will POST the following structure to your service:
{
"event_name": "OnCreateTransaction",
"event_id": "9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"bank_id": "gh.29.uk",
"account_id": "8ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"transaction_id": "7ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"related_entities": [
{
"user_id": "8ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"customer_ids": ["3ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"]
}
]
}
Thus, your service should accept the above POST body structure.
In this way, your web service can be informed about an event on an account and act accordingly.
Further information about the account, transaction or related entities can then be retrieved using the standard REST APIs.
Authentication is Mandatory
","operationId":"createSystemAccountNotificationWebhook","parameters":[{"in":"body","name":"body","description":"AccountNotificationWebhookPostJson object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/AccountNotificationWebhookPostJson"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/SystemAccountNotificationWebhookJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/test-dynamic-resource-doc/my_user/MY_USER_ID":{"post":{"tags":["Dynamic-Resource-Doc"],"summary":"A test endpoint","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"A test endpoint.
Just for debug method body of dynamic resource doc.
better watch the following introduction video first
* Dynamic resourceDoc version1
The endpoint return the response from PractiseEndpoint code.
Here, code.api.DynamicEndpoints.dynamic.practise.PractiseEndpoint.process
You can test the method body grammar, and try the business logic, but need to restart the OBP-API code .
Authentication is Optional
","operationId":"test-dynamic-resource-doc","parameters":[{"in":"body","name":"body","description":"RequestRootJsonClass object that needs to be added.","required":true,"schema":{"$ref":"#/definitions/RequestRootJsonClass"}}],"responses":{"201":{"description":"Success","schema":{"$ref":"#/definitions/RequestRootJsonClass"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}}},"definitions":{"ErrorInvalidJsonFormat":{"properties":{"message":{"type":"string","example":"OBP-10001: Incorrect json format."}}},"ErrorInvalidISOCurrencyCode":{"properties":{"message":{"type":"string","example":"OBP-10003: Invalid Currency Value. It should be three letters ISO Currency Code. "}}},"ErrorInvalidDateFormat":{"properties":{"message":{"type":"string","example":"OBP-10005: Invalid Date Format. Could not convert value to a Date."}}},"ErrorFilterSortDirectionError":{"properties":{"message":{"type":"string","example":"OBP-10023: obp_sort_direction parameter can only take two values: DESC or ASC!"}}},"ErrorUserNotLoggedIn":{"properties":{"message":{"type":"string","example":"OBP-20001: User not logged in. Authentication is required!"}}},"ErrorUserHasMissingRoles":{"properties":{"message":{"type":"string","example":"OBP-20006: User is missing one or more roles: "}}},"ErrorUserNotFoundByUserId":{"properties":{"message":{"type":"string","example":"OBP-20057: User not found by userId."}}},"ErrorBankNotFound":{"properties":{"message":{"type":"string","example":"OBP-30001: Bank not found. Please specify a valid value for BANK_ID."}}},"ErrorBranchNotFoundByBranchId":{"properties":{"message":{"type":"string","example":"OBP-300010: Branch not found. Please specify a valid value for BRANCH_ID. Or License may not be set. meta.license.id and meta.license.name can not be empty"}}},"ErrorProductNotFoundByProductCode":{"properties":{"message":{"type":"string","example":"OBP-30011: Product not found. Please specify a valid value for PRODUCT_CODE."}}},"ErrorBankAccountNotFound":{"properties":{"message":{"type":"string","example":"OBP-30018: Bank Account not found. Please specify valid values for BANK_ID and ACCOUNT_ID. "}}},"ErrorNoViewPermission":{"properties":{"message":{"type":"string","example":"OBP-30022: The current view does not have the permission:"}}},"ErrorCannotGetAccounts":{"properties":{"message":{"type":"string","example":"OBP-30066: Could not get accounts."}}},"ErrorUnknownError":{"properties":{"message":{"type":"string","example":"OBP-50000: Unknown Error."}}},"NotSupportedYet":{"properties":{}},"BankAccountNotificationWebhookJson":{"required":["created_by_user_id","url","trigger_name","http_protocol","http_method","bank_id","webhook_id"],"properties":{"created_by_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"url":{"type":"string","example":"https://localhost.openbankproject.com"},"trigger_name":{"type":"string","example":"OnCreateTransaction"},"http_protocol":{"type":"string","example":"HTTP/1.1"},"http_method":{"type":"string","example":"POST"},"bank_id":{"type":"string","example":"gh.29.uk"},"webhook_id":{"type":"string","example":"fc23a7e2-7dd2-4bdf-a0b4-ae31232a4762"}}},"AttributeDefinitionResponseJsonV400":{"required":["name","is_active","description","attribute_definition_id","alias","bank_id","can_be_seen_on_views","category","type"],"properties":{"name":{"type":"string","example":"SPECIAL_TAX_NUMBER"},"is_active":{"type":"boolean","example":"true"},"description":{"type":"string","example":"description"},"attribute_definition_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"alias":{"type":"string","example":"STRING"},"bank_id":{"type":"string","example":"gh.29.uk"},"can_be_seen_on_views":{"type":"array","items":{"type":"string"}},"category":{"type":"string","example":"Card"},"type":{"type":"string","example":"STRING"}}},"EndpointTagJson400":{"required":["tag_name"],"properties":{"tag_name":{"type":"string","example":"BankAccountTag1"}}},"ProductAttributeResponseWithoutBankIdJson":{"required":["name","product_attribute_id","product_code","type","value"],"properties":{"name":{"type":"string","example":"OVERDRAFT_START_DATE"},"product_attribute_id":{"type":"string","example":"613c83ea-80f9-4560-8404-b9cd4ec42a7f"},"product_code":{"type":"string","example":"1234BW"},"type":{"type":"string","example":"DATE_WITH_DAY"},"value":{"type":"string","example":"2012-04-23"}}},"PostCreateUserWithRolesJsonV400":{"required":["username","provider","roles"],"properties":{"username":{"type":"string","example":"felixsmith"},"provider":{"type":"string","example":"dauth.ETHEREUM"},"roles":{"type":"array","items":{"$ref":"#/definitions/CreateEntitlementJSON"}}}},"AkkaJSON":{"required":["ports","log_level"],"properties":{"ports":{"type":"array","items":{"$ref":"#/definitions/PortJSON"}},"log_level":{"type":"string","example":"Debug"},"remote_data_secret_matched":{"type":"boolean","example":"true"}}},"TransactionRequestRefundFrom":{"required":["counterparty_id"],"properties":{"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"}}},"PostRevokeGrantAccountAccessJsonV400":{"required":["views"],"properties":{"views":{"type":"array","items":{"type":"string"}}}},"AddCustomerMessageJson":{"required":["message","from_department","from_person"],"properties":{"message":{"type":"string","example":"String"},"from_department":{"type":"string","example":"String"},"from_person":{"type":"string","example":"String"}}},"TransactionRequestBodyFreeFormJSON":{"required":["value","description"],"properties":{"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"description":{"type":"string","example":"This is a FREE_FORM Transaction Request"}}},"ProductsJsonV400":{"required":["products"],"properties":{"products":{"type":"array","items":{"$ref":"#/definitions/ProductJsonV400"}}}},"TransactionAttributeJsonV400":{"required":["name","type","value"],"properties":{"name":{"type":"string","example":"HOUSE_RENT"},"type":{"type":"string","example":"DATE_WITH_DAY"},"value":{"type":"string","example":"123456789"}}},"PhysicalCardsJsonV310":{"required":["cards"],"properties":{"cards":{"type":"array","items":{"$ref":"#/definitions/PhysicalCardJsonV310"}}}},"PostCustomerAddressJsonV310":{"required":["city","line_2","state","tags","postcode","county","country_code","status","line_3","line_1"],"properties":{"city":{"type":"string","example":"Berlin"},"line_2":{"type":"string","example":"The Place"},"state":{"type":"string","example":"Brandenburg"},"tags":{"type":"array","items":{"type":"string"}},"postcode":{"type":"string","example":"13359"},"county":{"type":"string","example":""},"country_code":{"type":"string","example":"DE"},"status":{"type":"string","example":"OK"},"line_3":{"type":"string","example":"The Hill"},"line_1":{"type":"string","example":"No 1 the Road"}}},"BankLevelEndpointTagResponseJson400":{"required":["bank_id","endpoint_tag_id","operation_id","tag_name"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"endpoint_tag_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"operation_id":{"type":"string","example":"OBPv4.0.0-getBanks"},"tag_name":{"type":"string","example":"BankAccountTag1"}}},"AccessibilityFeaturesJson":{"required":["accessibility_features"],"properties":{"accessibility_features":{"type":"array","items":{"type":"string"}}}},"AmountOfMoneyJsonV121":{"required":["currency","amount"],"properties":{"currency":{"type":"string","example":"EUR"},"amount":{"type":"string","example":"0"}}},"PostApiCollectionEndpointJson400":{"required":["operation_id"],"properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-getBanks"}}},"PutUpdateCustomerNumberJsonV310":{"required":["customer_number"],"properties":{"customer_number":{"type":"string","example":"5987953"}}},"SupportedLanguagesJson":{"required":["supported_languages"],"properties":{"supported_languages":{"type":"array","items":{"type":"string"}}}},"ProductCollectionJsonV310":{"required":["collection_code","product_code","items"],"properties":{"collection_code":{"type":"string","example":"C"},"product_code":{"type":"string","example":"1234BW"},"items":{"type":"array","items":{"$ref":"#/definitions/ProductCollectionItemJsonV310"}}}},"CustomerWithAttributesJsonV300":{"required":["customer_id","name_suffix","email","branch_id","mobile_phone_number","customer_number","customer_attributes","highest_education_attained","dob_of_dependants","bank_id","date_of_birth","last_ok_date","employment_status","legal_name","title","face_image","dependants","relationship_status","kyc_status"],"properties":{"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"name_suffix":{"type":"string","example":"Sr"},"email":{"type":"string","example":"felixsmith@example.com"},"branch_id":{"type":"string","example":"DERBY6"},"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"},"customer_number":{"type":"string","example":"5987953"},"customer_attributes":{"type":"array","items":{"$ref":"#/definitions/CustomerAttributeResponseJsonV300"}},"highest_education_attained":{"type":"string","example":"Master"},"dob_of_dependants":{"type":"array","items":{"type":"string"}},"bank_id":{"type":"string","example":"gh.29.uk"},"date_of_birth":{"type":"string","example":"19900101"},"credit_rating":{"$ref":"#/definitions/CustomerCreditRatingJSON"},"last_ok_date":{"type":"string","format":"date","example":"2023-03-28T21:00:31Z"},"employment_status":{"type":"string","example":"worker"},"legal_name":{"type":"string","example":"Eveline Tripman"},"credit_limit":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"title":{"type":"string","example":"Dr."},"face_image":{"$ref":"#/definitions/CustomerFaceImageJson"},"dependants":{"type":"integer","format":"int32","example":"1"},"relationship_status":{"type":"string","example":"single"},"kyc_status":{"type":"boolean","example":"true"}}},"WarehouseJSON":{"required":["property","value"],"properties":{"property":{"type":"string","example":"String"},"value":{"type":"string","example":"ElasticSearch"}}},"PostCustomerNumberJsonV310":{"required":["customer_number"],"properties":{"customer_number":{"type":"string","example":"5987953"}}},"LogoutLinkJson":{"required":["link"],"properties":{"link":{"type":"string","example":"127.0.0.1:8080/user_mgt/logout"}}},"JsonValidationV400":{"required":["operation_id","json_schema"],"properties":{"operation_id":{"type":"string","example":"OBPv4.0.0-createXxx"},"json_schema":{"$ref":"#/definitions/JsonSchemaV400"}}},"TransactionRequestWithChargeJSONs210":{"required":["transaction_requests_with_charges"],"properties":{"transaction_requests_with_charges":{"type":"array","items":{"$ref":"#/definitions/TransactionRequestWithChargeJSON210"}}}},"LicenseJsonV140":{"required":["id","name"],"properties":{"id":{"type":"string","example":"ODbL-1.0"},"name":{"type":"string","example":"Open Database License"}}},"AvailableRolesJSON":{"required":["roles"],"properties":{"roles":{"type":"array","items":{"$ref":"#/definitions/AvailableRoleJSON"}}}},"CounterpartyMetadataJson":{"required":["public_alias","physical_location","image_url","private_alias","url","more_info","corporate_location","open_corporates_url"],"properties":{"public_alias":{"type":"string","example":"String"},"physical_location":{"$ref":"#/definitions/LocationJsonV210"},"image_url":{"type":"string","example":"String"},"private_alias":{"type":"string","example":"String"},"url":{"type":"string","example":"String"},"more_info":{"type":"string","example":"String"},"corporate_location":{"$ref":"#/definitions/LocationJsonV210"},"open_corporates_url":{"type":"string","example":"String"}}},"CorporateLocationJSON":{"required":["corporate_location"],"properties":{"corporate_location":{"$ref":"#/definitions/LocationPlainJSON"}}},"AccountMinimalJson400":{"required":["bank_id","account_id","view_id"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"view_id":{"type":"string","example":"owner"}}},"AccountWebhookJson":{"required":["created_by_user_id","is_active","url","trigger_name","http_protocol","account_webhook_id","http_method","bank_id","account_id"],"properties":{"created_by_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"is_active":{"type":"boolean","example":"true"},"url":{"type":"string","example":"https://localhost.openbankproject.com"},"trigger_name":{"type":"string","example":"OnBalanceChange"},"http_protocol":{"type":"string","example":"HTTP/1.1"},"account_webhook_id":{"type":"string","example":"613c83ea-80f9-4560-8404-b9cd4ec42a7f"},"http_method":{"type":"string","example":"POST"},"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}}},"SupportedCurrenciesJson":{"required":["supported_currencies"],"properties":{"supported_currencies":{"type":"array","items":{"type":"string"}}}},"AccountApplicationJson":{"required":["product_code"],"properties":{"product_code":{"type":"string","example":"1234BW"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"}}},"FastFirehoseAccountJsonV400":{"required":["number","account_attributes","account_routings","label","owners","balance","product_code","bank_id","id"],"properties":{"number":{"type":"string","example":""},"account_attributes":{"type":"array","items":{"$ref":"#/definitions/FastFirehoseAttributes"}},"account_routings":{"type":"array","items":{"$ref":"#/definitions/FastFirehoseRoutings"}},"label":{"type":"string","example":"My Account"},"owners":{"type":"array","items":{"$ref":"#/definitions/FastFirehoseOwners"}},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"product_code":{"type":"string","example":"1234BW"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}}},"CustomerMinimalJsonV400":{"required":["bank_id","customer_id"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"}}},"GlossaryDescriptionJsonV300":{"required":["markdown","html"],"properties":{"markdown":{"type":"string","example":"String"},"html":{"type":"string","example":"String"}}},"TransactionRequestTransferToAccount":{"required":["description","future_date","to","transfer_type","value"],"properties":{"description":{"type":"string","example":"String"},"future_date":{"type":"string","example":"20181230"},"to":{"$ref":"#/definitions/ToAccountTransferToAccount"},"transfer_type":{"type":"string","example":"String"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"}}},"PostBankJson400":{"required":["bank_routings","website","full_name","logo","id","short_name"],"properties":{"bank_routings":{"type":"array","items":{"$ref":"#/definitions/BankRoutingJsonV121"}},"website":{"type":"string","example":"www.openbankproject.com"},"full_name":{"type":"string","example":"full_name"},"logo":{"type":"string","example":"logo"},"id":{"type":"string","example":"gh.29.uk"},"short_name":{"type":"string","example":"short_name "}}},"ChallengeAnswerJson400":{"required":["id","answer"],"properties":{"id":{"type":"string","example":"This is challenge.id, you can get it from `Create Transaction Request.` response, only is useful if status ==`INITIATED` there."},"answer":{"type":"string","example":"123"},"reason_code":{"type":"string","example":"[Optional] Reason code for REJECT answer (e.g. 'CUST')"},"additional_information":{"type":"string","example":"[Optional] Additional description for REJECT answer"}}},"TopConsumerJson":{"required":["count","consumer_id","app_name","developer_email"],"properties":{"count":{"type":"integer","format":"int32","example":"7076"},"consumer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"app_name":{"type":"string","example":"Api Explorer"},"developer_email":{"type":"string","example":"felixsmith@example.com"}}},"AttributeDefinitionJsonV400":{"required":["name","is_active","description","alias","can_be_seen_on_views","category","type"],"properties":{"name":{"type":"string","example":"SPECIAL_TAX_NUMBER"},"is_active":{"type":"boolean","example":"true"},"description":{"type":"string","example":"description"},"alias":{"type":"string","example":"STRING"},"can_be_seen_on_views":{"type":"array","items":{"type":"string"}},"category":{"type":"string","example":"TransactionRequest"},"type":{"type":"string","example":"STRING"}}},"AccountNotificationWebhookPostJson":{"required":["url","http_method","http_protocol"],"properties":{"url":{"type":"string","example":"https://localhost.openbankproject.com"},"http_method":{"type":"string","example":"POST"},"http_protocol":{"type":"string","example":"HTTP/1.1"}}},"ResourceUserJSON":{"required":["provider","email","username","provider_id","user_id"],"properties":{"provider":{"type":"string","example":"http://127.0.0.1:8080"},"email":{"type":"string","example":"felixsmith@example.com"},"username":{"type":"string","example":"felixsmith"},"provider_id":{"type":"string","example":"Chris"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"}}},"OtherAccountJsonV300":{"required":["account_routings","holder","id","metadata","bank_routing"],"properties":{"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"holder":{"$ref":"#/definitions/AccountHolderJSON"},"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"metadata":{"$ref":"#/definitions/OtherAccountMetadataJSON"},"bank_routing":{"$ref":"#/definitions/BankRoutingJsonV121"}}},"AttributeDefinitionsResponseJsonV400":{"required":["attributes"],"properties":{"attributes":{"type":"array","items":{"$ref":"#/definitions/AttributeDefinitionResponseJsonV400"}}}},"PostKycDocumentJSON":{"required":["number","customer_number","issue_date","type","issue_place","expiry_date"],"properties":{"number":{"type":"string","example":"12345"},"customer_number":{"type":"string","example":"5987953"},"issue_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"type":{"type":"string","example":"passport"},"issue_place":{"type":"string","example":"Berlin"},"expiry_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"ChallengeJsonV400":{"required":["allowed_attempts","user_id","id","link","challenge_type"],"properties":{"allowed_attempts":{"type":"integer","format":"int32","example":"3"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"id":{"type":"string","example":"2fg8a7e4-6d02-40e3-a129-0b2bf89de8ub"},"link":{"type":"string","example":"/obp/v4.0.0/banks/BANK_ID/accounts/ACCOUNT_ID/VIEW_ID/transaction-request-types/TRANSACTION_REQUEST_TYPE/transaction-requests/TRANSACTION_REQUEST_ID/challenge"},"challenge_type":{"type":"string","example":"OBP_TRANSACTION_REQUEST_CHALLENGE"}}},"AtmAccessibilityFeaturesJson":{"required":["atm_id","accessibility_features"],"properties":{"atm_id":{"type":"string","example":"atme-9a0f-4bfa-b30b-9003aa467f51"},"accessibility_features":{"type":"array","items":{"type":"string"}}}},"TransactionMetadataJSON":{"required":["narrative","tags","where","images","comments"],"properties":{"narrative":{"type":"string","example":"NONE"},"tags":{"type":"array","items":{"$ref":"#/definitions/TransactionTagJSON"}},"where":{"$ref":"#/definitions/LocationJSONV121"},"images":{"type":"array","items":{"$ref":"#/definitions/TransactionImageJSON"}},"comments":{"type":"array","items":{"$ref":"#/definitions/TransactionCommentJSON"}}}},"TransactionRequestTypeJsonV140":{"required":["value","charge"],"properties":{"value":{"type":"string","example":"10"},"charge":{"$ref":"#/definitions/TransactionRequestChargeJsonV140"}}},"KycStatusesJSON":{"required":["statuses"],"properties":{"statuses":{"type":"array","items":{"$ref":"#/definitions/KycStatusJSON"}}}},"OpenCorporateUrlJSON":{"required":["open_corporates_URL"],"properties":{"open_corporates_URL":{"type":"string","example":"String"}}},"ConsentInfoJsonV400":{"required":["created_by_user_id","api_version","last_usage_date","status","consumer_id","api_standard","consent_id","last_action_date"],"properties":{"created_by_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"api_version":{"type":"string","example":"v1.3"},"last_usage_date":{"type":"string","example":"2021-04-08T09:12:27Z"},"status":{"type":"string","example":"INITIATED"},"consumer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"api_standard":{"type":"string","example":"Berlin Group"},"consent_id":{"type":"string","example":"9d429899-24f5-42c8-8565-943ffa6a7945"},"last_action_date":{"type":"string","example":"2020-01-27"}}},"RateLimitingInfoV310":{"required":["enabled","technology","service_available","is_active"],"properties":{"enabled":{"type":"boolean","example":"true"},"technology":{"type":"string","example":"REDIS"},"service_available":{"type":"boolean","example":"true"},"is_active":{"type":"boolean","example":"true"}}},"EntitlementRequestsJSON":{"required":["entitlement_requests"],"properties":{"entitlement_requests":{"type":"array","items":{"$ref":"#/definitions/EntitlementRequestJSON"}}}},"PinResetJSON":{"required":["requested_date","reason_requested"],"properties":{"requested_date":{"type":"string","format":"date","example":"2024-03-28T21:00:31Z"},"reason_requested":{"type":"string","example":"GOOD_SECURITY_PRACTICE"}}},"CreateEntitlementJSON":{"required":["bank_id","role_name"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"role_name":{"type":"string","example":"CanCreateBranch"}}},"AccountWebhookPutJson":{"required":["account_webhook_id","is_active"],"properties":{"account_webhook_id":{"type":"string","example":"fc23a7e2-7dd2-4bdf-a0b4-ae31232a4762"},"is_active":{"type":"string","example":"true"}}},"ProductFeeResponseJsonV400":{"required":["name","is_active","product_code","more_info","bank_id","product_fee_id","value"],"properties":{"name":{"type":"string","example":"ACCOUNT_MANAGEMENT_FEE"},"is_active":{"type":"boolean","example":"true"},"product_code":{"type":"string","example":"1234BW"},"more_info":{"type":"string","example":"More information about this fee"},"bank_id":{"type":"string","example":"gh.29.uk"},"product_fee_id":{"type":"string","example":"696hlAHLFKUHE37469287634"},"value":{"$ref":"#/definitions/ProductFeeValueJsonV400"}}},"UsersJsonV400":{"required":["users"],"properties":{"users":{"type":"array","items":{"$ref":"#/definitions/UserJsonV400"}}}},"AtmNotesResponseJsonV400":{"required":["atm_id","notes"],"properties":{"atm_id":{"type":"string","example":"atme-9a0f-4bfa-b30b-9003aa467f51"},"notes":{"type":"array","items":{"type":"string"}}}},"CustomerAddressesJsonV310":{"required":["addresses"],"properties":{"addresses":{"type":"array","items":{"$ref":"#/definitions/CustomerAddressJsonV310"}}}},"UpdateViewJsonV300":{"required":["description","is_public","hide_metadata_if_alias_used","which_alias_to_use","metadata_view","allowed_actions"],"properties":{"description":{"type":"string","example":"this is for family"},"is_public":{"type":"boolean","example":"true"},"hide_metadata_if_alias_used":{"type":"boolean","example":"true"},"which_alias_to_use":{"type":"string","example":"family"},"is_firehose":{"type":"boolean"},"metadata_view":{"type":"string","example":"owner"},"allowed_actions":{"type":"array","items":{"type":"string"}}}},"CustomerJsonV300":{"required":["customer_id","name_suffix","email","branch_id","mobile_phone_number","customer_number","highest_education_attained","dob_of_dependants","bank_id","date_of_birth","last_ok_date","employment_status","legal_name","title","face_image","dependants","relationship_status","kyc_status"],"properties":{"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"name_suffix":{"type":"string","example":"Sr"},"email":{"type":"string","example":"felixsmith@example.com"},"branch_id":{"type":"string","example":"DERBY6"},"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"},"customer_number":{"type":"string","example":"5987953"},"highest_education_attained":{"type":"string","example":"Master"},"dob_of_dependants":{"type":"array","items":{"type":"string"}},"bank_id":{"type":"string","example":"gh.29.uk"},"date_of_birth":{"type":"string","example":"19900101"},"credit_rating":{"$ref":"#/definitions/CustomerCreditRatingJSON"},"last_ok_date":{"type":"string","format":"date","example":"2023-03-28T21:00:31Z"},"employment_status":{"type":"string","example":"worker"},"legal_name":{"type":"string","example":"Eveline Tripman"},"credit_limit":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"title":{"type":"string","example":"Dr."},"face_image":{"$ref":"#/definitions/CustomerFaceImageJson"},"dependants":{"type":"integer","format":"int32","example":"1"},"relationship_status":{"type":"string","example":"single"},"kyc_status":{"type":"boolean","example":"true"}}},"CounterpartyIdJson":{"required":["counterparty_id"],"properties":{"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"}}},"AccountWebhookPostJson":{"required":["is_active","url","trigger_name","http_protocol","http_method","account_id"],"properties":{"is_active":{"type":"string","example":"true"},"url":{"type":"string","example":"https://localhost.openbankproject.com"},"trigger_name":{"type":"string","example":"OnBalanceChange"},"http_protocol":{"type":"string","example":"HTTP/1.1"},"http_method":{"type":"string","example":"POST"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}}},"OrderObjectJson":{"required":["order_id","number_of_checkbooks","first_check_number","order_date","status","shipping_code","distribution_channel"],"properties":{"order_id":{"type":"string","example":"xjksajfkj"},"number_of_checkbooks":{"type":"string","example":"4"},"first_check_number":{"type":"string","example":"5165276"},"order_date":{"type":"string","example":"07082013"},"status":{"type":"string","example":"2"},"shipping_code":{"type":"string","example":"1"},"distribution_channel":{"type":"string","example":"1201"}}},"AdapterImplementationJson":{"required":["group","suggested_order"],"properties":{"group":{"type":"string","example":"CORE"},"suggested_order":{"type":"integer","format":"int32","example":"3"}}},"ProductTreeJsonV310":{"required":["name","description","more_info_url","super_family","code","bank_id","meta","details","category","family"],"properties":{"name":{"type":"string","example":"product name"},"description":{"type":"string","example":"Description"},"parent_product":{"$ref":"#/definitions/ProductTreeJsonV310"},"more_info_url":{"type":"string","example":"www.example.com/prod1/more-info.html"},"super_family":{"type":"string","example":"super family"},"code":{"type":"string","example":"PARENT_CODE"},"bank_id":{"type":"string","example":"testBank2"},"meta":{"$ref":"#/definitions/MetaJsonV140"},"details":{"type":"string","example":"Details"},"category":{"type":"string","example":"category"},"family":{"type":"string","example":"family"}}},"TransactionRequestRefundTo":{"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"}}},"JsonConnectorMethodMethodBody":{"required":["method_body","programming_lang"],"properties":{"method_body":{"type":"string","example":"%7B%0A%20%20%20%20const%20%5BbankId%5D%20%3D%20args%3B%0A%20%20%20%20%2F%2F%20call%20java%20or%20scala%20type%20in%20this%20way%0A%20%20%20%20const%20BigDecimal%20%3D%20Java.type(%27java.math.BigDecimal%27)%3B%0A%20%20%20%20%2F%2F%20define%20a%20class%0A%20%20%20%20class%20SwiftBic%7B%0A%20%20%20%20%20%20%20%20constructor(name%2C%20value)%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.name%20%3D%20name%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20this.value%20%3D%20value%3B%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%7D%0A%20%20%20%20%2F%2F%20define%20async%20function%0A%20%20%20%20const%20someAsyncFn%20%3D%20async%20()%20%3D%3E%20new%20BigDecimal(%27123.456%27)%0A%20%20%20%20%2F%2F%20call%20other%20async%20methods%0A%20%20%20%20const%20data%20%3D%20await%20someAsyncFn()%3B%0A%0A%20%20%20%20const%20bank%20%3D%20%7B%0A%20%20%20%20%20%20%20%20%22bankId%22%3A%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%22value%22%3A%22HelloJsBank%3A%22%2B%20bankId%0A%20%20%20%20%20%20%20%20%7D%2C%0A%20%20%20%20%20%20%20%20%22shortName%22%3A%22The%20Js%20Bank%20of%20Scotland%22%20%2Bdata.toString()%2C%0A%20%20%20%20%20%20%20%20%22fullName%22%3A%22The%20Js%20Bank%20of%20Scotland%22%2C%0A%20%20%20%20%20%20%20%20%22logoUrl%22%3A%22http%3A%2F%2Fwww.red-bank-shoreditch.com%2Flogo.gif%22%2C%0A%20%20%20%20%20%20%20%20%22websiteUrl%22%3A%22http%3A%2F%2Fwww.red-bank-shoreditch.com%22%2C%0A%20%20%20%20%20%20%20%20%22bankRoutingScheme%22%3A%22OBP%22%2C%0A%20%20%20%20%20%20%20%20%22bankRoutingAddress%22%3A%22Js%22%2C%0A%20%20%20%20%20%20%20%20%22swiftBic%22%3A%20new%20SwiftBic(%22Mock%20Swift%22%2C%2010).name%2C%0A%20%20%20%20%20%20%20%20%22nationalIdentifier%22%3A%22Js%22%2C%0A%20%20%20%20%7D%0A%0A%20%20%20%20return%20bank%3B%0A%7D"},"programming_lang":{"type":"string","example":"Js"}}},"AccountTagsJSON":{"required":["tags"],"properties":{"tags":{"type":"array","items":{"$ref":"#/definitions/AccountTagJSON"}}}},"ImageUrlJSON":{"required":["image_URL"],"properties":{"image_URL":{"type":"string","example":"String"}}},"UserAuthContextUpdateJson":{"required":["user_auth_context_update_id","user_id","key","status","value"],"properties":{"user_auth_context_update_id":{"type":"string","example":"613c83ea-80f9-4560-8404-b9cd4ec42a7f"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"key":{"type":"string","example":"CUSTOMER_NUMBER"},"status":{"type":"string","example":"INITIATED"},"value":{"type":"string","example":"78987432"}}},"CreateViewJsonV300":{"required":["name","description","is_public","hide_metadata_if_alias_used","which_alias_to_use","metadata_view","allowed_actions"],"properties":{"name":{"type":"string","example":"test"},"description":{"type":"string","example":"This view is for family"},"is_public":{"type":"boolean","example":"false"},"hide_metadata_if_alias_used":{"type":"boolean","example":"false"},"which_alias_to_use":{"type":"string","example":"family"},"metadata_view":{"type":"string","example":"test"},"allowed_actions":{"type":"array","items":{"type":"string"}}}},"ApiCollectionJson400":{"required":["description","user_id","is_sharable","api_collection_id","api_collection_name"],"properties":{"description":{"type":"string","example":"This an optional field. Maximum length is 2000. It can be any characters here."},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"is_sharable":{"type":"boolean","example":"true"},"api_collection_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"api_collection_name":{"type":"string","example":"Favourites"}}},"EntitlementJsonV400":{"required":["entitlement_id","role_name","bank_id","user_id"],"properties":{"entitlement_id":{"type":"string","example":""},"role_name":{"type":"string","example":""},"bank_id":{"type":"string","example":"gh.29.uk"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"}}},"AccountApplicationsJsonV310":{"required":["account_applications"],"properties":{"account_applications":{"type":"array","items":{"$ref":"#/definitions/AccountApplicationResponseJson"}}}},"PutUpdateCustomerBranchJsonV310":{"required":["branch_id"],"properties":{"branch_id":{"type":"string","example":"123"}}},"CustomerMessagesJsonV400":{"required":["messages"],"properties":{"messages":{"type":"array","items":{"$ref":"#/definitions/CustomerMessageJsonV400"}}}},"CustomerCreditRatingJSON":{"required":["rating","source"],"properties":{"rating":{"type":"string","example":"OBP"},"source":{"type":"string","example":"OBP"}}},"UserJsonV400":{"required":["provider","email","username","is_deleted","provider_id","user_id","is_locked","entitlements"],"properties":{"provider":{"type":"string","example":"http://127.0.0.1:8080"},"email":{"type":"string","example":"felixsmith@example.com"},"username":{"type":"string","example":"felixsmith"},"is_deleted":{"type":"boolean","example":"false"},"provider_id":{"type":"string","example":"Chris"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"views":{"$ref":"#/definitions/ViewsJSON300"},"is_locked":{"type":"boolean","example":"false"},"entitlements":{"$ref":"#/definitions/EntitlementJSONs"},"last_marketing_agreement_signed_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"agreements":{"type":"array","items":{"$ref":"#/definitions/UserAgreementJson"}}}},"TransactionRequestChargeJsonV140":{"required":["summary","value"],"properties":{"summary":{"type":"string","example":"The bank fixed charge"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"}}},"PostTransactionCommentJSON":{"required":["value"],"properties":{"value":{"type":"string","example":"String"}}},"ViewJSON300":{"required":["bank_id","account_id","view_id"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"view_id":{"type":"string","example":"owner"}}},"BranchJsonV300":{"required":["name","phone_number","location","branch_type","branch_routing","drive_up","more_info","bank_id","id","meta","lobby","accessibleFeatures","address","is_accessible"],"properties":{"name":{"type":"string","example":"Branch by the Lake"},"phone_number":{"type":"string","example":"+381631954907"},"location":{"$ref":"#/definitions/LocationJsonV140"},"branch_type":{"type":"string","example":"Full service store"},"branch_routing":{"$ref":"#/definitions/BranchRoutingJsonV141"},"drive_up":{"$ref":"#/definitions/DriveUpJsonV330"},"more_info":{"type":"string","example":"short walk to the lake from here"},"bank_id":{"type":"string","example":"bank-id-123"},"id":{"type":"string","example":"branch-id-123"},"meta":{"$ref":"#/definitions/MetaJsonV140"},"lobby":{"$ref":"#/definitions/LobbyJsonV330"},"accessibleFeatures":{"type":"string","example":"wheelchair, atm usuable by the visually impaired"},"address":{"$ref":"#/definitions/AddressJsonV300"},"is_accessible":{"type":"string","example":"true"}}},"ElasticSearchJsonV300":{"required":["query"],"properties":{"query":{"$ref":"#/definitions/ElasticSearchQuery"}}},"UserInvitationJsonV400":{"required":["first_name","email","country","purpose","company","last_name","status"],"properties":{"first_name":{"type":"string","example":"Tom"},"email":{"type":"string","example":"felixsmith@example.com"},"country":{"type":"string","example":"Germany"},"purpose":{"type":"string","example":"DEVELOPER"},"company":{"type":"string","example":"Tesobe GmbH"},"last_name":{"type":"string","example":"Smith"},"status":{"type":"string","example":""}}},"ThisAccountJsonV300":{"required":["id","bank_routing","account_routings","holders"],"properties":{"id":{"type":"string","example":"String"},"bank_routing":{"$ref":"#/definitions/BankRoutingJsonV121"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"holders":{"type":"array","items":{"$ref":"#/definitions/AccountHolderJSON"}}}},"ProductFeeJsonV400":{"required":["name","is_active","more_info","value"],"properties":{"name":{"type":"string","example":"ACCOUNT_MANAGEMENT_FEE"},"is_active":{"type":"boolean","example":"true"},"more_info":{"type":"string","example":"More information about this fee"},"product_fee_id":{"type":"string","example":"696hlAHLFKUHE37469287634"},"value":{"$ref":"#/definitions/ProductFeeValueJsonV400"}}},"PortJSON":{"required":["property","value"],"properties":{"property":{"type":"string","example":"default"},"value":{"type":"string","example":"8080"}}},"BasicAccountJSON":{"required":["id","label","bank_id","views_available"],"properties":{"id":{"type":"string","example":"8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0"},"label":{"type":"string","example":"NoneLabel"},"bank_id":{"type":"string","example":"gh.29.uk"},"views_available":{"type":"array","items":{"$ref":"#/definitions/BasicViewJson"}}}},"OrderJson":{"required":["order"],"properties":{"order":{"$ref":"#/definitions/OrderObjectJson"}}},"PutProductJsonV400":{"required":["name","description","terms_and_conditions_url","more_info_url","meta","parent_product_code"],"properties":{"name":{"type":"string","example":"Deposit Account 1"},"description":{"type":"string","example":"This an optional field. Maximum length is 2000. It can be any characters here."},"terms_and_conditions_url":{"type":"string","example":"www.example.com/xyz"},"more_info_url":{"type":"string","example":"www.example.com/abc"},"meta":{"$ref":"#/definitions/MetaJsonV140"},"parent_product_code":{"type":"string","example":"787LOW"}}},"AdapterInfoJsonV300":{"required":["name","version","git_commit","date"],"properties":{"name":{"type":"string","example":"String"},"version":{"type":"string","example":"String"},"git_commit":{"type":"string","example":"String"},"date":{"type":"string","example":"2013-01-21T23:08:00Z"}}},"AmountOfMoney":{"required":["currency","amount"],"properties":{"currency":{"type":"string","example":"EUR"},"amount":{"type":"string","example":"100"}}},"CoreAccountJson":{"required":["account_routings","label","account_type","bank_id","id","views"],"properties":{"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"String"},"account_type":{"type":"string","example":"330"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"views":{"type":"array","items":{"$ref":"#/definitions/ViewBasicV300"}}}},"UserJsonV300":{"required":["provider","email","username","provider_id","user_id","entitlements"],"properties":{"provider":{"type":"string","example":"http://127.0.0.1:8080"},"email":{"type":"string","example":"felixsmith@example.com"},"username":{"type":"string","example":"felixsmith"},"provider_id":{"type":"string","example":"Chris"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"views":{"$ref":"#/definitions/ViewsJSON300"},"entitlements":{"$ref":"#/definitions/EntitlementJSONs"}}},"SuccessMessage":{"required":["success"],"properties":{"success":{"type":"string","example":"Success"}}},"CanGetCustomers":{"required":["requiresBankId"],"properties":{"requiresBankId":{"type":"boolean","example":"true"}}},"IbanCheckerJsonV400":{"required":["is_valid"],"properties":{"is_valid":{"type":"boolean","example":"true"},"details":{"$ref":"#/definitions/IbanDetailsJsonV400"}}},"PostTransactionImageJSON":{"required":["label","URL"],"properties":{"label":{"type":"string","example":"String"},"URL":{"type":"string","example":"String"}}},"UserCustomerLinkJson":{"required":["is_active","customer_id","user_id","date_inserted","user_customer_link_id"],"properties":{"is_active":{"type":"boolean","example":"true"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"date_inserted":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user_customer_link_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"}}},"KycDocumentJSON":{"required":["number","customer_id","customer_number","issue_date","bank_id","id","type","issue_place","expiry_date"],"properties":{"number":{"type":"string","example":"PlaceholderString"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"customer_number":{"type":"string","example":"5987953"},"issue_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"PlaceholderString"},"type":{"type":"string","example":"PlaceholderString"},"issue_place":{"type":"string","example":"PlaceholderString"},"expiry_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"TransactionRequestAttributesResponseJson":{"required":["transaction_request_attributes"],"properties":{"transaction_request_attributes":{"type":"array","items":{"$ref":"#/definitions/TransactionRequestAttributeResponseJson"}}}},"JsonCodeTemplateJson":{"required":["code"],"properties":{"code":{"type":"string","example":"println%28%22hello%22%29"}}},"CustomersMinimalJsonV400":{"required":["customers"],"properties":{"customers":{"type":"array","items":{"$ref":"#/definitions/CustomerMinimalJsonV400"}}}},"TransactionRequestBodyJsonV200":{"required":["to","value","description"],"properties":{"to":{"$ref":"#/definitions/TransactionRequestAccountJsonV140"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"description":{"type":"string","example":"this is for work"}}},"UpdateAccountRequestJsonV310":{"required":["label","type","branch_id","account_routings"],"properties":{"label":{"type":"string","example":"Label"},"type":{"type":"string","example":"CURRENT"},"branch_id":{"type":"string","example":"1234"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}}}},"UserLockStatusJson":{"required":["user_id","type_of_lock","last_lock_date"],"properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"type_of_lock":{"type":"string","example":"lock_via_api"},"last_lock_date":{"type":"string","format":"date","example":"1100-01-01T01:01:01Z"}}},"IbanJson":{"required":["iban"],"properties":{"iban":{"type":"string","example":"123"}}},"PostTransactionWhereJSON":{"required":["where"],"properties":{"where":{"$ref":"#/definitions/LocationPlainJSON"}}},"RevokedJsonV400":{"required":["revoked"],"properties":{"revoked":{"type":"boolean","example":"true"}}},"TransactionTypesJsonV200":{"required":["transaction_types"],"properties":{"transaction_types":{"type":"array","items":{"$ref":"#/definitions/TransactionTypeJsonV200"}}}},"EmptyElasticSearch":{"properties":{"none":{"type":"string"}}},"CoreCounterpartyJsonV300":{"required":["id","holder","bank_routing","account_routings"],"properties":{"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"holder":{"$ref":"#/definitions/AccountHolderJSON"},"bank_routing":{"$ref":"#/definitions/BankRoutingJsonV121"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}}}},"ApiCollectionsJson400":{"required":["api_collections"],"properties":{"api_collections":{"type":"array","items":{"$ref":"#/definitions/ApiCollectionJson400"}}}},"AtmLocationCategoriesJsonV400":{"required":["location_categories"],"properties":{"location_categories":{"type":"array","items":{"type":"string"}}}},"ConsumerJson":{"required":["secret","created_by_user_id","app_type","description","created_by_user","enabled","client_certificate","redirect_url","key","developer_email","consumer_id","app_name","created"],"properties":{"secret":{"type":"string","example":"bwf0ykmwoirip1yjxcn15wnhuyxcziwgtcoaildq"},"created_by_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"app_type":{"type":"string","example":"Web"},"description":{"type":"string","example":"Account Management"},"created_by_user":{"$ref":"#/definitions/ResourceUserJSON"},"enabled":{"type":"boolean","example":"true"},"client_certificate":{"type":"string","example":"-----BEGIN CERTIFICATE-----\nclient_certificate_content\n-----END CERTIFICATE-----"},"redirect_url":{"type":"string","example":"www.openbankproject.com"},"key":{"type":"string","example":"xwdgylv3vau0n2gkxu1aize4glapftfldp5y1bic"},"developer_email":{"type":"string","example":"felixsmith@example.com"},"consumer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"app_name":{"type":"string","example":"SOFI"},"created":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"TransactionTypeJsonV200":{"required":["description","short_code","bank_id","id","charge","summary"],"properties":{"description":{"type":"string","example":"PlaceholderString"},"short_code":{"type":"string","example":"PlaceholderString"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"$ref":"#/definitions/TransactionTypeId"},"charge":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"summary":{"type":"string","example":"PlaceholderString"}}},"PhysicalCardWithAttributesJsonV310":{"required":["allows","expires_date","networks","customer_id","issue_number","replacement","enabled","collected","card_number","technology","cancelled","bank_id","card_id","pin_reset","serial_number","account","valid_from_date","card_attributes","name_on_card","posted","card_type","on_hot_list"],"properties":{"allows":{"type":"array","items":{"type":"string"}},"expires_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"networks":{"type":"array","items":{"type":"string"}},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"issue_number":{"type":"string","example":"1"},"replacement":{"$ref":"#/definitions/ReplacementJSON"},"enabled":{"type":"boolean","example":"true"},"collected":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"card_number":{"type":"string","example":"364435172576215"},"technology":{"type":"string","example":"technologyString1"},"cancelled":{"type":"boolean","example":"true"},"bank_id":{"type":"string","example":"gh.29.uk"},"card_id":{"type":"string","example":"36f8a9e6-c2b1-407a-8bd0-421b7119307e "},"pin_reset":{"type":"array","items":{"$ref":"#/definitions/PinResetJSON"}},"serial_number":{"type":"string","example":"1324234"},"account":{"$ref":"#/definitions/AccountBasicV310"},"valid_from_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"card_attributes":{"type":"array","items":{"$ref":"#/definitions/CardAttributeCommons"}},"name_on_card":{"type":"string","example":"SusanSmith"},"posted":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"card_type":{"type":"string","example":"Credit"},"on_hot_list":{"type":"boolean","example":"true"}}},"AccountHeldJson":{"required":["number","account_routings","label","bank_id","id"],"properties":{"number":{"type":"string","example":"123"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"My Account"},"bank_id":{"type":"string","example":"123"},"id":{"type":"string","example":"12314"}}},"JsonConnectorMethod":{"required":["method_name","method_body","programming_lang"],"properties":{"connector_method_id":{"type":"string","example":"ace0352a-9a0f-4bfa-b30b-9003aa467f51"},"method_name":{"type":"string","example":"getBank"},"method_body":{"type":"string","example":"package%20code.bankconnectors%3B%0A%0Aimport%20com.openbankproject.commons.model.*%3B%0Aimport%20java.util.function.Function%3B%0Aimport%20java.util.function.Supplier%3B%0A%0A%2F**%0A%20*%20This%20is%20a%20java%20dynamic%20function%20template.%0A%20*%20Must%20copy%20the%20whole%20content%20of%20the%20file%20as%20%22dynamic%20method%20body%22.%0A%20*%20Currently%2C%20support%20Java%201.8%20version%20language%20features%0A%20*%2F%0Apublic%20class%20DynamicJavaConnector%20implements%20Supplier%3CFunction%3CObject%5B%5D%2C%20Object%3E%3E%20%7B%0A%20%20%20%20private%20Object%20apply(Object%5B%5D%20args)%20%7B%0A%20%20%20%20%20%20%20BankId%20bankId%20%3D%20(BankId)%20args%5B0%5D%3B%0A%0A%20%20%20%20%20%20%20Bank%20bank%20%3D%20new%20BankCommons(bankId%2C%20%22The%20Java%20Bank%20of%20Scotland%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22The%20Royal%20Bank%20of%20Scotland%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22http%3A%2F%2Fwww.red-bank-shoreditch.com%2Flogo.gif%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22http%3A%2F%2Fwww.red-bank-shoreditch.com%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22OBP%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Java%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Swift%20bic%20value%22%2C%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%22Java%22%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20)%3B%0A%20%20%20%20%20%20%20return%20bank%3B%0A%20%20%20%20%7D%0A%0A%20%20%20%20%40Override%0A%20%20%20%20public%20Function%3CObject%5B%5D%2C%20Object%3E%20get()%20%7B%0A%20%20%20%20%20%20%20%20return%20this%3A%3Aapply%3B%0A%20%20%20%20%7D%0A%7D%0A"},"programming_lang":{"type":"string","example":"Java"}}},"CustomerWithAttributesJsonV310":{"required":["customer_id","name_suffix","email","branch_id","mobile_phone_number","customer_number","customer_attributes","highest_education_attained","dob_of_dependants","bank_id","date_of_birth","last_ok_date","employment_status","legal_name","title","face_image","dependants","relationship_status","kyc_status"],"properties":{"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"name_suffix":{"type":"string","example":"Sr"},"email":{"type":"string","example":"felixsmith@example.com"},"branch_id":{"type":"string","example":"DERBY6"},"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"},"customer_number":{"type":"string","example":"5987953"},"customer_attributes":{"type":"array","items":{"$ref":"#/definitions/CustomerAttributeResponseJsonV300"}},"highest_education_attained":{"type":"string","example":"Master"},"dob_of_dependants":{"type":"array","items":{"type":"string","format":"date"}},"bank_id":{"type":"string","example":"gh.29.uk"},"date_of_birth":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"credit_rating":{"$ref":"#/definitions/CustomerCreditRatingJSON"},"last_ok_date":{"type":"string","format":"date","example":"2023-03-28T21:00:31Z"},"employment_status":{"type":"string","example":"worker"},"legal_name":{"type":"string","example":"Eveline Tripman"},"credit_limit":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"title":{"type":"string","example":"Dr."},"face_image":{"$ref":"#/definitions/CustomerFaceImageJson"},"dependants":{"type":"integer","format":"int32","example":"1"},"relationship_status":{"type":"string","example":"single"},"kyc_status":{"type":"boolean","example":"true"}}},"ProductJsonV310":{"required":["name","description","more_info_url","super_family","code","bank_id","meta","details","category","family","parent_product_code"],"properties":{"name":{"type":"string","example":"product name"},"description":{"type":"string","example":"Description"},"more_info_url":{"type":"string","example":"www.example.com/prod1/more-info.html"},"super_family":{"type":"string","example":"super family"},"code":{"type":"string","example":"1234BW"},"product_attributes":{"type":"array","items":{"$ref":"#/definitions/ProductAttributeResponseWithoutBankIdJson"}},"bank_id":{"type":"string","example":"gh.29.uk"},"meta":{"$ref":"#/definitions/MetaJsonV140"},"details":{"type":"string","example":"Details"},"category":{"type":"string","example":"category"},"family":{"type":"string","example":"family"},"parent_product_code":{"type":"string","example":"parent"}}},"PostUserAuthContextUpdateJsonV310":{"required":["answer"],"properties":{"answer":{"type":"string","example":"123"}}},"PostStandingOrderJsonV400":{"required":["date_starts","customer_id","user_id","amount","counterparty_id","when"],"properties":{"date_starts":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"date_signed":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"amount":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"date_expires":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"when":{"$ref":"#/definitions/When"}}},"SettlementAccountRequestJson":{"required":["branch_id","account_routings","label","balance","payment_system","user_id"],"properties":{"branch_id":{"type":"string","example":"DERBY6"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"My Account"},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"payment_system":{"type":"string","example":"SEPA"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"}}},"PostCreateUserAccountAccessJsonV400":{"required":["username","provider","views"],"properties":{"username":{"type":"string","example":"felixsmith"},"provider":{"type":"string","example":"dauth.ETHEREUM"},"views":{"type":"array","items":{"$ref":"#/definitions/PostViewJsonV400"}}}},"AccountRoutingJsonV121":{"required":["scheme","address"],"properties":{"scheme":{"type":"string","example":"AccountNumber"},"address":{"type":"string","example":"4930396"}}},"EnergySource400":{"required":["organisation","organisation_website"],"properties":{"organisation":{"type":"string","example":"Stromio"},"organisation_website":{"type":"string","example":"https://www.stromio.de/"}}},"PutProductCollectionsV310":{"required":["parent_product_code","children_product_codes"],"properties":{"parent_product_code":{"type":"string","example":"A"},"children_product_codes":{"type":"array","items":{"type":"string"}}}},"TransactionRequestChargeJsonV200":{"required":["summary","value"],"properties":{"summary":{"type":"string","example":"Rent the flat"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"}}},"MoreInfoJSON":{"required":["more_info"],"properties":{"more_info":{"type":"string","example":"String"}}},"TransactionAttributeResponseJson":{"required":["transaction_attribute_id","name","type","value"],"properties":{"transaction_attribute_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"name":{"type":"string","example":"HOUSE_RENT"},"type":{"type":"string","example":"DATE_WITH_DAY"},"value":{"type":"string","example":"123456789"}}},"TransactionTagJSON":{"required":["id","value","date","user"],"properties":{"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"value":{"type":"string","example":"OBP"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user":{"$ref":"#/definitions/UserJSONV121"}}},"TransactionRequestTypeJSONV210":{"required":["transaction_request_type"],"properties":{"transaction_request_type":{"type":"string","example":"SandboxTan"}}},"CustomersWithAttributesJsonV300":{"required":["customers"],"properties":{"customers":{"type":"array","items":{"$ref":"#/definitions/CustomerWithAttributesJsonV300"}}}},"PutUpdateCustomerMobilePhoneNumberJsonV310":{"required":["mobile_phone_number"],"properties":{"mobile_phone_number":{"type":"string","example":"+381631954907"}}},"RefreshUserJson":{"required":["duration_time"],"properties":{"duration_time":{"type":"string","example":"10 ms"}}},"LobbyJsonV330":{"required":["sunday","tuesday","wednesday","monday","friday","thursday","saturday"],"properties":{"sunday":{"type":"array","items":{"$ref":"#/definitions/OpeningTimesV300"}},"tuesday":{"type":"array","items":{"$ref":"#/definitions/OpeningTimesV300"}},"wednesday":{"type":"array","items":{"$ref":"#/definitions/OpeningTimesV300"}},"monday":{"type":"array","items":{"$ref":"#/definitions/OpeningTimesV300"}},"friday":{"type":"array","items":{"$ref":"#/definitions/OpeningTimesV300"}},"thursday":{"type":"array","items":{"$ref":"#/definitions/OpeningTimesV300"}},"saturday":{"type":"array","items":{"$ref":"#/definitions/OpeningTimesV300"}}}},"PostDirectDebitJsonV400":{"required":["date_starts","customer_id","user_id","counterparty_id"],"properties":{"date_starts":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"date_signed":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"date_expires":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"}}},"CreateUserJson":{"required":["first_name","email","username","last_name","password"],"properties":{"first_name":{"type":"string","example":"Simon"},"email":{"type":"string","example":"felixsmith@example.com"},"username":{"type":"string","example":"felixsmith"},"last_name":{"type":"string","example":"Redfern"},"password":{"type":"string","example":"String"}}},"PostKycMediaJSON":{"required":["url","customer_number","date","relates_to_kyc_document_id","relates_to_kyc_check_id","type"],"properties":{"url":{"type":"string","example":"http://www.example.com/id-docs/123/image.png"},"customer_number":{"type":"string","example":"5987953"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"relates_to_kyc_document_id":{"type":"string","example":"123"},"relates_to_kyc_check_id":{"type":"string","example":"123"},"type":{"type":"string","example":"image"}}},"ConsumersJsonV310":{"required":["consumers"],"properties":{"consumers":{"type":"array","items":{"$ref":"#/definitions/ConsumerJsonV310"}}}},"AccountRouting":{"required":["scheme","address"],"properties":{"scheme":{"type":"string","example":"accountNumber"},"address":{"type":"string","example":"123456"}}},"UserJsonV200":{"required":["provider","email","username","provider_id","user_id","entitlements"],"properties":{"provider":{"type":"string","example":"http://127.0.0.1:8080"},"email":{"type":"string","example":"felixsmith@example.com"},"username":{"type":"string","example":"felixsmith"},"provider_id":{"type":"string","example":"Chris"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"entitlements":{"$ref":"#/definitions/EntitlementJSONs"}}},"ProductJsonV400":{"required":["name","description","terms_and_conditions_url","more_info_url","product_code","bank_id","meta","parent_product_code"],"properties":{"name":{"type":"string","example":"Deposit Account 1"},"description":{"type":"string","example":"This an optional field. Maximum length is 2000. It can be any characters here."},"terms_and_conditions_url":{"type":"string","example":"www.example.com/xyz"},"more_info_url":{"type":"string","example":"www.example.com/abc"},"attributes":{"type":"array","items":{"$ref":"#/definitions/ProductAttributeResponseWithoutBankIdJson"}},"product_code":{"type":"string","example":"1234BW"},"bank_id":{"type":"string","example":"gh.29.uk"},"meta":{"$ref":"#/definitions/MetaJsonV140"},"fees":{"type":"array","items":{"$ref":"#/definitions/ProductFeeJsonV400"}},"parent_product_code":{"type":"string","example":"787LOW"}}},"SettlementAccountsJson":{"required":["settlement_accounts"],"properties":{"settlement_accounts":{"type":"array","items":{"$ref":"#/definitions/SettlementAccountJson"}}}},"TaxResidenceV310":{"required":["domain","tax_number","tax_residence_id"],"properties":{"domain":{"type":"string","example":"Enter some domain"},"tax_number":{"type":"string","example":"Enter some number"},"tax_residence_id":{"type":"string","example":"902ba3bb-dedd-45e7-9319-2fd3f2cd98a1"}}},"RateLimit":{"properties":{"calls_made":{"type":"integer","format":"int64","example":"-1"},"reset_in_seconds":{"type":"integer","format":"int64","example":"-1"}}},"AtmServicesJsonV400":{"required":["services"],"properties":{"services":{"type":"array","items":{"type":"string"}}}},"DoubleEntryTransactionJson":{"required":["transaction_request","debit_transaction","credit_transaction"],"properties":{"transaction_request":{"$ref":"#/definitions/TransactionRequestBankAccountJson"},"debit_transaction":{"$ref":"#/definitions/TransactionBankAccountJson"},"credit_transaction":{"$ref":"#/definitions/TransactionBankAccountJson"}}},"MetaJsonV140":{"required":["license"],"properties":{"license":{"$ref":"#/definitions/LicenseJsonV140"}}},"CustomerAddressJsonV310":{"required":["city","line_2","customer_id","state","insert_date","tags","customer_address_id","postcode","county","country_code","status","line_3","line_1"],"properties":{"city":{"type":"string","example":"Berlin"},"line_2":{"type":"string","example":"The Place"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"state":{"type":"string","example":"Brandenburg"},"insert_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"tags":{"type":"array","items":{"type":"string"}},"customer_address_id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"postcode":{"type":"string","example":"13359"},"county":{"type":"string","example":""},"country_code":{"type":"string","example":"DE"},"status":{"type":"string","example":"OK"},"line_3":{"type":"string","example":"The Hill"},"line_1":{"type":"string","example":"No 1 the Road"}}},"UpdateAccountJsonV400":{"required":["label"],"properties":{"label":{"type":"string","example":"updated label"}}},"HistoricalTransactionAccountJsonV310":{"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"}}},"AccountAttributeResponseJson":{"required":["name","account_attribute_id","product_code","type","value"],"properties":{"name":{"type":"string","example":"OVERDRAFT_START_DATE"},"account_attribute_id":{"type":"string","example":"613c83ea-80f9-4560-8404-b9cd4ec42a7f"},"product_code":{"type":"string","example":"1234BW"},"type":{"type":"string","example":"DATE_WITH_DAY"},"product_instance_code":{"type":"string","example":"LKJL98769F"},"value":{"type":"string","example":"2012-04-23"}}},"MeetingsJsonV310":{"required":["meetings"],"properties":{"meetings":{"type":"array","items":{"$ref":"#/definitions/MeetingJsonV310"}}}},"FXRateJsonV220":{"required":["inverse_conversion_value","to_currency_code","effective_date","conversion_value","bank_id","from_currency_code"],"properties":{"inverse_conversion_value":{"type":"number","format":"double","example":"0.998"},"to_currency_code":{"type":"string","example":"GBP"},"effective_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"conversion_value":{"type":"number","format":"double","example":"1.001"},"bank_id":{"type":"string","example":"gh.29.uk"},"from_currency_code":{"type":"string","example":"EUR"}}},"AccountTagJSON":{"required":["id","value","date","user"],"properties":{"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"value":{"type":"string","example":"OBP"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user":{"$ref":"#/definitions/UserJSONV121"}}},"KycChecksJSON":{"required":["checks"],"properties":{"checks":{"type":"array","items":{"$ref":"#/definitions/KycCheckJSON"}}}},"UserAttributesResponseJson":{"required":["user_attributes"],"properties":{"user_attributes":{"type":"array","items":{"$ref":"#/definitions/UserAttributeResponseJsonV400"}}}},"BasicViewJson":{"required":["id","short_name","is_public"],"properties":{"id":{"type":"string","example":"1"},"short_name":{"type":"string","example":"HHH"},"is_public":{"type":"boolean","example":"true"}}},"TransactionType":{"required":["shortCode","description","id","charge","bankId","summary"],"properties":{"shortCode":{"type":"string","example":"80080"},"description":{"type":"string","example":"This is the sandbox mode, charging litter money."},"id":{"$ref":"#/definitions/TransactionTypeId"},"charge":{"$ref":"#/definitions/AmountOfMoney"},"bankId":{"$ref":"#/definitions/BankId"},"summary":{"type":"string","example":"SANDBOX_TAN"}}},"DirectDebitJsonV400":{"required":["date_starts","customer_id","date_cancelled","date_signed","user_id","bank_id","account_id","date_expires","counterparty_id","direct_debit_id","active"],"properties":{"date_starts":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"date_cancelled":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"date_signed":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"date_expires":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"direct_debit_id":{"type":"string","example":"aa0533bd-eb22-4bff-af75-d45240361b05"},"active":{"type":"boolean","example":"true"}}},"ModeratedCoreAccountJsonV300":{"required":["number","account_routings","label","owners","balance","bank_id","id","type","account_rules"],"properties":{"number":{"type":"string","example":""},"account_attributes":{"type":"array","items":{"$ref":"#/definitions/AccountAttributeResponseJson"}},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"My Account"},"owners":{"type":"array","items":{"$ref":"#/definitions/UserJSONV121"}},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"type":{"type":"string","example":""},"account_rules":{"type":"array","items":{"$ref":"#/definitions/AccountRuleJsonV300"}}}},"ConsumerJsonV310":{"required":["app_type","description","created_by_user","enabled","redirect_url","developer_email","consumer_id","app_name","created"],"properties":{"app_type":{"type":"string","example":"Web"},"description":{"type":"string","example":"Account Management"},"created_by_user":{"$ref":"#/definitions/ResourceUserJSON"},"enabled":{"type":"boolean","example":"true"},"redirect_url":{"type":"string","example":"www.openbankproject.com"},"developer_email":{"type":"string","example":"felixsmith@example.com"},"consumer_id":{"type":"string","example":"8e716299-4668-4efd-976a-67f57a9984ec"},"app_name":{"type":"string","example":"SOFI"},"created":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"ProductCollectionsJsonV310":{"required":["product_collection"],"properties":{"product_collection":{"type":"array","items":{"$ref":"#/definitions/ProductCollectionJsonV310"}}}},"TransactionRequestBodyAllTypes":{"required":["description","value"],"properties":{"to_transfer_to_phone":{"$ref":"#/definitions/TransactionRequestTransferToPhone"},"description":{"type":"string","example":"This an optional field. Maximum length is 2000. It can be any characters here."},"to_transfer_to_atm":{"$ref":"#/definitions/TransactionRequestTransferToAtm"},"to_counterparty":{"$ref":"#/definitions/TransactionRequestCounterpartyId"},"to_sepa_credit_transfers":{"$ref":"#/definitions/SepaCreditTransfers"},"to_simple":{"$ref":"#/definitions/TransactionRequestSimple"},"to_sepa":{"$ref":"#/definitions/TransactionRequestIban"},"to_transfer_to_account":{"$ref":"#/definitions/TransactionRequestTransferToAccount"},"value":{"$ref":"#/definitions/AmountOfMoney"},"to_sandbox_tan":{"$ref":"#/definitions/TransactionRequestAccount"}}},"CreatePhysicalCardJsonV310":{"required":["allows","expires_date","networks","customer_id","issue_number","enabled","card_number","technology","account_id","pin_reset","serial_number","valid_from_date","name_on_card","card_type"],"properties":{"allows":{"type":"array","items":{"type":"string"}},"expires_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"networks":{"type":"array","items":{"type":"string"}},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"issue_number":{"type":"string","example":"1"},"replacement":{"$ref":"#/definitions/ReplacementJSON"},"enabled":{"type":"boolean","example":"true"},"collected":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"card_number":{"type":"string","example":"364435172576215"},"technology":{"type":"string","example":"technology1"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"pin_reset":{"type":"array","items":{"$ref":"#/definitions/PinResetJSON"}},"serial_number":{"type":"string","example":"1324234"},"valid_from_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"name_on_card":{"type":"string","example":"SusanSmith"},"posted":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"card_type":{"type":"string","example":"Credit"}}},"AccountBalanceJsonV400":{"required":["account_routings","label","bank_id","account_id","balances"],"properties":{"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRouting"}},"label":{"type":"string","example":"My Account"},"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"balances":{"type":"array","items":{"$ref":"#/definitions/BalanceJsonV400"}}}},"TransactionRequestTypesJsonV140":{"required":["transaction_request_types"],"properties":{"transaction_request_types":{"type":"array","items":{"$ref":"#/definitions/TransactionRequestTypeJsonV140"}}}},"ProductCollectionItemJsonV310":{"required":["member_product_code"],"properties":{"member_product_code":{"type":"string","example":"A"}}},"TopApisJson":{"required":["top_apis"],"properties":{"top_apis":{"type":"array","items":{"$ref":"#/definitions/TopApiJson"}}}},"CheckbookOrdersJson":{"required":["account","orders"],"properties":{"account":{"$ref":"#/definitions/AccountV310Json"},"orders":{"type":"array","items":{"$ref":"#/definitions/OrderJson"}}}},"ProductFeeValueJsonV400":{"required":["currency","amount","frequency","type"],"properties":{"currency":{"type":"string","example":"EUR"},"amount":{"type":"string","format":"double","example":"10.12"},"frequency":{"type":"string","example":"DAILY"},"type":{"type":"string","example":""}}},"TransactionRequestBodyCardJsonV400":{"required":["card","to","value","description"],"properties":{"card":{"$ref":"#/definitions/CardJsonV400"},"to":{"$ref":"#/definitions/CounterpartyIdJson"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"description":{"type":"string","example":"A card payment description. "}}},"AtmSupportedCurrenciesJson":{"required":["atm_id","supported_currencies"],"properties":{"atm_id":{"type":"string","example":"atme-9a0f-4bfa-b30b-9003aa467f51"},"supported_currencies":{"type":"array","items":{"type":"string"}}}},"JsonSchemaV400":{"required":["description","properties","additionalProperties","title","type","required","$schema"],"properties":{"description":{"type":"string","example":"The demo json-schema"},"properties":{"$ref":"#/definitions/Properties"},"additionalProperties":{"type":"boolean","example":"true"},"title":{"type":"string","example":"The demo schema"},"type":{"type":"string","example":"object"},"required":{"type":"array","items":{"type":"string"}},"$schema":{"type":"string","example":"http://json-schema.org/draft-07/schema"}}},"PostHistoricalTransactionJson":{"required":["description","to","completed","charge_policy","from","type","value","posted"],"properties":{"description":{"type":"string","example":"this is for work"},"to":{"$ref":"#/definitions/HistoricalTransactionAccountJsonV310"},"completed":{"type":"string","example":"1100-01-01T01:01:01Z"},"charge_policy":{"type":"string","example":"SHARED"},"from":{"$ref":"#/definitions/HistoricalTransactionAccountJsonV310"},"type":{"type":"string","example":"SANDBOX_TAN"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"posted":{"type":"string","example":"1100-01-01T01:01:01Z"}}},"KycMediasJSON":{"required":["medias"],"properties":{"medias":{"type":"array","items":{"$ref":"#/definitions/KycMediaJSON"}}}},"BranchesJsonV300":{"required":["branches"],"properties":{"branches":{"type":"array","items":{"$ref":"#/definitions/BranchJsonV300"}}}},"AccountsIdsJsonV300":{"required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/definitions/AccountIdJson"}}}},"TransactionRequestAccountJsonV140":{"required":["bank_id","account_id"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}}},"CustomerAttributesResponseJson":{"required":["customer_attributes"],"properties":{"customer_attributes":{"type":"array","items":{"$ref":"#/definitions/CustomerAttributeResponseJsonV300"}}}},"AvailableRoleJSON":{"required":["role","requires_bank_id"],"properties":{"role":{"type":"string","example":"CanCreateBranch"},"requires_bank_id":{"type":"boolean","example":"true"}}},"CustomerJSONsV300":{"required":["customers"],"properties":{"customers":{"type":"array","items":{"$ref":"#/definitions/CustomerJsonV300"}}}},"AccountV310Json":{"required":["account_routings","account_type","bank_id","account_id","branch_routings"],"properties":{"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"account_type":{"type":"string","example":"330"},"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"branch_routings":{"type":"array","items":{"$ref":"#/definitions/BranchRoutingJsonV141"}}}},"PostConsentPhoneJsonV310":{"required":["phone_number","everything","views","entitlements"],"properties":{"phone_number":{"type":"string","example":"+44 07972 444 876"},"time_to_live":{"type":"integer","format":"int64","example":"3600"},"everything":{"type":"boolean","example":"false"},"consumer_id":{"type":"string"},"valid_from":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"views":{"type":"array","items":{"$ref":"#/definitions/PostConsentViewJsonV310"}},"entitlements":{"type":"array","items":{"$ref":"#/definitions/PostConsentEntitlementJsonV310"}}}},"AccountJSON":{"required":["id","label","views_available","bank_id"],"properties":{"id":{"type":"string","example":"123"},"label":{"type":"string","example":"OBP"},"views_available":{"type":"array","items":{"$ref":"#/definitions/ViewJSONV121"}},"bank_id":{"type":"string","example":"gh.29.uk"}}},"CardAttributeCommons":{"required":["name","attribute_type","value"],"properties":{"name":{"type":"string","example":"OVERDRAFT_START_DATE"},"card_id":{"type":"string","example":"36f8a9e6-c2b1-407a-8bd0-421b7119307e "},"attribute_type":{"type":"string","enum":["STRING","INTEGER","DOUBLE","DATE_WITH_DAY"]},"bank_id":{"$ref":"#/definitions/BankId"},"value":{"type":"string","example":"2012-04-23"},"card_attribute_id":{"type":"string","example":"b4e0352a-9a0f-4bfa-b30b-9003aa467f50"}}},"DriveUpJsonV330":{"required":["sunday","tuesday","wednesday","monday","friday","thursday","saturday"],"properties":{"sunday":{"$ref":"#/definitions/OpeningTimesV300"},"tuesday":{"$ref":"#/definitions/OpeningTimesV300"},"wednesday":{"$ref":"#/definitions/OpeningTimesV300"},"monday":{"$ref":"#/definitions/OpeningTimesV300"},"friday":{"$ref":"#/definitions/OpeningTimesV300"},"thursday":{"$ref":"#/definitions/OpeningTimesV300"},"saturday":{"$ref":"#/definitions/OpeningTimesV300"}}},"TransactionRequestAttributeJsonV400":{"required":["name","type","value"],"properties":{"name":{"type":"string","example":"HOUSE_RENT"},"type":{"type":"string","example":"DATE_WITH_DAY"},"value":{"type":"string","example":"123456789"}}},"LocationJsonV140":{"required":["latitude","longitude"],"properties":{"latitude":{"type":"number","format":"double","example":"11.45"},"longitude":{"type":"number","format":"double","example":"11.45"}}},"SettlementAccountJson":{"required":["account_attributes","branch_id","account_routings","label","balance","payment_system","account_id"],"properties":{"account_attributes":{"type":"array","items":{"$ref":"#/definitions/AccountAttributeResponseJson"}},"branch_id":{"type":"string","example":"DERBY6"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"My Account"},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"payment_system":{"type":"string","example":"SEPA"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}}},"TransactionRequestBodyRefundJsonV400":{"required":["description","refund","value"],"properties":{"description":{"type":"string","example":"A refund description. "},"refund":{"$ref":"#/definitions/RefundJson"},"to":{"$ref":"#/definitions/TransactionRequestRefundTo"},"from":{"$ref":"#/definitions/TransactionRequestRefundFrom"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"}}},"CustomerFaceImageJson":{"required":["url","date"],"properties":{"url":{"type":"string","example":"www.openbankproject"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"MySpaces":{"required":["bank_ids"],"properties":{"bank_ids":{"type":"array","items":{"type":"string"}}}},"KycMediaJSON":{"required":["customer_id","url","customer_number","bank_id","id","date","relates_to_kyc_document_id","relates_to_kyc_check_id","type"],"properties":{"customer_id":{"type":"string","example":"PlaceholderString"},"url":{"type":"string","example":"PlaceholderString"},"customer_number":{"type":"string","example":"5987953"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"PlaceholderString"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"relates_to_kyc_document_id":{"type":"string","example":"PlaceholderString"},"relates_to_kyc_check_id":{"type":"string","example":"PlaceholderString"},"type":{"type":"string","example":"PlaceholderString"}}},"CrmEventJson":{"required":["channel","customer_name","result","customer_number","bank_id","id","scheduled_date","category","detail","actual_date"],"properties":{"channel":{"type":"string","example":"String"},"customer_name":{"type":"string","example":"String"},"result":{"type":"string","example":"String"},"customer_number":{"type":"string","example":"5987953"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"scheduled_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"category":{"type":"string","example":"String"},"detail":{"type":"string","example":"String"},"actual_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"ContactDetailsJson":{"required":["name","mobile_phone","email_address"],"properties":{"name":{"type":"string","example":"Simon "},"mobile_phone":{"type":"string","example":"+44 07972 444 876"},"email_address":{"type":"string","example":"felixsmith@example.com"}}},"ToAccountTransferToAtmKycDocument":{"required":["type","number"],"properties":{"type":{"type":"string","example":"String"},"number":{"type":"string","example":"String"}}},"TransactionRequestWithChargeJSON400":{"required":["start_date","id","end_date","status","from","details","charge","type","transaction_ids","challenges"],"properties":{"start_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"id":{"type":"string","example":"4050046c-63b3-4868-8a22-14b4181d33a6"},"end_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"status":{"type":"string","example":"COMPLETED"},"from":{"$ref":"#/definitions/TransactionRequestAccountJsonV140"},"details":{"$ref":"#/definitions/TransactionRequestBodyAllTypes"},"charge":{"$ref":"#/definitions/TransactionRequestChargeJsonV200"},"type":{"type":"string","example":"SANDBOX_TAN"},"transaction_ids":{"type":"array","items":{"type":"string"}},"challenges":{"type":"array","items":{"$ref":"#/definitions/ChallengeJsonV400"}}}},"MeetingJsonV310":{"required":["present","provider_id","creator","invitees","bank_id","purpose_id","when","meeting_id","keys"],"properties":{"present":{"$ref":"#/definitions/MeetingPresentJson"},"provider_id":{"type":"string","example":"Chris"},"creator":{"$ref":"#/definitions/ContactDetailsJson"},"invitees":{"type":"array","items":{"$ref":"#/definitions/InviteeJson"}},"bank_id":{"type":"string","example":"gh.29.uk"},"purpose_id":{"type":"string","example":"String, eg: onboarding"},"when":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"meeting_id":{"type":"string","example":"UUID-String"},"keys":{"$ref":"#/definitions/MeetingKeysJson"}}},"UpdatePhysicalCardJsonV310":{"required":["allows","expires_date","networks","customer_id","issue_number","replacement","enabled","collected","technology","account_id","pin_reset","serial_number","valid_from_date","name_on_card","posted","card_type"],"properties":{"allows":{"type":"array","items":{"type":"string"}},"expires_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"networks":{"type":"array","items":{"type":"string"}},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"issue_number":{"type":"string","example":"1"},"replacement":{"$ref":"#/definitions/ReplacementJSON"},"enabled":{"type":"boolean","example":"true"},"collected":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"technology":{"type":"string","example":"technology1"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"pin_reset":{"type":"array","items":{"$ref":"#/definitions/PinResetJSON"}},"serial_number":{"type":"string","example":"1324234"},"valid_from_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"name_on_card":{"type":"string","example":"SusanSmith"},"posted":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"card_type":{"type":"string","example":"Credit"}}},"PostAccountAccessJsonV400":{"required":["user_id","view"],"properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"view":{"$ref":"#/definitions/PostViewJsonV400"}}},"MessageDocJson":{"required":["adapter_implementation","example_inbound_message","description","process","message_format","example_outbound_message","dependent_endpoints"],"properties":{"adapter_implementation":{"$ref":"#/definitions/AdapterImplementationJson"},"outboundAvroSchema":{"type":"object","properties":{"jsonString":{"type":"string","example":"{}"}},"required":["jsonString"]},"example_inbound_message":{"type":"object","properties":{"jsonString":{"type":"string","example":"{}"}},"required":["jsonString"]},"inboundAvroSchema":{"type":"object","properties":{"jsonString":{"type":"string","example":"{}"}},"required":["jsonString"]},"requiredFieldInfo":{"$ref":"#/definitions/FieldNameApiVersions"},"description":{"type":"string","example":"get Banks"},"process":{"type":"string","example":"getAccounts"},"message_format":{"type":"string","example":"KafkaV2017"},"example_outbound_message":{"type":"object","properties":{"jsonString":{"type":"string","example":"{}"}},"required":["jsonString"]},"dependent_endpoints":{"type":"array","items":{"$ref":"#/definitions/EndpointInfo"}},"outbound_topic":{"type":"string","example":"to.obp.api.1.caseclass.OutboundGetAccounts"},"inbound_topic":{"type":"string","example":"from.obp.api.1.to.adapter.mf.caseclass.OutboundGetAccounts"}}},"ConsumerJsonV210":{"required":["created_by_user_id","app_type","description","created_by_user","enabled","redirect_url","developer_email","consumer_id","app_name","created"],"properties":{"created_by_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"app_type":{"type":"string","example":"Web"},"description":{"type":"string","example":"Account Management"},"created_by_user":{"$ref":"#/definitions/ResourceUserJSON"},"enabled":{"type":"boolean","example":"true"},"redirect_url":{"type":"string","example":"www.openbankproject.com"},"developer_email":{"type":"string","example":"felixsmith@example.com"},"consumer_id":{"type":"integer","format":"int64","example":"1213"},"app_name":{"type":"string","example":"SOFI"},"created":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"MetricJson":{"required":["duration","implemented_in_version","url","correlation_id","implemented_by_partial_function","user_id","developer_email","date","consumer_id","verb","app_name","user_name"],"properties":{"duration":{"type":"integer","format":"int64","example":"39"},"implemented_in_version":{"type":"string","example":"v210"},"url":{"type":"string","example":"www.openbankproject.com"},"correlation_id":{"type":"string","example":"v8ho6h5ivel3uq7a5zcnv0w1"},"implemented_by_partial_function":{"type":"string","example":"getBanks"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"developer_email":{"type":"string","example":"felixsmith@example.com"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"consumer_id":{"type":"string","example":"123"},"verb":{"type":"string","example":"get"},"app_name":{"type":"string","example":"SOFI"},"user_name":{"type":"string","example":"OBP"}}},"PostSimpleCounterpartyJson400":{"required":["other_account_routing_address","other_account_routing_scheme","name","other_account_secondary_routing_address","description","other_branch_routing_address","other_bank_routing_scheme","other_branch_routing_scheme","other_bank_routing_address","other_account_secondary_routing_scheme"],"properties":{"other_account_routing_address":{"type":"string","example":"36f8a9e6-c2b1-407a-8bd0-421b7119307e"},"other_account_routing_scheme":{"type":"string","example":"OBP"},"name":{"type":"string","example":"John Smith Ltd."},"other_account_secondary_routing_address":{"type":"string","example":"DE89370400440532013000"},"description":{"type":"string","example":"The piano lession-Invoice No:68"},"other_branch_routing_address":{"type":"string","example":"12f8a9e6-c2b1-407a-8bd0-421b7119307e"},"other_bank_routing_scheme":{"type":"string","example":"OBP"},"other_branch_routing_scheme":{"type":"string","example":"OBP"},"other_bank_routing_address":{"type":"string","example":"gh.29.uk"},"other_account_secondary_routing_scheme":{"type":"string","example":"IBAN"}}},"CoreTransactionDetailsJSON":{"required":["new_balance","description","completed","type","value","posted"],"properties":{"new_balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"description":{"type":"string","example":"OBP"},"completed":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"type":{"type":"string","example":"AC"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"posted":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"CounterpartyWithMetadataJson400":{"required":["other_account_routing_address","other_account_routing_scheme","created_by_user_id","name","other_account_secondary_routing_address","is_beneficiary","description","other_branch_routing_address","bespoke","other_bank_routing_scheme","other_branch_routing_scheme","this_account_id","this_view_id","currency","metadata","other_bank_routing_address","this_bank_id","counterparty_id","other_account_secondary_routing_scheme"],"properties":{"other_account_routing_address":{"type":"string","example":"36f8a9e6-c2b1-407a-8bd0-421b7119307e"},"other_account_routing_scheme":{"type":"string","example":"OBP"},"created_by_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"name":{"type":"string","example":"CounterpartyName"},"other_account_secondary_routing_address":{"type":"string","example":"DE89370400440532013000"},"is_beneficiary":{"type":"boolean","example":"true"},"description":{"type":"string","example":"My landlord"},"other_branch_routing_address":{"type":"string","example":"12f8a9e6-c2b1-407a-8bd0-421b7119307e"},"bespoke":{"type":"array","items":{"$ref":"#/definitions/PostCounterpartyBespokeJson"}},"other_bank_routing_scheme":{"type":"string","example":"OBP"},"other_branch_routing_scheme":{"type":"string","example":"OBP"},"this_account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"this_view_id":{"type":"string","example":"owner"},"currency":{"type":"string","example":"EUR"},"metadata":{"$ref":"#/definitions/CounterpartyMetadataJson"},"other_bank_routing_address":{"type":"string","example":"gh.29.uk"},"this_bank_id":{"type":"string","example":"gh.29.uk"},"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"other_account_secondary_routing_scheme":{"type":"string","example":"IBAN"}}},"TransactionWhereJSON":{"required":["where"],"properties":{"where":{"$ref":"#/definitions/LocationJSONV121"}}},"TransactionJsonV300":{"required":["this_account","id","details","metadata","other_account","transaction_attributes"],"properties":{"this_account":{"$ref":"#/definitions/ThisAccountJsonV300"},"id":{"type":"string","example":"String"},"details":{"$ref":"#/definitions/TransactionDetailsJSON"},"metadata":{"$ref":"#/definitions/TransactionMetadataJSON"},"other_account":{"$ref":"#/definitions/OtherAccountJsonV300"},"transaction_attributes":{"type":"array","items":{"$ref":"#/definitions/TransactionAttributeResponseJson"}}}},"TransactionRequestIban":{"required":["iban"],"properties":{"iban":{"type":"string","example":"String"}}},"CreateAccountResponseJsonV310":{"required":["account_attributes","branch_id","account_routings","label","balance","user_id","product_code","account_id"],"properties":{"account_attributes":{"type":"array","items":{"$ref":"#/definitions/AccountAttributeResponseJson"}},"branch_id":{"type":"string","example":"DERBY6"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"My Account"},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"product_code":{"type":"string","example":"1234BW"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}}},"AccountWebhooksJson":{"required":["web_hooks"],"properties":{"web_hooks":{"type":"array","items":{"$ref":"#/definitions/AccountWebhookJson"}}}},"PutUpdateCustomerCreditRatingAndSourceJsonV310":{"required":["credit_rating","credit_source"],"properties":{"credit_rating":{"type":"string","example":"Good"},"credit_source":{"type":"string","example":"Bank"}}},"ElasticSearchJSON":{"required":["metrics","warehouse"],"properties":{"metrics":{"type":"array","items":{"$ref":"#/definitions/MetricsJsonV220"}},"warehouse":{"type":"array","items":{"$ref":"#/definitions/WarehouseJSON"}}}},"TransactionRequestSimple":{"required":["otherAccountSecondaryRoutingAddress","otherBankRoutingScheme","otherBranchRoutingScheme","otherAccountRoutingScheme","otherBankRoutingAddress","otherAccountRoutingAddress","otherAccountSecondaryRoutingScheme","otherBranchRoutingAddress"],"properties":{"otherAccountSecondaryRoutingAddress":{"type":"string","example":"DE91 1000 0000 0123 4567 89"},"otherBankRoutingScheme":{"type":"string","example":"BIC"},"otherBranchRoutingScheme":{"type":"string","example":"BRANCH-CODE"},"otherAccountRoutingScheme":{"type":"string","example":"IBAN"},"otherBankRoutingAddress":{"type":"string","example":"GENODEM1GLS"},"otherAccountRoutingAddress":{"type":"string","example":"DE91 1000 0000 0123 4567 89"},"otherAccountSecondaryRoutingScheme":{"type":"string","example":"IBAN"},"otherBranchRoutingAddress":{"type":"string","example":"DERBY6"}}},"PostConsentImplicitJsonV310":{"required":["everything","views","entitlements"],"properties":{"time_to_live":{"type":"integer","format":"int64","example":"3600"},"everything":{"type":"boolean","example":"false"},"consumer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"valid_from":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"views":{"type":"array","items":{"$ref":"#/definitions/PostConsentViewJsonV310"}},"entitlements":{"type":"array","items":{"$ref":"#/definitions/PostConsentEntitlementJsonV310"}}}},"TransactionRequestAttributeResponseJson":{"required":["transaction_request_attribute_id","name","type","value"],"properties":{"transaction_request_attribute_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"name":{"type":"string","example":"HOUSE_RENT"},"type":{"type":"string","example":"DATE_WITH_DAY"},"value":{"type":"string","example":"123456789"}}},"PostKycStatusJSON":{"required":["customer_number","ok","date"],"properties":{"customer_number":{"type":"string","example":"5987953"},"ok":{"type":"boolean","example":"true"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"ViewsJSON300":{"required":["list"],"properties":{"list":{"type":"array","items":{"$ref":"#/definitions/ViewJSON300"}}}},"OAuth2ServerJwksUrisJson":{"required":["jwks_uris"],"properties":{"jwks_uris":{"type":"array","items":{"$ref":"#/definitions/OAuth2ServerJWKURIJson"}}}},"TransactionRequestAccount":{"required":["bank_id","account_id"],"properties":{"bank_id":{"type":"string","example":"String"},"account_id":{"type":"string","example":"String"}}},"PostTaxResidenceJsonV310":{"required":["domain","tax_number"],"properties":{"domain":{"type":"string","example":"Enter some domain"},"tax_number":{"type":"string","example":"Enter some number"}}},"CustomerAndUsersWithAttributesResponseJson":{"required":["customer","users"],"properties":{"customer":{"$ref":"#/definitions/CustomerJsonV310"},"users":{"type":"array","items":{"$ref":"#/definitions/UserWithAttributesResponseJson"}}}},"PermissionJSON":{"required":["user","views"],"properties":{"user":{"$ref":"#/definitions/UserJSONV121"},"views":{"type":"array","items":{"$ref":"#/definitions/ViewJSONV121"}}}},"BankAttributeJsonV400":{"required":["name","type","value"],"properties":{"name":{"type":"string","example":"TAX_ID"},"type":{"type":"string","example":"INTEGER"},"value":{"type":"string","example":"12345678"},"is_active":{"type":"boolean","example":"true"}}},"MetricsJson":{"required":["metrics"],"properties":{"metrics":{"type":"array","items":{"$ref":"#/definitions/MetricJson"}}}},"ViewJSONV121":{"required":["can_see_transaction_start_date","can_add_url","can_add_where_tag","can_see_transaction_this_bank_account","can_see_bank_account_owners","can_see_private_alias","can_edit_owner_comment","can_see_other_account_national_identifier","can_see_public_alias","can_see_physical_location","can_see_owner_comment","can_see_bank_account_iban","can_see_corporate_location","can_see_bank_account_number","can_see_other_account_bank_name","description","can_see_transaction_other_bank_account","can_delete_corporate_location","can_see_comments","can_see_bank_account_bank_name","can_add_more_info","can_see_other_account_number","can_see_other_account_swift_bic","can_add_open_corporates_url","can_see_other_account_kind","can_delete_physical_location","can_see_bank_account_label","can_see_transaction_currency","is_public","can_see_transaction_finish_date","can_add_tag","can_see_images","can_see_bank_account_currency","hide_metadata_if_alias_used","can_delete_where_tag","alias","can_add_image_url","can_add_comment","can_see_image_url","id","can_see_bank_account_national_identifier","can_see_tags","can_see_open_corporates_url","short_name","can_delete_tag","can_see_more_info","can_see_transaction_metadata","can_delete_comment","can_see_where_tag","can_add_private_alias","can_add_public_alias","can_see_bank_account_swift_bic","can_add_image","can_see_transaction_type","can_see_other_account_iban","can_add_physical_location","can_add_corporate_location","can_delete_image","can_see_url","can_see_bank_account_balance","can_see_transaction_balance","can_see_transaction_amount","can_see_other_account_metadata","can_see_bank_account_type","can_see_transaction_description"],"properties":{"can_see_transaction_start_date":{"type":"boolean","example":"true"},"can_add_url":{"type":"boolean","example":"true"},"can_add_where_tag":{"type":"boolean","example":"true"},"can_see_transaction_this_bank_account":{"type":"boolean","example":"true"},"can_see_bank_account_owners":{"type":"boolean","example":"true"},"can_see_private_alias":{"type":"boolean","example":"true"},"can_edit_owner_comment":{"type":"boolean","example":"true"},"can_see_other_account_national_identifier":{"type":"boolean","example":"true"},"can_see_public_alias":{"type":"boolean","example":"true"},"can_see_physical_location":{"type":"boolean","example":"true"},"can_see_owner_comment":{"type":"boolean","example":"true"},"can_see_bank_account_iban":{"type":"boolean","example":"true"},"can_see_corporate_location":{"type":"boolean","example":"true"},"can_see_bank_account_number":{"type":"boolean","example":"true"},"can_see_other_account_bank_name":{"type":"boolean","example":"true"},"description":{"type":"string","example":"description"},"can_see_transaction_other_bank_account":{"type":"boolean","example":"true"},"can_delete_corporate_location":{"type":"boolean","example":"true"},"can_see_comments":{"type":"boolean","example":"true"},"can_see_bank_account_bank_name":{"type":"boolean","example":"true"},"can_add_more_info":{"type":"boolean","example":"true"},"can_see_other_account_number":{"type":"boolean","example":"true"},"can_see_other_account_swift_bic":{"type":"boolean","example":"true"},"can_add_open_corporates_url":{"type":"boolean","example":"true"},"can_see_other_account_kind":{"type":"boolean","example":"true"},"can_delete_physical_location":{"type":"boolean","example":"true"},"can_see_bank_account_label":{"type":"boolean","example":"true"},"can_see_transaction_currency":{"type":"boolean","example":"true"},"is_public":{"type":"boolean","example":"true"},"can_see_transaction_finish_date":{"type":"boolean","example":"true"},"can_add_tag":{"type":"boolean","example":"true"},"can_see_images":{"type":"boolean","example":"true"},"can_see_bank_account_currency":{"type":"boolean","example":"true"},"hide_metadata_if_alias_used":{"type":"boolean","example":"true"},"can_delete_where_tag":{"type":"boolean","example":"true"},"alias":{"type":"string","example":"None"},"can_add_image_url":{"type":"boolean","example":"true"},"can_add_comment":{"type":"boolean","example":"true"},"can_see_image_url":{"type":"boolean","example":"true"},"id":{"type":"string","example":"123"},"can_see_bank_account_national_identifier":{"type":"boolean","example":"true"},"can_see_tags":{"type":"boolean","example":"true"},"can_see_open_corporates_url":{"type":"boolean","example":"true"},"short_name":{"type":"string","example":"short_name"},"can_delete_tag":{"type":"boolean","example":"true"},"can_see_more_info":{"type":"boolean","example":"true"},"can_see_transaction_metadata":{"type":"boolean","example":"true"},"can_delete_comment":{"type":"boolean","example":"true"},"can_see_where_tag":{"type":"boolean","example":"true"},"can_add_private_alias":{"type":"boolean","example":"true"},"can_add_public_alias":{"type":"boolean","example":"true"},"can_see_bank_account_swift_bic":{"type":"boolean","example":"true"},"can_add_image":{"type":"boolean","example":"true"},"can_see_transaction_type":{"type":"boolean","example":"true"},"can_see_other_account_iban":{"type":"boolean","example":"true"},"can_add_physical_location":{"type":"boolean","example":"true"},"can_add_corporate_location":{"type":"boolean","example":"true"},"can_delete_image":{"type":"boolean","example":"true"},"can_see_url":{"type":"boolean","example":"true"},"can_see_bank_account_balance":{"type":"boolean","example":"true"},"can_see_transaction_balance":{"type":"boolean","example":"true"},"can_see_transaction_amount":{"type":"boolean","example":"true"},"can_see_other_account_metadata":{"type":"boolean","example":"true"},"can_see_bank_account_type":{"type":"boolean","example":"true"},"can_see_transaction_description":{"type":"boolean","example":"true"}}},"CardJsonV400":{"required":["expiry_year","cvv","expiry_month","brand","card_number","name_on_card","card_type"],"properties":{"expiry_year":{"type":"string","example":"2023"},"cvv":{"type":"string","example":"123"},"expiry_month":{"type":"string","example":"01"},"brand":{"type":"string","example":"Visa"},"card_number":{"type":"string","example":"364435172576215"},"name_on_card":{"type":"string","example":"SusanSmith"},"card_type":{"type":"string","example":"Credit"}}},"OtherAccountJSON":{"required":["number","IBAN","swift_bic","holder","bank","id","metadata","kind"],"properties":{"number":{"type":"string","example":"123"},"IBAN":{"type":"string","example":"UK234DB"},"swift_bic":{"type":"string","example":"UK12321DB"},"holder":{"$ref":"#/definitions/AccountHolderJSON"},"bank":{"$ref":"#/definitions/MinimalBankJSON"},"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"metadata":{"$ref":"#/definitions/OtherAccountMetadataJSON"},"kind":{"type":"string","example":"3456"}}},"RedisCallLimitJson":{"properties":{"per_week":{"$ref":"#/definitions/RateLimit"},"per_second":{"$ref":"#/definitions/RateLimit"},"per_month":{"$ref":"#/definitions/RateLimit"},"per_day":{"$ref":"#/definitions/RateLimit"},"per_minute":{"$ref":"#/definitions/RateLimit"},"per_hour":{"$ref":"#/definitions/RateLimit"}}},"ModeratedFirehoseAccountJsonV400":{"required":["number","account_routings","label","owners","balance","product_code","bank_id","id","account_rules"],"properties":{"number":{"type":"string","example":""},"account_attributes":{"type":"array","items":{"$ref":"#/definitions/AccountAttributeResponseJson"}},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"My Account"},"owners":{"type":"array","items":{"$ref":"#/definitions/UserJSONV121"}},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"product_code":{"type":"string","example":"1234BW"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"account_rules":{"type":"array","items":{"$ref":"#/definitions/AccountRuleJsonV300"}}}},"ConsentJsonV400":{"required":["api_version","jwt","status","api_standard","consent_id"],"properties":{"api_version":{"type":"string","example":"v1.3"},"jwt":{"type":"string","example":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4"},"status":{"type":"string","example":"INITIATED"},"api_standard":{"type":"string","example":"Berlin Group"},"consent_id":{"type":"string","example":"9d429899-24f5-42c8-8565-943ffa6a7945"}}},"PostCustomerPhoneNumberJsonV400":{"required":["mobile_phone_number"],"properties":{"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"}}},"CoreTransactionJsonV300":{"required":["this_account","id","details","other_account","transaction_attributes"],"properties":{"this_account":{"$ref":"#/definitions/ThisAccountJsonV300"},"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"details":{"$ref":"#/definitions/CoreTransactionDetailsJSON"},"other_account":{"$ref":"#/definitions/CoreCounterpartyJsonV300"},"transaction_attributes":{"type":"array","items":{"$ref":"#/definitions/TransactionAttributeResponseJson"}}}},"ReplacementJSON":{"required":["requested_date","reason_requested"],"properties":{"requested_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"reason_requested":{"type":"string","example":"RENEW"}}},"UserAttributeJsonV400":{"required":["name","type","value"],"properties":{"name":{"type":"string","example":"BATTERY_LEVEL"},"type":{"type":"string","example":"STRING"},"value":{"type":"string","example":"90"}}},"MessageDocsJson":{"required":["message_docs"],"properties":{"message_docs":{"type":"array","items":{"$ref":"#/definitions/MessageDocJson"}}}},"MetricsJsonV220":{"required":["property","value"],"properties":{"property":{"type":"string","example":"String"},"value":{"type":"string","example":"Mapper"}}},"StandingOrderJsonV400":{"required":["date_starts","customer_id","standing_order_id","date_cancelled","date_signed","user_id","amount","bank_id","account_id","date_expires","counterparty_id","when","active"],"properties":{"date_starts":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"standing_order_id":{"type":"string","example":"aa0533bd-eb22-4bff-af75-d45240361b05"},"date_cancelled":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"date_signed":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"amount":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"date_expires":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"when":{"$ref":"#/definitions/When"},"active":{"type":"boolean","example":"true"}}},"BankId":{"required":["value"],"properties":{"value":{"type":"string","example":"gh.uk.9j"}}},"AliasJSON":{"required":["alias"],"properties":{"alias":{"type":"string","example":"String"}}},"ViewsJsonV300":{"required":["views"],"properties":{"views":{"type":"array","items":{"$ref":"#/definitions/ViewJsonV300"}}}},"CallLimitPostJsonV400":{"required":["per_month_call_limit","per_week_call_limit","per_hour_call_limit","per_second_call_limit","from_date","per_minute_call_limit","per_day_call_limit","to_date"],"properties":{"per_month_call_limit":{"type":"string","example":"-1"},"per_week_call_limit":{"type":"string","example":"-1"},"api_version":{"type":"string"},"per_hour_call_limit":{"type":"string","example":"-1"},"bank_id":{"type":"string"},"per_second_call_limit":{"type":"string","example":"-1"},"from_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"api_name":{"type":"string"},"per_minute_call_limit":{"type":"string","example":"-1"},"per_day_call_limit":{"type":"string","example":"-1"},"to_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"BankRoutingJsonV121":{"required":["scheme","address"],"properties":{"scheme":{"type":"string","example":"scheme value"},"address":{"type":"string","example":""}}},"TransactionImagesJSON":{"required":["images"],"properties":{"images":{"type":"array","items":{"$ref":"#/definitions/TransactionImageJSON"}}}},"PostHistoricalTransactionResponseJson":{"required":["description","to","transaction_id","transaction_request_type","completed","charge_policy","from","value","posted"],"properties":{"description":{"type":"string","example":"this is for work"},"to":{"$ref":"#/definitions/HistoricalTransactionAccountJsonV310"},"transaction_id":{"type":"string","example":"2fg8a7e4-6d02-40e3-a129-0b2bf89de8ub"},"transaction_request_type":{"type":"string","example":"SANDBOX_TAN"},"completed":{"type":"string","format":"date","example":"1100-01-01T01:01:01Z"},"charge_policy":{"type":"string","example":"SHARED"},"from":{"$ref":"#/definitions/HistoricalTransactionAccountJsonV310"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"posted":{"type":"string","format":"date","example":"1100-01-01T01:01:01Z"}}},"CustomerJsonV310":{"required":["customer_id","name_suffix","email","branch_id","mobile_phone_number","customer_number","highest_education_attained","dob_of_dependants","bank_id","date_of_birth","last_ok_date","employment_status","legal_name","title","face_image","dependants","relationship_status","kyc_status"],"properties":{"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"name_suffix":{"type":"string","example":"Sr"},"email":{"type":"string","example":"felixsmith@example.com"},"branch_id":{"type":"string","example":"DERBY6"},"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"},"customer_number":{"type":"string","example":"5987953"},"highest_education_attained":{"type":"string","example":"Master"},"dob_of_dependants":{"type":"array","items":{"type":"string","format":"date"}},"bank_id":{"type":"string","example":"gh.29.uk"},"date_of_birth":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"credit_rating":{"$ref":"#/definitions/CustomerCreditRatingJSON"},"last_ok_date":{"type":"string","format":"date","example":"2023-03-28T21:00:31Z"},"employment_status":{"type":"string","example":"worker"},"legal_name":{"type":"string","example":"Eveline Tripman"},"credit_limit":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"title":{"type":"string","example":"Dr."},"face_image":{"$ref":"#/definitions/CustomerFaceImageJson"},"dependants":{"type":"integer","format":"int32","example":"1"},"relationship_status":{"type":"string","example":"single"},"kyc_status":{"type":"boolean","example":"true"}}},"EntitlementsJsonV400":{"required":["list"],"properties":{"list":{"type":"array","items":{"$ref":"#/definitions/EntitlementJsonV400"}}}},"PhysicalCardsJSON":{"required":["cards"],"properties":{"cards":{"type":"array","items":{"$ref":"#/definitions/PhysicalCardJSON"}}}},"JsonDynamicMessageDoc":{"required":["outbound_avro_schema","inbound_avro_schema","adapter_implementation","description","process","outbound_topic","method_body","message_format","example_outbound_message","inbound_topic","example_inbound_message","programming_lang"],"properties":{"outbound_avro_schema":{"type":"string","example":""},"inbound_avro_schema":{"type":"string","example":""},"adapter_implementation":{"type":"string","example":""},"dynamic_message_doc_id":{"type":"string","example":""},"description":{"type":"string","example":"This an optional field. Maximum length is 2000. It can be any characters here."},"process":{"type":"string","example":"obp.getBank"},"outbound_topic":{"type":"string","example":""},"method_body":{"type":"string","example":"%20%20%20%20%20%20Future.successful%28%0A%20%20%20%20%20%20%20%20Full%28%28BankCommons%28%0A%20%20%20%20%20%20%20%20%20%20BankId%28%22Hello%20bank%20id%22%29%2C%0A%20%20%20%20%20%20%20%20%20%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%221%22%2C%0A%20%20%20%20%20%20%20%20%20%20%228%22%0A%20%20%20%20%20%20%20%20%29%2C%20None%29%29%0A%20%20%20%20%20%20%29"},"message_format":{"type":"string","example":""},"example_outbound_message":{"type":"object","properties":{}},"inbound_topic":{"type":"string","example":""},"example_inbound_message":{"type":"object","properties":{}},"bank_id":{"type":"string","example":"gh.29.uk"},"programming_lang":{"type":"string","example":"Scala"}}},"AccountIdJson":{"required":["id"],"properties":{"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"}}},"TransactionRequestBodyCounterpartyJSON":{"required":["description","to","charge_policy","value"],"properties":{"description":{"type":"string","example":"A description for the transaction to the counterparty"},"future_date":{"type":"string","example":"20200127"},"to":{"$ref":"#/definitions/CounterpartyIdJson"},"charge_policy":{"type":"string","example":"SHARED"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"}}},"IbanAddress":{"required":["address"],"properties":{"address":{"type":"string","example":"DE75512108001245126199"}}},"ViewBasic":{"required":["id","name","description"],"properties":{"id":{"type":"string","example":"owner"},"name":{"type":"string","example":"Owner"},"description":{"type":"string","example":"This view is for the owner for the account."}}},"PostTransactionTagJSON":{"required":["value"],"properties":{"value":{"type":"string","example":"String"}}},"CounterpartiesJson400":{"required":["counterparties"],"properties":{"counterparties":{"type":"array","items":{"$ref":"#/definitions/CounterpartyJson400"}}}},"OtherAccountMetadataJSON":{"required":["public_alias","image_URL","physical_location","private_alias","URL","more_info","corporate_location","open_corporates_URL"],"properties":{"public_alias":{"type":"string","example":"NONE"},"image_URL":{"type":"string","example":"www.openbankproject.com"},"physical_location":{"$ref":"#/definitions/LocationJSONV121"},"private_alias":{"type":"string","example":"NONE"},"URL":{"type":"string","example":"www.openbankproject.com"},"more_info":{"type":"string","example":"www.openbankproject.com"},"corporate_location":{"$ref":"#/definitions/LocationJSONV121"},"open_corporates_URL":{"type":"string","example":"www.openbankproject.com"}}},"ApiCollectionEndpointsJson400":{"required":["api_collection_endpoints"],"properties":{"api_collection_endpoints":{"type":"array","items":{"$ref":"#/definitions/ApiCollectionEndpointJson400"}}}},"ViewJSONV220":{"required":["can_see_transaction_start_date","can_add_url","can_add_where_tag","can_see_transaction_this_bank_account","can_see_bank_account_owners","can_see_private_alias","can_edit_owner_comment","can_see_other_account_national_identifier","can_see_public_alias","can_see_physical_location","can_see_owner_comment","can_see_bank_account_iban","can_see_corporate_location","can_see_bank_account_number","can_see_other_account_bank_name","description","can_see_transaction_other_bank_account","can_delete_corporate_location","can_see_comments","can_see_bank_account_bank_name","can_add_more_info","can_see_other_account_number","can_see_other_account_swift_bic","can_add_open_corporates_url","can_see_other_account_kind","can_delete_physical_location","can_see_bank_account_label","can_see_transaction_currency","is_public","can_see_transaction_finish_date","can_add_tag","can_see_images","can_see_bank_account_currency","hide_metadata_if_alias_used","can_delete_where_tag","alias","can_add_image_url","can_add_comment","can_see_image_url","id","can_see_bank_account_national_identifier","can_add_counterparty","can_see_tags","can_see_open_corporates_url","short_name","can_delete_tag","can_see_more_info","can_see_transaction_metadata","can_delete_comment","can_see_where_tag","can_add_private_alias","can_add_public_alias","can_see_bank_account_swift_bic","can_add_image","can_see_transaction_type","can_see_other_account_iban","can_add_physical_location","can_add_corporate_location","can_delete_image","can_see_url","can_see_bank_account_balance","can_see_transaction_balance","can_see_transaction_amount","can_see_other_account_metadata","can_see_bank_account_type","can_see_transaction_description"],"properties":{"can_see_transaction_start_date":{"type":"boolean","example":"true"},"can_add_url":{"type":"boolean","example":"true"},"can_add_where_tag":{"type":"boolean","example":"true"},"can_see_transaction_this_bank_account":{"type":"boolean","example":"true"},"can_see_bank_account_owners":{"type":"boolean","example":"true"},"can_see_private_alias":{"type":"boolean","example":"true"},"can_edit_owner_comment":{"type":"boolean","example":"true"},"can_see_other_account_national_identifier":{"type":"boolean","example":"true"},"can_see_public_alias":{"type":"boolean","example":"true"},"can_see_physical_location":{"type":"boolean","example":"true"},"can_see_owner_comment":{"type":"boolean","example":"true"},"can_see_bank_account_iban":{"type":"boolean","example":"true"},"can_see_corporate_location":{"type":"boolean","example":"true"},"can_see_bank_account_number":{"type":"boolean","example":"true"},"can_see_other_account_bank_name":{"type":"boolean","example":"true"},"description":{"type":"string","example":"description"},"can_see_transaction_other_bank_account":{"type":"boolean","example":"true"},"can_delete_corporate_location":{"type":"boolean","example":"true"},"can_see_comments":{"type":"boolean","example":"true"},"can_see_bank_account_bank_name":{"type":"boolean","example":"true"},"can_add_more_info":{"type":"boolean","example":"true"},"can_see_other_account_number":{"type":"boolean","example":"true"},"can_see_other_account_swift_bic":{"type":"boolean","example":"true"},"can_add_open_corporates_url":{"type":"boolean","example":"true"},"can_see_other_account_kind":{"type":"boolean","example":"true"},"can_delete_physical_location":{"type":"boolean","example":"true"},"can_see_bank_account_label":{"type":"boolean","example":"true"},"can_see_transaction_currency":{"type":"boolean","example":"true"},"is_public":{"type":"boolean","example":"true"},"can_see_transaction_finish_date":{"type":"boolean","example":"true"},"can_add_tag":{"type":"boolean","example":"true"},"can_see_images":{"type":"boolean","example":"true"},"can_see_bank_account_currency":{"type":"boolean","example":"true"},"hide_metadata_if_alias_used":{"type":"boolean","example":"true"},"can_delete_where_tag":{"type":"boolean","example":"true"},"alias":{"type":"string","example":"No"},"can_add_image_url":{"type":"boolean","example":"true"},"can_add_comment":{"type":"boolean","example":"true"},"can_see_image_url":{"type":"boolean","example":"true"},"id":{"type":"string","example":"1234"},"can_see_bank_account_national_identifier":{"type":"boolean","example":"true"},"can_add_counterparty":{"type":"boolean","example":"true"},"can_see_tags":{"type":"boolean","example":"true"},"can_see_open_corporates_url":{"type":"boolean","example":"true"},"short_name":{"type":"string","example":"short_name"},"can_delete_tag":{"type":"boolean","example":"true"},"can_see_more_info":{"type":"boolean","example":"true"},"can_see_transaction_metadata":{"type":"boolean","example":"true"},"can_delete_comment":{"type":"boolean","example":"true"},"can_see_where_tag":{"type":"boolean","example":"true"},"can_add_private_alias":{"type":"boolean","example":"true"},"can_add_public_alias":{"type":"boolean","example":"true"},"can_see_bank_account_swift_bic":{"type":"boolean","example":"true"},"can_add_image":{"type":"boolean","example":"true"},"can_see_transaction_type":{"type":"boolean","example":"true"},"can_see_other_account_iban":{"type":"boolean","example":"true"},"can_add_physical_location":{"type":"boolean","example":"true"},"can_add_corporate_location":{"type":"boolean","example":"true"},"can_delete_image":{"type":"boolean","example":"true"},"can_see_url":{"type":"boolean","example":"true"},"can_see_bank_account_balance":{"type":"boolean","example":"true"},"can_see_transaction_balance":{"type":"boolean","example":"true"},"can_see_transaction_amount":{"type":"boolean","example":"true"},"can_see_other_account_metadata":{"type":"boolean","example":"true"},"can_see_bank_account_type":{"type":"boolean","example":"true"},"can_see_transaction_description":{"type":"boolean","example":"true"}}},"JsonDynamicResourceDoc":{"required":["error_response_bodies","description","tags","request_verb","method_body","roles","request_url","partial_function_name","summary"],"properties":{"error_response_bodies":{"type":"string","example":"OBP-50000: Unknown Error.,OBP-20001: User not logged in. Authentication is required!,OBP-20006: User is missing one or more roles: ,OBP-10001: Incorrect json format."},"description":{"type":"string","example":"Create one User"},"tags":{"type":"string","example":"Create-My-User"},"dynamic_resource_doc_id":{"type":"string","example":"vce035ca-9a0f-4bfa-b30b-9003aa467f51"},"request_verb":{"type":"string","example":"POST"},"method_body":{"type":"string","example":"%20%20%20%20val%20Some(resourceDoc)%20%3D%20callContext.resourceDocument%0A%20%20%20%20val%20hasRequestBody%20%3D%20request.body.isDefined%0A%0A%20%20%20%20%2F%2F%20get%20Path%20Parameters%2C%20example%3A%0A%20%20%20%20%2F%2F%20if%20the%20requestUrl%20of%20resourceDoc%20is%20%2Fhello%2Fbanks%2FBANK_ID%2Fworld%0A%20%20%20%20%2F%2F%20the%20request%20path%20is%20%2Fhello%2Fbanks%2Fbank_x%2Fworld%0A%20%20%20%20%2F%2FpathParams.get(%22BANK_ID%22)%20will%20get%20Option(%22bank_x%22)%20value%0A%0A%20%20%20%20val%20myUserId%20%3D%20pathParams(%22MY_USER_ID%22)%0A%0A%0A%20%20%20%20val%20requestEntity%20%3D%20request.json%20match%20%7B%0A%20%20%20%20%20%20case%20Full(zson)%20%3D%3E%0A%20%20%20%20%20%20%20%20try%20%7B%0A%20%20%20%20%20%20%20%20%20%20zson.extract%5BRequestRootJsonClass%5D%0A%20%20%20%20%20%20%20%20%7D%20catch%20%7B%0A%20%20%20%20%20%20%20%20%20%20case%20e%3A%20MappingException%20%3D%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20return%20Full(errorJsonResponse(s%22%24InvalidJsonFormat%20%24%7Be.msg%7D%22))%0A%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20case%20_%3A%20EmptyBox%20%3D%3E%0A%20%20%20%20%20%20%20%20return%20Full(errorJsonResponse(s%22%24InvalidRequestPayload%20Current%20request%20has%20no%20payload%22))%0A%20%20%20%20%7D%0A%0A%0A%20%20%20%20%2F%2F%20please%20add%20business%20logic%20here%0A%20%20%20%20val%20responseBody%3AResponseRootJsonClass%20%3D%20ResponseRootJsonClass(s%22%24%7BmyUserId%7D_from_path%22%2C%20requestEntity.name%2C%20requestEntity.age%2C%20requestEntity.hobby)%0A%20%20%20%20Future.successful%20%7B%0A%20%20%20%20%20%20(responseBody%2C%20HttpCode.%60200%60(callContext.callContext))%0A%20%20%20%20%7D"},"roles":{"type":"string","example":"CanCreateMyUser"},"example_request_body":{"type":"object","properties":{"name":{"type":"string","example":"Jhon"},"age":{"type":"integer","format":"int32","example":"12"},"hobby":{"type":"array","items":{"type":"string","example":"coding"}},"_optional_fields_":{"type":"array","items":{"type":"string","example":"hobby"}}},"required":["name","age","hobby","_optional_fields_"]},"request_url":{"type":"string","example":"/my_user/MY_USER_ID"},"bank_id":{"type":"string","example":"gh.29.uk"},"partial_function_name":{"type":"string","example":"createUser"},"summary":{"type":"string","example":"Create My User"},"success_response_body":{"type":"object","properties":{"my_user_id":{"type":"string","example":"some_id_value"},"name":{"type":"string","example":"Jhon"},"age":{"type":"integer","format":"int32","example":"12"},"hobby":{"type":"array","items":{"type":"string","example":"coding"}},"_optional_fields_":{"type":"array","items":{"type":"string","example":"hobby"}}},"required":["my_user_id","name","age","hobby","_optional_fields_"]}}},"CoreAccountsHeldJsonV300":{"required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/definitions/AccountHeldJson"}}}},"UpdateAccountResponseJsonV310":{"required":["branch_id","account_routings","label","bank_id","account_id","type"],"properties":{"branch_id":{"type":"string","example":"1234"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"Label"},"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"type":{"type":"string","example":"CURRENT"}}},"PutUpdateCustomerIdentityJsonV310":{"required":["legal_name","date_of_birth","title","name_suffix"],"properties":{"legal_name":{"type":"string","example":"Eveline Tripman"},"date_of_birth":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"title":{"type":"string","example":"Dr."},"name_suffix":{"type":"string","example":"Sr"}}},"BasicAccountsJSON":{"required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/definitions/BasicAccountJSON"}}}},"ModeratedAccountsJSON400":{"required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/definitions/ModeratedAccountJSON400"}}}},"TransactionRequestCounterpartyId":{"required":["counterparty_id"],"properties":{"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"}}},"ViewJsonV300":{"required":["can_see_transaction_start_date","can_add_url","can_add_where_tag","can_see_transaction_this_bank_account","can_see_bank_account_owners","can_see_bank_routing_address","can_see_private_alias","can_edit_owner_comment","is_system","can_see_other_account_national_identifier","can_see_bank_routing_scheme","can_see_public_alias","can_see_physical_location","can_see_owner_comment","can_see_bank_account_iban","can_see_corporate_location","can_see_bank_account_number","can_see_other_account_bank_name","description","can_see_bank_account_routing_scheme","can_see_transaction_other_bank_account","can_delete_corporate_location","can_see_comments","can_see_bank_account_bank_name","can_add_more_info","can_create_direct_debit","can_see_other_account_number","can_see_other_account_swift_bic","can_add_open_corporates_url","can_see_other_account_kind","can_add_transaction_request_to_own_account","can_delete_physical_location","can_see_bank_account_label","can_see_transaction_currency","is_public","can_see_transaction_finish_date","can_see_bank_account_routing_address","can_add_tag","can_see_images","can_query_available_funds","can_see_bank_account_credit_limit","can_see_bank_account_currency","hide_metadata_if_alias_used","can_delete_where_tag","alias","can_add_image_url","can_add_comment","can_see_image_url","id","can_create_standing_order","can_see_bank_account_national_identifier","can_add_counterparty","can_add_transaction_request_to_any_account","can_see_tags","can_see_open_corporates_url","short_name","can_delete_tag","can_see_other_account_routing_scheme","can_see_more_info","can_see_transaction_metadata","can_delete_comment","can_see_where_tag","can_add_private_alias","can_add_public_alias","can_see_bank_account_swift_bic","can_add_image","can_see_transaction_type","can_see_other_account_routing_address","can_see_other_account_iban","can_add_physical_location","can_add_corporate_location","can_delete_image","can_see_url","can_see_bank_account_balance","can_see_other_bank_routing_address","can_see_transaction_balance","metadata_view","can_see_transaction_amount","can_see_other_account_metadata","can_see_bank_account_type","can_see_other_bank_routing_scheme","can_see_transaction_description"],"properties":{"can_see_transaction_start_date":{"type":"boolean","example":"true"},"can_add_url":{"type":"boolean","example":"true"},"can_add_where_tag":{"type":"boolean","example":"true"},"can_see_transaction_this_bank_account":{"type":"boolean","example":"true"},"can_see_bank_account_owners":{"type":"boolean","example":"true"},"can_see_bank_routing_address":{"type":"boolean","example":"true"},"can_see_private_alias":{"type":"boolean","example":"true"},"can_edit_owner_comment":{"type":"boolean","example":"true"},"is_system":{"type":"boolean","example":"true"},"can_see_other_account_national_identifier":{"type":"boolean","example":"true"},"can_see_bank_routing_scheme":{"type":"boolean","example":"true"},"can_see_public_alias":{"type":"boolean","example":"true"},"can_see_physical_location":{"type":"boolean","example":"true"},"can_see_owner_comment":{"type":"boolean","example":"true"},"can_see_bank_account_iban":{"type":"boolean","example":"true"},"can_see_corporate_location":{"type":"boolean","example":"true"},"can_see_bank_account_number":{"type":"boolean","example":"true"},"can_see_other_account_bank_name":{"type":"boolean","example":"true"},"description":{"type":"string","example":"description"},"can_see_bank_account_routing_scheme":{"type":"boolean","example":"true"},"can_see_transaction_other_bank_account":{"type":"boolean","example":"true"},"can_delete_corporate_location":{"type":"boolean","example":"true"},"can_see_comments":{"type":"boolean","example":"true"},"can_see_bank_account_bank_name":{"type":"boolean","example":"true"},"can_add_more_info":{"type":"boolean","example":"true"},"can_create_direct_debit":{"type":"boolean","example":"true"},"can_see_other_account_number":{"type":"boolean","example":"true"},"can_see_other_account_swift_bic":{"type":"boolean","example":"true"},"can_add_open_corporates_url":{"type":"boolean","example":"true"},"can_see_other_account_kind":{"type":"boolean","example":"true"},"can_add_transaction_request_to_own_account":{"type":"boolean","example":"true"},"can_delete_physical_location":{"type":"boolean","example":"true"},"can_see_bank_account_label":{"type":"boolean","example":"true"},"can_see_transaction_currency":{"type":"boolean","example":"true"},"is_public":{"type":"boolean","example":"true"},"can_see_transaction_finish_date":{"type":"boolean","example":"true"},"can_see_bank_account_routing_address":{"type":"boolean","example":"true"},"can_add_tag":{"type":"boolean","example":"true"},"can_see_images":{"type":"boolean","example":"true"},"can_query_available_funds":{"type":"boolean","example":"true"},"can_see_bank_account_credit_limit":{"type":"boolean","example":"true"},"can_see_bank_account_currency":{"type":"boolean","example":"true"},"hide_metadata_if_alias_used":{"type":"boolean","example":"true"},"can_delete_where_tag":{"type":"boolean","example":"true"},"alias":{"type":"string","example":"No"},"can_add_image_url":{"type":"boolean","example":"true"},"can_add_comment":{"type":"boolean","example":"true"},"can_see_image_url":{"type":"boolean","example":"true"},"id":{"type":"string","example":"1234"},"can_create_standing_order":{"type":"boolean","example":"true"},"can_see_bank_account_national_identifier":{"type":"boolean","example":"true"},"can_add_counterparty":{"type":"boolean","example":"true"},"can_add_transaction_request_to_any_account":{"type":"boolean","example":"true"},"can_see_tags":{"type":"boolean","example":"true"},"can_see_open_corporates_url":{"type":"boolean","example":"true"},"short_name":{"type":"string","example":"short_name"},"can_delete_tag":{"type":"boolean","example":"true"},"can_see_other_account_routing_scheme":{"type":"boolean","example":"true"},"can_see_more_info":{"type":"boolean","example":"true"},"can_see_transaction_metadata":{"type":"boolean","example":"true"},"can_delete_comment":{"type":"boolean","example":"true"},"can_see_where_tag":{"type":"boolean","example":"true"},"can_add_private_alias":{"type":"boolean","example":"true"},"is_firehose":{"type":"boolean"},"can_add_public_alias":{"type":"boolean","example":"true"},"can_see_bank_account_swift_bic":{"type":"boolean","example":"true"},"can_add_image":{"type":"boolean","example":"true"},"can_see_transaction_type":{"type":"boolean","example":"true"},"can_see_other_account_routing_address":{"type":"boolean","example":"true"},"can_see_other_account_iban":{"type":"boolean","example":"true"},"can_add_physical_location":{"type":"boolean","example":"true"},"can_add_corporate_location":{"type":"boolean","example":"true"},"can_delete_image":{"type":"boolean","example":"true"},"can_see_url":{"type":"boolean","example":"true"},"can_see_bank_account_balance":{"type":"boolean","example":"true"},"can_see_other_bank_routing_address":{"type":"boolean","example":"true"},"can_see_transaction_balance":{"type":"boolean","example":"true"},"metadata_view":{"type":"string","example":"owner"},"can_see_transaction_amount":{"type":"boolean","example":"true"},"can_see_other_account_metadata":{"type":"boolean","example":"true"},"can_see_bank_account_type":{"type":"boolean","example":"true"},"can_see_other_bank_routing_scheme":{"type":"boolean","example":"true"},"can_see_transaction_description":{"type":"boolean","example":"true"}}},"MinimalBankJSON":{"required":["national_identifier","name"],"properties":{"national_identifier":{"type":"string","example":"OBP"},"name":{"type":"string","example":"OBP"}}},"TransactionTypeId":{"required":["value"],"properties":{"value":{"type":"string","example":"123"}}},"SettlementAccountResponseJson":{"required":["account_attributes","branch_id","account_routings","label","balance","payment_system","user_id","account_id"],"properties":{"account_attributes":{"type":"array","items":{"$ref":"#/definitions/AccountAttributeResponseJson"}},"branch_id":{"type":"string","example":"DERBY6"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"My Account"},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"payment_system":{"type":"string","example":"SEPA"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}}},"CardObjectJson":{"required":["card_type","card_description","use_type"],"properties":{"card_type":{"type":"string","example":"5"},"card_description":{"type":"string","example":"good"},"use_type":{"type":"string","example":"3"}}},"UserAttributeResponseJsonV400":{"required":["name","insert_date","user_attribute_id","type","value"],"properties":{"name":{"type":"string","example":"BATTERY_LEVEL"},"insert_date":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"user_attribute_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"type":{"type":"string","example":"STRING"},"value":{"type":"string","example":"90"}}},"PhysicalCardJsonV310":{"required":["allows","expires_date","networks","customer_id","issue_number","replacement","enabled","collected","card_number","technology","cancelled","bank_id","card_id","pin_reset","serial_number","account","valid_from_date","name_on_card","posted","card_type","on_hot_list"],"properties":{"allows":{"type":"array","items":{"type":"string"}},"expires_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"networks":{"type":"array","items":{"type":"string"}},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"issue_number":{"type":"string","example":"1"},"replacement":{"$ref":"#/definitions/ReplacementJSON"},"enabled":{"type":"boolean","example":"true"},"collected":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"card_number":{"type":"string","example":"364435172576215"},"technology":{"type":"string","example":"technologyString1"},"cancelled":{"type":"boolean","example":"true"},"bank_id":{"type":"string","example":"gh.29.uk"},"card_id":{"type":"string","example":"36f8a9e6-c2b1-407a-8bd0-421b7119307e "},"pin_reset":{"type":"array","items":{"$ref":"#/definitions/PinResetJSON"}},"serial_number":{"type":"string","example":"1324234"},"account":{"$ref":"#/definitions/AccountJSON"},"valid_from_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"name_on_card":{"type":"string","example":"SusanSmith"},"posted":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"card_type":{"type":"string","example":"Credit"},"on_hot_list":{"type":"boolean","example":"true"}}},"AccountsMinimalJson400":{"required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/definitions/AccountMinimalJson400"}}}},"PostKycCheckJSON":{"required":["customer_number","how","date","satisfied","staff_user_id","staff_name","comments"],"properties":{"customer_number":{"type":"string","example":"5987953"},"how":{"type":"string","example":"online_meeting"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"satisfied":{"type":"boolean","example":"true"},"staff_user_id":{"type":"string","example":"67876"},"staff_name":{"type":"string","example":"Simon"},"comments":{"type":"string","example":"String"}}},"UserAuthContextJson":{"required":["time_stamp","user_id","key","user_auth_context_id","value"],"properties":{"time_stamp":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"key":{"type":"string","example":"CUSTOMER_NUMBER"},"user_auth_context_id":{"type":"string","example":"613c83ea-80f9-4560-8404-b9cd4ec42a7f"},"value":{"type":"string","example":"78987432"}}},"ModeratedCoreAccountJsonV400":{"required":["number","account_routings","label","balance","views_basic","product_code","bank_id","id"],"properties":{"number":{"type":"string","example":"546387432"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"My Account"},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"views_basic":{"type":"array","items":{"type":"string"}},"product_code":{"type":"string","example":"AC"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"}}},"DynamicEndpointHostJson400":{"required":["host"],"properties":{"host":{"type":"string","example":"dynamic_entity"}}},"PutUpdateCustomerEmailJsonV310":{"required":["email"],"properties":{"email":{"type":"string","example":"marko@tesobe.com"}}},"AtmNotesJsonV400":{"required":["notes"],"properties":{"notes":{"type":"array","items":{"type":"string"}}}},"ConsentsJsonV400":{"required":["consents"],"properties":{"consents":{"type":"array","items":{"$ref":"#/definitions/ConsentJsonV400"}}}},"ProductAttributeJsonV400":{"required":["name","type","value"],"properties":{"name":{"type":"string","example":"OVERDRAFT_START_DATE"},"type":{"type":"string","example":"DATE_WITH_DAY"},"value":{"type":"string","example":"2012-04-23"},"is_active":{"type":"boolean","example":"true"}}},"PostCounterpartyBespokeJson":{"required":["key","value"],"properties":{"key":{"type":"string","example":"englishName"},"value":{"type":"string","example":"english Name"}}},"AddressJsonV300":{"required":["city","line_2","state","postcode","county","country_code","line_3","line_1"],"properties":{"city":{"type":"string","example":"Berlin"},"line_2":{"type":"string","example":"The Place"},"state":{"type":"string","example":"Brandenburg"},"postcode":{"type":"string","example":"13359"},"county":{"type":"string","example":""},"country_code":{"type":"string","example":"DE"},"line_3":{"type":"string","example":"The Hill"},"line_1":{"type":"string","example":"No 1 the Road"}}},"ProductCollectionJsonTreeV310":{"required":["collection_code","products"],"properties":{"collection_code":{"type":"string","example":"A"},"products":{"type":"array","items":{"$ref":"#/definitions/ProductJsonV310"}}}},"ScopesJSON":{"required":["require_scopes_for_all_roles","require_scopes_for_listed_roles"],"properties":{"require_scopes_for_all_roles":{"type":"boolean","example":"true"},"require_scopes_for_listed_roles":{"type":"array","items":{"type":"string"}}}},"ResourceDocFragment":{"required":["request_verb","request_url"],"properties":{"request_verb":{"type":"string","example":"POST"},"request_url":{"type":"string","example":"/my_user/MY_USER_ID"},"example_request_body":{"type":"object","properties":{"name":{"type":"string","example":"Jhon"},"age":{"type":"integer","format":"int32","example":"12"},"hobby":{"type":"array","items":{"type":"string","example":"coding"}},"_optional_fields_":{"type":"array","items":{"type":"string","example":"hobby"}}},"required":["name","age","hobby","_optional_fields_"]},"success_response_body":{"type":"object","properties":{"my_user_id":{"type":"string","example":"some_id_value"},"name":{"type":"string","example":"Jhon"},"age":{"type":"integer","format":"int32","example":"12"},"hobby":{"type":"array","items":{"type":"string","example":"coding"}},"_optional_fields_":{"type":"array","items":{"type":"string","example":"hobby"}}},"required":["my_user_id","name","age","hobby","_optional_fields_"]}}},"UserWithAttributesResponseJson":{"required":["provider","email","username","provider_id","user_id","user_attributes"],"properties":{"provider":{"type":"string","example":"http://127.0.0.1:8080"},"email":{"type":"string","example":"felixsmith@example.com"},"username":{"type":"string","example":"felixsmith"},"provider_id":{"type":"string","example":"Chris"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"user_attributes":{"type":"array","items":{"$ref":"#/definitions/UserAttributeResponseJsonV400"}}}},"ImplementedByJson":{"required":["version","function"],"properties":{"version":{"type":"string","example":"1_4_0"},"function":{"type":"string","example":"getBranches"}}},"OtherAccountsJsonV300":{"required":["other_accounts"],"properties":{"other_accounts":{"type":"array","items":{"$ref":"#/definitions/OtherAccountJsonV300"}}}},"PutUpdateCustomerDataJsonV310":{"required":["highest_education_attained","employment_status","face_image","dependants","relationship_status"],"properties":{"highest_education_attained":{"type":"string","example":"Master"},"employment_status":{"type":"string","example":"worker"},"face_image":{"$ref":"#/definitions/CustomerFaceImageJson"},"dependants":{"type":"integer","format":"int32","example":"1"},"relationship_status":{"type":"string","example":"single"}}},"ViewBasicV300":{"required":["id","short_name","description","is_public"],"properties":{"id":{"type":"string","example":"owner"},"short_name":{"type":"string","example":"Owner"},"description":{"type":"string","example":"This view is for the owner for the account."},"is_public":{"type":"boolean","example":"false"}}},"APIInfoJson400":{"required":["local_identity_provider","resource_docs_requires_role","hostname","version_status","version","hosted_at","connector","energy_source","hosted_by","git_commit"],"properties":{"local_identity_provider":{"type":"string","example":"String"},"resource_docs_requires_role":{"type":"boolean","example":"false"},"hostname":{"type":"string","example":"String"},"version_status":{"type":"string","example":"String"},"version":{"type":"string","example":"String"},"hosted_at":{"$ref":"#/definitions/HostedAt400"},"connector":{"type":"string","example":"String"},"energy_source":{"$ref":"#/definitions/EnergySource400"},"hosted_by":{"$ref":"#/definitions/HostedBy400"},"git_commit":{"type":"string","example":"String"}}},"TransactionAttributesResponseJson":{"required":["transaction_attributes"],"properties":{"transaction_attributes":{"type":"array","items":{"$ref":"#/definitions/TransactionAttributeResponseJson"}}}},"OAuth2ServerJWKURIJson":{"required":["jwks_uri"],"properties":{"jwks_uri":{"type":"string","example":"https://www.googleapis.com/oauth2/v3/certs"}}},"AtmSupportedLanguagesJson":{"required":["atm_id","supported_languages"],"properties":{"atm_id":{"type":"string","example":"atme-9a0f-4bfa-b30b-9003aa467f51"},"supported_languages":{"type":"array","items":{"type":"string"}}}},"ConsentJsonV310":{"required":["consent_id","jwt","status"],"properties":{"consent_id":{"type":"string","example":"9d429899-24f5-42c8-8565-943ffa6a7945"},"jwt":{"type":"string","example":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4"},"status":{"type":"string","example":"INITIATED"}}},"AccountApplicationUpdateStatusJson":{"required":["status"],"properties":{"status":{"type":"string","example":"ACCEPTED"}}},"ConnectorMetricJson":{"required":["connector_name","duration","function_name","correlation_id","date"],"properties":{"connector_name":{"type":"string","example":"mapper"},"duration":{"type":"integer","format":"int64","example":"1000"},"function_name":{"type":"string","example":"getBanks"},"correlation_id":{"type":"string","example":"12345"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"BankAttributeBankResponseJsonV400":{"required":["name","value"],"properties":{"name":{"type":"string","example":"ACCOUNT_MANAGEMENT_FEE"},"value":{"type":"string","example":"5987953"}}},"GlossaryItemJsonV300":{"required":["title","description"],"properties":{"title":{"type":"string","example":"Dr."},"description":{"$ref":"#/definitions/GlossaryDescriptionJsonV300"}}},"CustomerMessageJson":{"required":["from_person","id","date","from_department","message"],"properties":{"from_person":{"type":"string","example":"String"},"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"from_department":{"type":"string","example":"String"},"message":{"type":"string","example":"String"}}},"MeetingKeysJson":{"required":["session_id","staff_token","customer_token"],"properties":{"session_id":{"type":"string","example":"String"},"staff_token":{"type":"string","example":"String"},"customer_token":{"type":"string","example":"String"}}},"ToAccountTransferToAtm":{"required":["legal_name","date_of_birth","mobile_phone_number","kyc_document"],"properties":{"legal_name":{"type":"string","example":"Eveline Tripman"},"date_of_birth":{"type":"string","example":"20181230"},"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"},"kyc_document":{"$ref":"#/definitions/ToAccountTransferToAtmKycDocument"}}},"PostConsentEmailJsonV310":{"required":["email","everything","views","entitlements"],"properties":{"time_to_live":{"type":"integer","format":"int64","example":"3600"},"email":{"type":"string","example":"felixsmith@example.com"},"everything":{"type":"boolean","example":"false"},"consumer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"valid_from":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"views":{"type":"array","items":{"$ref":"#/definitions/PostConsentViewJsonV310"}},"entitlements":{"type":"array","items":{"$ref":"#/definitions/PostConsentEntitlementJsonV310"}}}},"UrlJSON":{"required":["URL"],"properties":{"URL":{"type":"string","example":"String"}}},"TransactionCommentJSON":{"required":["id","value","date","user"],"properties":{"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"value":{"type":"string","example":"OBP"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user":{"$ref":"#/definitions/UserJSONV121"}}},"PostAccountTagJSON":{"required":["value"],"properties":{"value":{"type":"string","example":"String"}}},"TransactionDetailsJSON":{"required":["new_balance","description","completed","type","value","posted"],"properties":{"new_balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"description":{"type":"string","example":"this is for family"},"completed":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"type":{"type":"string","example":"AC"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"posted":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"TransactionRequestBodySEPAJsonV400":{"required":["description","to","charge_policy","value"],"properties":{"description":{"type":"string","example":"This is a SEPA Transaction Request"},"future_date":{"type":"string","example":"20200127"},"to":{"$ref":"#/definitions/IbanJson"},"charge_policy":{"type":"string","example":"SHARED"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"reasons":{"type":"array","items":{"$ref":"#/definitions/TransactionRequestReasonJsonV400"}}}},"HostedBy400":{"required":["organisation","email","phone","organisation_website"],"properties":{"organisation":{"type":"string","example":"String"},"email":{"type":"string","example":"String"},"phone":{"type":"string","example":"String"},"organisation_website":{"type":"string","example":"String"}}},"CallLimitJson":{"required":["per_month_call_limit","per_week_call_limit","per_hour_call_limit","per_second_call_limit","per_minute_call_limit","per_day_call_limit"],"properties":{"current_state":{"$ref":"#/definitions/RedisCallLimitJson"},"per_month_call_limit":{"type":"string","example":"-1"},"per_week_call_limit":{"type":"string","example":"-1"},"per_hour_call_limit":{"type":"string","example":"-1"},"per_second_call_limit":{"type":"string","example":"-1"},"per_minute_call_limit":{"type":"string","example":"-1"},"per_day_call_limit":{"type":"string","example":"-1"}}},"ConsumerRedirectUrlJSON":{"required":["redirect_url"],"properties":{"redirect_url":{"type":"string","example":"http://localhost:8888"}}},"ProductAttributeResponseJsonV400":{"required":["name","product_attribute_id","product_code","bank_id","type","value"],"properties":{"name":{"type":"string","example":"OVERDRAFT_START_DATE"},"is_active":{"type":"boolean","example":"true"},"product_attribute_id":{"type":"string","example":"613c83ea-80f9-4560-8404-b9cd4ec42a7f"},"product_code":{"type":"string","example":"1234BW"},"bank_id":{"type":"string","example":"gh.29.uk"},"type":{"type":"string","example":"DATE_WITH_DAY"},"value":{"type":"string","example":"2012-04-23"}}},"BadLoginStatusJson":{"required":["username","bad_attempts_since_last_success_or_reset","last_failure_date"],"properties":{"username":{"type":"string","example":"felixsmith"},"bad_attempts_since_last_success_or_reset":{"type":"integer","format":"int32","example":"0"},"last_failure_date":{"type":"string","format":"date","example":"1100-01-01T01:01:01Z"}}},"PutUpdateCustomerCreditLimitJsonV310":{"required":["credit_limit"],"properties":{"credit_limit":{"$ref":"#/definitions/AmountOfMoney"}}},"CheckFundsAvailableJson":{"required":["answer","date","available_funds_request_id"],"properties":{"answer":{"type":"string","example":"yes"},"date":{"type":"string","format":"date","example":"2024-03-28T21:00:32Z"},"available_funds_request_id":{"type":"string","example":"c4ykz59svsr9b7fmdxk8ezs7"}}},"SocialMediaJSON":{"required":["date_activated","customer_number","date_added","type","handle"],"properties":{"date_activated":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"customer_number":{"type":"string","example":"5987953"},"date_added":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"type":{"type":"string","example":"PlaceholderString"},"handle":{"type":"string","example":"PlaceholderString"}}},"ChallengeJsonV140":{"required":["id","allowed_attempts","challenge_type"],"properties":{"id":{"type":"string","example":"be1a183d-b301-4b83-b855-5eeffdd3526f"},"allowed_attempts":{"type":"integer","format":"int32","example":"3"},"challenge_type":{"type":"string","example":"SANDBOX_TAN"}}},"TaxResidenceJsonV310":{"required":["tax_residence"],"properties":{"tax_residence":{"type":"array","items":{"$ref":"#/definitions/TaxResidenceV310"}}}},"EntitlementJSONs":{"required":["list"],"properties":{"list":{"type":"array","items":{"$ref":"#/definitions/EntitlementJSON"}}}},"UserJSONV121":{"required":["id","provider","display_name"],"properties":{"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"provider":{"type":"string","example":"http://127.0.0.1:8080"},"display_name":{"type":"string","example":"OBP"}}},"UserAgreementJson":{"required":["type","text"],"properties":{"type":{"type":"string","example":""},"text":{"type":"string","example":""}}},"CrmEventsJson":{"required":["crm_events"],"properties":{"crm_events":{"type":"array","items":{"$ref":"#/definitions/CrmEventJson"}}}},"CustomerMessagesJson":{"required":["messages"],"properties":{"messages":{"type":"array","items":{"$ref":"#/definitions/CustomerMessageJson"}}}},"BankAccountRoutingJson":{"required":["account_routing"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"account_routing":{"$ref":"#/definitions/AccountRoutingJsonV121"}}},"CreateScopeJson":{"required":["bank_id","role_name"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"role_name":{"type":"string","example":"CanGetEntitlementsForAnyUserAtOneBank"}}},"PutEnabledJSON":{"required":["enabled"],"properties":{"enabled":{"type":"boolean","example":"false"}}},"AccountBasicV310":{"required":["id","label","views_available","bank_id"],"properties":{"id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"label":{"type":"string","example":"My Account"},"views_available":{"type":"array","items":{"$ref":"#/definitions/ViewBasic"}},"bank_id":{"type":"string","example":"gh.29.uk"}}},"PostCounterpartyJson400":{"required":["other_account_routing_address","other_account_routing_scheme","name","other_account_secondary_routing_address","is_beneficiary","description","other_branch_routing_address","bespoke","other_bank_routing_scheme","other_branch_routing_scheme","currency","other_bank_routing_address","other_account_secondary_routing_scheme"],"properties":{"other_account_routing_address":{"type":"string","example":"36f8a9e6-c2b1-407a-8bd0-421b7119307e"},"other_account_routing_scheme":{"type":"string","example":"OBP"},"name":{"type":"string","example":"CounterpartyName"},"other_account_secondary_routing_address":{"type":"string","example":"DE89370400440532013000"},"is_beneficiary":{"type":"boolean","example":"true"},"description":{"type":"string","example":"My landlord"},"other_branch_routing_address":{"type":"string","example":"12f8a9e6-c2b1-407a-8bd0-421b7119307e"},"bespoke":{"type":"array","items":{"$ref":"#/definitions/PostCounterpartyBespokeJson"}},"other_bank_routing_scheme":{"type":"string","example":"OBP"},"other_branch_routing_scheme":{"type":"string","example":"OBP"},"currency":{"type":"string","example":"EUR"},"other_bank_routing_address":{"type":"string","example":"gh.29.uk"},"other_account_secondary_routing_scheme":{"type":"string","example":"IBAN"}}},"ElasticSearchQuery":{"required":["match_all"],"properties":{"match_all":{"$ref":"#/definitions/EmptyElasticSearch"}}},"SystemAccountNotificationWebhookJson":{"required":["created_by_user_id","url","trigger_name","http_protocol","http_method","webhook_id"],"properties":{"created_by_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"url":{"type":"string","example":"https://localhost.openbankproject.com"},"trigger_name":{"type":"string","example":"OnCreateTransaction"},"http_protocol":{"type":"string","example":"HTTP/1.1"},"http_method":{"type":"string","example":"POST"},"webhook_id":{"type":"string","example":"fc23a7e2-7dd2-4bdf-a0b4-ae31232a4762"}}},"HostedAt400":{"required":["organisation","organisation_website"],"properties":{"organisation":{"type":"string","example":"Amazon"},"organisation_website":{"type":"string","example":"https://aws.amazon.com/"}}},"AccountsBalancesJsonV400":{"required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/definitions/AccountBalanceJsonV400"}}}},"CustomerMessageJsonV400":{"required":["from_person","transport","id","date","from_department","message"],"properties":{"from_person":{"type":"string","example":"Tom"},"transport":{"type":"string","example":"SMS"},"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"from_department":{"type":"string","example":"Open Bank"},"message":{"type":"string","example":"123456"}}},"LocationJsonV210":{"required":["latitude","longitude","date","user"],"properties":{"latitude":{"type":"number","format":"double","example":"11.45"},"longitude":{"type":"number","format":"double","example":"11.45"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user":{"$ref":"#/definitions/UserJSONV210"}}},"CoreTransactionsJsonV300":{"required":["transactions"],"properties":{"transactions":{"type":"array","items":{"$ref":"#/definitions/CoreTransactionJsonV300"}}}},"BankAttributeResponseJsonV400":{"required":["name","bank_attribute_id","bank_id","type","value"],"properties":{"name":{"type":"string","example":"OVERDRAFT_START_DATE"},"is_active":{"type":"boolean","example":"true"},"bank_attribute_id":{"type":"string","example":"613c83ea-80f9-4560-8404-b9cd4ec42a7f"},"bank_id":{"type":"string","example":"gh.29.uk"},"type":{"type":"string","example":"DATE_WITH_DAY"},"value":{"type":"string","example":"2012-04-23"}}},"CreateMessageJsonV400":{"required":["message","transport","from_department","from_person"],"properties":{"message":{"type":"string","example":"123456"},"transport":{"type":"string","example":"SMS"},"from_department":{"type":"string","example":"Open Bank"},"from_person":{"type":"string","example":"Tom"}}},"AccountApplicationResponseJson":{"required":["date_of_application","account_application_id","product_code","status","customer","user"],"properties":{"date_of_application":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"account_application_id":{"type":"string","example":"gc23a7e2-7dd2-4bdf-a0b4-ae31232a4763"},"product_code":{"type":"string","example":"1234BW"},"status":{"type":"string","example":"REQUESTED"},"customer":{"$ref":"#/definitions/CustomerJsonV310"},"user":{"$ref":"#/definitions/ResourceUserJSON"}}},"TransactionRequestTransferToAtm":{"required":["description","to","from","message","value"],"properties":{"description":{"type":"string","example":"String"},"to":{"$ref":"#/definitions/ToAccountTransferToAtm"},"from":{"$ref":"#/definitions/FromAccountTransfer"},"message":{"type":"string","example":"String"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"}}},"KycCheckJSON":{"required":["customer_id","customer_number","bank_id","id","how","date","satisfied","staff_user_id","staff_name","comments"],"properties":{"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"customer_number":{"type":"string","example":"5987953"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"PlaceholderString"},"how":{"type":"string","example":"PlaceholderString"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"satisfied":{"type":"boolean","example":"true"},"staff_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"staff_name":{"type":"string","example":"PlaceholderString"},"comments":{"type":"string","example":"PlaceholderString"}}},"CustomerAttributeJsonV400":{"required":["name","type","value"],"properties":{"name":{"type":"string","example":"SPECIAL_TAX_NUMBER"},"type":{"type":"string","example":"STRING"},"value":{"type":"string","example":"123456789"}}},"PostUserAuthContextJson":{"required":["key","value"],"properties":{"key":{"type":"string","example":"CUSTOMER_NUMBER"},"value":{"type":"string","example":"78987432"}}},"SepaCreditTransfers":{"required":["debtorAccount","instructedAmount","creditorAccount","creditorName"],"properties":{"debtorAccount":{"$ref":"#/definitions/PaymentAccount"},"instructedAmount":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"creditorAccount":{"$ref":"#/definitions/PaymentAccount"},"creditorName":{"type":"string","example":"John Miles"}}},"ToAccountTransferToAccount":{"required":["name","bank_code","branch_number","account"],"properties":{"name":{"type":"string","example":"String"},"bank_code":{"type":"string","example":"String"},"branch_number":{"type":"string","example":"String"},"account":{"$ref":"#/definitions/ToAccountTransferToAccountAccount"}}},"ModeratedFirehoseAccountsJsonV400":{"required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/definitions/ModeratedFirehoseAccountJsonV400"}}}},"TransactionImageJSON":{"required":["URL","label","id","date","user"],"properties":{"URL":{"type":"string","example":"www.openbankproject.com"},"label":{"type":"string","example":"NONE"},"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user":{"$ref":"#/definitions/UserJSONV121"}}},"CreateAccountRequestJsonV310":{"required":["branch_id","account_routings","label","balance","user_id","product_code"],"properties":{"branch_id":{"type":"string","example":"DERBY6"},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"My Account"},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"product_code":{"type":"string","example":"1234BW"}}},"UserJSONV210":{"required":["id","provider","username"],"properties":{"id":{"type":"string","example":"123"},"provider":{"type":"string","example":"http://127.0.0.1:8080"},"username":{"type":"string","example":"felixsmith"}}},"CachedFunctionJSON":{"required":["function_name","ttl_in_seconds"],"properties":{"function_name":{"type":"string","example":"getBanks"},"ttl_in_seconds":{"type":"integer","format":"int32","example":"5"}}},"BankJson400":{"required":["bank_routings","website","full_name","logo","id","short_name"],"properties":{"bank_routings":{"type":"array","items":{"$ref":"#/definitions/BankRoutingJsonV121"}},"website":{"type":"string","example":"www.openbankproject.com"},"full_name":{"type":"string","example":"full_name"},"attributes":{"type":"array","items":{"$ref":"#/definitions/BankAttributeBankResponseJsonV400"}},"logo":{"type":"string","example":"logo"},"id":{"type":"string","example":"gh.29.uk"},"short_name":{"type":"string","example":"short_name "}}},"PostCustomerJsonV310":{"required":["name_suffix","email","branch_id","mobile_phone_number","highest_education_attained","dob_of_dependants","date_of_birth","credit_rating","last_ok_date","employment_status","legal_name","credit_limit","title","face_image","dependants","relationship_status","kyc_status"],"properties":{"name_suffix":{"type":"string","example":"Sr"},"email":{"type":"string","example":"felixsmith@example.com"},"branch_id":{"type":"string","example":"DERBY6"},"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"},"highest_education_attained":{"type":"string","example":"Master"},"dob_of_dependants":{"type":"array","items":{"type":"string","format":"date"}},"date_of_birth":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"credit_rating":{"$ref":"#/definitions/CustomerCreditRatingJSON"},"last_ok_date":{"type":"string","format":"date","example":"2023-03-28T21:00:31Z"},"employment_status":{"type":"string","example":"worker"},"legal_name":{"type":"string","example":"Eveline Tripman"},"credit_limit":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"title":{"type":"string","example":"Dr."},"face_image":{"$ref":"#/definitions/CustomerFaceImageJson"},"dependants":{"type":"integer","format":"int32","example":"1"},"relationship_status":{"type":"string","example":"single"},"kyc_status":{"type":"boolean","example":"true"}}},"ConsentInfosJsonV400":{"required":["consents"],"properties":{"consents":{"type":"array","items":{"$ref":"#/definitions/ConsentInfoJsonV400"}}}},"UserIdJsonV400":{"required":["user_id"],"properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"}}},"ApiCollectionEndpointJson400":{"required":["api_collection_endpoint_id","api_collection_id","operation_id"],"properties":{"api_collection_endpoint_id":{"type":"string","example":"8uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"api_collection_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"operation_id":{"type":"string","example":"OBPv4.0.0-getBanks"}}},"PostUserInvitationJsonV400":{"required":["first_name","email","country","purpose","company","last_name"],"properties":{"first_name":{"type":"string","example":"Tom"},"email":{"type":"string","example":"felixsmith@example.com"},"country":{"type":"string","example":"Germany"},"purpose":{"type":"string","example":"DEVELOPER"},"company":{"type":"string","example":"Tesobe GmbH"},"last_name":{"type":"string","example":"Smith"}}},"CreditCardOrderStatusResponseJson":{"required":["cards"],"properties":{"cards":{"type":"array","items":{"$ref":"#/definitions/CardObjectJson"}}}},"MeetingPresentJson":{"required":["staff_user_id","customer_user_id"],"properties":{"staff_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"customer_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"}}},"GlossaryItemsJsonV300":{"required":["glossary_items"],"properties":{"glossary_items":{"type":"array","items":{"$ref":"#/definitions/GlossaryItemJsonV300"}}}},"CreateUserCustomerLinkJson":{"required":["user_id","customer_id"],"properties":{"user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"}}},"BranchRoutingJsonV141":{"required":["scheme","address"],"properties":{"scheme":{"type":"string","example":"BranchNumber"},"address":{"type":"string","example":"678"}}},"ConfigurationJSON":{"required":["akka","elastic_search","cache","scopes"],"properties":{"akka":{"$ref":"#/definitions/AkkaJSON"},"elastic_search":{"$ref":"#/definitions/ElasticSearchJSON"},"cache":{"type":"array","items":{"$ref":"#/definitions/CachedFunctionJSON"}},"scopes":{"$ref":"#/definitions/ScopesJSON"}}},"AggregateMetricJSON":{"required":["count","average_response_time","minimum_response_time","maximum_response_time"],"properties":{"count":{"type":"integer","format":"int32","example":"7076"},"average_response_time":{"type":"number","format":"double","example":"65.21"},"minimum_response_time":{"type":"number","format":"double","example":"1.0"},"maximum_response_time":{"type":"number","format":"double","example":"9039.0"}}},"ModeratedAccountJSON400":{"required":["number","account_attributes","views_available","tags","account_routings","label","owners","balance","product_code","bank_id","id"],"properties":{"number":{"type":"string","example":"123"},"account_attributes":{"type":"array","items":{"$ref":"#/definitions/AccountAttributeResponseJson"}},"views_available":{"type":"array","items":{"$ref":"#/definitions/ViewJSONV121"}},"tags":{"type":"array","items":{"$ref":"#/definitions/AccountTagJSON"}},"account_routings":{"type":"array","items":{"$ref":"#/definitions/AccountRoutingJsonV121"}},"label":{"type":"string","example":"NoneLabel"},"owners":{"type":"array","items":{"$ref":"#/definitions/UserJSONV121"}},"balance":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"product_code":{"type":"string","example":"1234BW"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"5995d6a2-01b3-423c-a173-5481df49bdaf"}}},"ScopeJsons":{"required":["list"],"properties":{"list":{"type":"array","items":{"$ref":"#/definitions/ScopeJson"}}}},"AccountHolderJSON":{"required":["name","is_alias"],"properties":{"name":{"type":"string","example":"OBP"},"is_alias":{"type":"boolean","example":"true"}}},"AtmsJsonV400":{"required":["atms"],"properties":{"atms":{"type":"array","items":{"$ref":"#/definitions/AtmJsonV400"}}}},"BanksJson400":{"required":["banks"],"properties":{"banks":{"type":"array","items":{"$ref":"#/definitions/BankJson400"}}}},"SeverJWK":{"required":["e","n","kty","use","kid"],"properties":{"e":{"type":"string","example":"AQAB"},"n":{"type":"string","example":"hrB0OWqg6AeNU3WCnhheG18R5EbQtdNYGOaSeylTjkj2lZr0_vkhNVYvase-CroxO4HOT06InxTYwLnmJiyv2cZxReuoVjTlk--olGu-9MZooiFiqWez0JzndyKxQ27OiAjFsMh0P04kaUXeHKhXRfiU7K2FqBshR1UlnWe7iHLkq2p9rrGjxQc7ff0w-Uc0f-8PWg36Y2Od7s65493iVQwnI13egqMaSvgB1s8_dgm08noEjhr8C5m1aKmr5oipWEPNi-SBV2VNuiCLR1IEPuXq0tOwwZfv31t34KPO-2H2bbaWmzGJy9mMOGqoNrbXyGiUZoyeHRELaNtm1GilyQ"},"kty":{"type":"string","example":"RSA"},"use":{"type":"string","example":"sig"},"kid":{"type":"string","example":"fr6-BxXH5gikFeZ2O6rGk0LUmJpukeswASN_TMW8U_s"}}},"ToAccountTransferToAccountAccount":{"required":["number","iban"],"properties":{"number":{"type":"string","example":"String"},"iban":{"type":"string","example":"String"}}},"AccountRuleJsonV300":{"required":["scheme","value"],"properties":{"scheme":{"type":"string","example":"OVERDRAFT"},"value":{"type":"string","example":"10"}}},"KycStatusJSON":{"required":["customer_id","customer_number","ok","date"],"properties":{"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"customer_number":{"type":"string","example":"5987953"},"ok":{"type":"boolean","example":"true"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"FastFirehoseAccountsJsonV400":{"required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/definitions/FastFirehoseAccountJsonV400"}}}},"InviteeJson":{"required":["contact_details","status"],"properties":{"contact_details":{"$ref":"#/definitions/ContactDetailsJson"},"status":{"type":"string","example":"String, eg: Good"}}},"ToAccountTransferToPhone":{"required":["mobile_phone_number"],"properties":{"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"}}},"ScopeJson":{"required":["scope_id","role_name","bank_id"],"properties":{"scope_id":{"type":"string","example":"88625da4-a671-435e-9d24-e5b6e5cc404f"},"role_name":{"type":"string","example":"CanGetEntitlementsForAnyUserAtOneBank"},"bank_id":{"type":"string","example":"gh.29.uk"}}},"TransactionsJsonV300":{"required":["transactions"],"properties":{"transactions":{"type":"array","items":{"$ref":"#/definitions/TransactionJsonV300"}}}},"CreateMeetingJsonV310":{"required":["provider_id","creator","invitees","date","purpose_id"],"properties":{"provider_id":{"type":"string","example":"Chris"},"creator":{"$ref":"#/definitions/ContactDetailsJson"},"invitees":{"type":"array","items":{"$ref":"#/definitions/InviteeJson"}},"date":{"type":"string","format":"date","example":"1100-01-01T01:01:01Z"},"purpose_id":{"type":"string","example":"String, eg: onboarding"}}},"ObpApiLoopbackJson":{"required":["connector_version","git_commit","duration_time"],"properties":{"connector_version":{"type":"string","example":"kafka_vSept2018"},"git_commit":{"type":"string","example":"f0acd4be14cdcb94be3433ec95c1ad65228812a0"},"duration_time":{"type":"string","example":"10 ms"}}},"AtmServicesResponseJsonV400":{"required":["atm_id","services"],"properties":{"atm_id":{"type":"string","example":"atme-9a0f-4bfa-b30b-9003aa467f51"},"services":{"type":"array","items":{"type":"string"}}}},"CustomerJSONs":{"required":["customers"],"properties":{"customers":{"type":"array","items":{"$ref":"#/definitions/CustomerJsonV210"}}}},"CustomerJsonV210":{"required":["customer_id","email","mobile_phone_number","customer_number","highest_education_attained","dob_of_dependants","bank_id","date_of_birth","last_ok_date","employment_status","legal_name","face_image","dependants","relationship_status","kyc_status"],"properties":{"customer_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"email":{"type":"string","example":"felixsmith@example.com"},"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"},"customer_number":{"type":"string","example":"5987953"},"highest_education_attained":{"type":"string","example":"Master"},"dob_of_dependants":{"type":"array","items":{"type":"string","format":"date"}},"bank_id":{"type":"string","example":"gh.29.uk"},"date_of_birth":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"credit_rating":{"$ref":"#/definitions/CustomerCreditRatingJSON"},"last_ok_date":{"type":"string","format":"date","example":"2023-03-28T21:00:31Z"},"employment_status":{"type":"string","example":"worker"},"legal_name":{"type":"string","example":"Eveline Tripman"},"credit_limit":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"face_image":{"$ref":"#/definitions/CustomerFaceImageJson"},"dependants":{"type":"integer","format":"int32","example":"1"},"relationship_status":{"type":"string","example":"single"},"kyc_status":{"type":"boolean","example":"true"}}},"TransactionRequestTypesJSON":{"required":["transaction_request_types"],"properties":{"transaction_request_types":{"type":"array","items":{"$ref":"#/definitions/TransactionRequestTypeJSONV210"}}}},"EntitlementRequestJSON":{"required":["entitlement_request_id","role_name","bank_id","user","created"],"properties":{"entitlement_request_id":{"type":"string","example":"6fb17583-1e49-4435-bb74-a14fe0996723"},"role_name":{"type":"string","example":"CanQueryOtherUser"},"bank_id":{"type":"string","example":"gh.29.uk"},"user":{"$ref":"#/definitions/UserJsonV200"},"created":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"}}},"UserCustomerLinksJson":{"required":["user_customer_links"],"properties":{"user_customer_links":{"type":"array","items":{"$ref":"#/definitions/UserCustomerLinkJson"}}}},"TransactionCommentsJSON":{"required":["comments"],"properties":{"comments":{"type":"array","items":{"$ref":"#/definitions/TransactionCommentJSON"}}}},"TransactionNarrativeJSON":{"required":["narrative"],"properties":{"narrative":{"type":"string","example":"narative"}}},"ProductFeesResponseJsonV400":{"required":["product_fees"],"properties":{"product_fees":{"type":"array","items":{"$ref":"#/definitions/ProductFeeResponseJsonV400"}}}},"ConnectorMetricsJson":{"required":["metrics"],"properties":{"metrics":{"type":"array","items":{"$ref":"#/definitions/ConnectorMetricJson"}}}},"SocialMediasJSON":{"required":["checks"],"properties":{"checks":{"type":"array","items":{"$ref":"#/definitions/SocialMediaJSON"}}}},"PhysicalLocationJSON":{"required":["physical_location"],"properties":{"physical_location":{"$ref":"#/definitions/LocationPlainJSON"}}},"BankAttributesResponseJsonV400":{"required":["bank_attributes"],"properties":{"bank_attributes":{"type":"array","items":{"$ref":"#/definitions/BankAttributeResponseJsonV400"}}}},"CoreAccountsJsonV300":{"required":["accounts"],"properties":{"accounts":{"type":"array","items":{"$ref":"#/definitions/CoreAccountJson"}}}},"UserAuthContextsJson":{"required":["user_auth_contexts"],"properties":{"user_auth_contexts":{"type":"array","items":{"$ref":"#/definitions/UserAuthContextJson"}}}},"PermissionsJSON":{"required":["permissions"],"properties":{"permissions":{"type":"array","items":{"$ref":"#/definitions/PermissionJSON"}}}},"FromAccountTransfer":{"required":["mobile_phone_number","nickname"],"properties":{"mobile_phone_number":{"type":"string","example":"+44 07972 444 876"},"nickname":{"type":"string","example":"String"}}},"LocationJSONV121":{"required":["latitude","longitude","date","user"],"properties":{"latitude":{"type":"number","format":"double","example":"1.231"},"longitude":{"type":"number","format":"double","example":"1.231"},"date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"user":{"$ref":"#/definitions/UserJSONV121"}}},"TransactionRequestBodySimpleJsonV400":{"required":["description","to","charge_policy","value"],"properties":{"description":{"type":"string","example":"This an optional field. Maximum length is 2000. It can be any characters here."},"future_date":{"type":"string","example":"20200127"},"to":{"$ref":"#/definitions/PostSimpleCounterpartyJson400"},"charge_policy":{"type":"string","example":"SHARED"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"}}},"EntitlementJSON":{"required":["entitlement_id","role_name","bank_id"],"properties":{"entitlement_id":{"type":"string","example":"6fb17583-1e49-4435-bb74-a14fe0996723"},"role_name":{"type":"string","example":"CanQueryOtherUser"},"bank_id":{"type":"string","example":"gh.29.uk"}}},"CorrelatedEntities":{"required":["correlated_entities"],"properties":{"correlated_entities":{"type":"array","items":{"$ref":"#/definitions/CustomerAndUsersWithAttributesResponseJson"}}}},"LocationPlainJSON":{"required":["latitude","longitude"],"properties":{"latitude":{"type":"number","format":"double","example":"1.532"},"longitude":{"type":"number","format":"double","example":"1.535"}}},"AtmJsonV400":{"required":["sunday","services","name","location","tuesday","cash_withdrawal_international_fee","wednesday","branch_identification","location_categories","site_identification","monday","has_deposit_capability","balance_inquiry_fee","site_name","more_info","bank_id","meta","supported_languages","supported_currencies","accessibility_features","address","cash_withdrawal_national_fee","friday","notes","is_accessible","thursday","saturday","located_at","minimum_withdrawal"],"properties":{"sunday":{"$ref":"#/definitions/OpeningTimesV300"},"services":{"type":"array","items":{"type":"string"}},"name":{"type":"string","example":"Atm by the Lake"},"location":{"$ref":"#/definitions/LocationJsonV140"},"tuesday":{"$ref":"#/definitions/OpeningTimesV300"},"cash_withdrawal_international_fee":{"type":"string","example":""},"wednesday":{"$ref":"#/definitions/OpeningTimesV300"},"branch_identification":{"type":"string","example":""},"location_categories":{"type":"array","items":{"type":"string"}},"site_identification":{"type":"string","example":""},"monday":{"$ref":"#/definitions/OpeningTimesV300"},"has_deposit_capability":{"type":"string","example":"true"},"balance_inquiry_fee":{"type":"string","example":""},"site_name":{"type":"string","example":""},"more_info":{"type":"string","example":"More information about this fee"},"bank_id":{"type":"string","example":"gh.29.uk"},"id":{"type":"string","example":"atme-9a0f-4bfa-b30b-9003aa467f51"},"meta":{"$ref":"#/definitions/MetaJsonV140"},"supported_languages":{"type":"array","items":{"type":"string"}},"supported_currencies":{"type":"array","items":{"type":"string"}},"accessibility_features":{"type":"array","items":{"type":"string"}},"address":{"$ref":"#/definitions/AddressJsonV300"},"cash_withdrawal_national_fee":{"type":"string","example":""},"friday":{"$ref":"#/definitions/OpeningTimesV300"},"notes":{"type":"array","items":{"type":"string"}},"is_accessible":{"type":"string","example":"true"},"thursday":{"$ref":"#/definitions/OpeningTimesV300"},"saturday":{"$ref":"#/definitions/OpeningTimesV300"},"located_at":{"type":"string","example":""},"minimum_withdrawal":{"type":"string","example":"5"}}},"TransactionRequestTransferToPhone":{"required":["description","to","from","message","value"],"properties":{"description":{"type":"string","example":"String"},"to":{"$ref":"#/definitions/ToAccountTransferToPhone"},"from":{"$ref":"#/definitions/FromAccountTransfer"},"message":{"type":"string","example":"String"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"}}},"CustomerAttributeResponseJsonV300":{"required":["customer_attribute_id","name","type","value"],"properties":{"customer_attribute_id":{"type":"string","example":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"name":{"type":"string","example":"SPECIAL_TAX_NUMBER"},"type":{"type":"string","example":"STRING"},"value":{"type":"string","example":"123456789"}}},"TopApiJson":{"required":["count","Implemented_by_partial_function","implemented_in_version"],"properties":{"count":{"type":"integer","format":"int32","example":"7076"},"Implemented_by_partial_function":{"type":"string","example":"getBanks"},"implemented_in_version":{"type":"string","example":"v1.2.1"}}},"TransactionRequestWithChargeJSON210":{"required":["challenge","start_date","id","end_date","status","from","details","charge","type","transaction_ids"],"properties":{"challenge":{"$ref":"#/definitions/ChallengeJsonV140"},"start_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"id":{"type":"string","example":"4050046c-63b3-4868-8a22-14b4181d33a6"},"end_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"status":{"type":"string","example":"COMPLETED"},"from":{"$ref":"#/definitions/TransactionRequestAccountJsonV140"},"details":{"$ref":"#/definitions/TransactionRequestBodyAllTypes"},"charge":{"$ref":"#/definitions/TransactionRequestChargeJsonV200"},"type":{"type":"string","example":"SANDBOX_TAN"},"transaction_ids":{"type":"array","items":{"type":"string"}}}},"AccountAttributeJson":{"required":["name","type","value"],"properties":{"name":{"type":"string","example":"OVERDRAFT_START_DATE"},"type":{"type":"string","example":"DATE_WITH_DAY"},"value":{"type":"string","example":"2012-04-23"},"product_instance_code":{"type":"string","example":"LKJL98769F"}}},"PhysicalCardJSON":{"required":["allows","expires_date","networks","issue_number","replacement","enabled","collected","technology","cancelled","bank_id","pin_reset","serial_number","account","valid_from_date","bank_card_number","name_on_card","posted","on_hot_list"],"properties":{"allows":{"type":"array","items":{"type":"string"}},"expires_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"networks":{"type":"array","items":{"type":"string"}},"issue_number":{"type":"string","example":"1"},"replacement":{"$ref":"#/definitions/ReplacementJSON"},"enabled":{"type":"boolean","example":"true"},"collected":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"technology":{"type":"string","example":"String"},"cancelled":{"type":"boolean","example":"true"},"bank_id":{"type":"string","example":"gh.29.uk"},"pin_reset":{"type":"array","items":{"$ref":"#/definitions/PinResetJSON"}},"serial_number":{"type":"string","example":"1324234"},"account":{"$ref":"#/definitions/AccountJSON"},"valid_from_date":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"bank_card_number":{"type":"string","example":"364435172576215"},"name_on_card":{"type":"string","example":"String"},"posted":{"type":"string","format":"date","example":"1100-01-01T00:00:00Z"},"on_hot_list":{"type":"boolean","example":"true"}}},"PostHistoricalTransactionAtBankJson":{"required":["description","to_account_id","completed","charge_policy","from_account_id","type","value","posted"],"properties":{"description":{"type":"string","example":"this is for work"},"to_account_id":{"type":"string","example":""},"completed":{"type":"string","example":"1100-01-01T01:01:01Z"},"charge_policy":{"type":"string","example":"SHARED"},"from_account_id":{"type":"string","example":""},"type":{"type":"string","example":"SANDBOX_TAN"},"value":{"$ref":"#/definitions/AmountOfMoneyJsonV121"},"posted":{"type":"string","example":"1100-01-01T01:01:01Z"}}},"KycDocumentsJSON":{"required":["documents"],"properties":{"documents":{"type":"array","items":{"$ref":"#/definitions/KycDocumentJSON"}}}},"OpeningTimesV300":{"required":["opening_time","closing_time"],"properties":{"opening_time":{"type":"string","example":"10:00"},"closing_time":{"type":"string","example":"18:00"}}},"PostApiCollectionJson400":{"required":["api_collection_name","is_sharable"],"properties":{"api_collection_name":{"type":"string","example":"Favourites"},"is_sharable":{"type":"boolean","example":"true"},"description":{"type":"string","example":"This an optional field. Maximum length is 2000. It can be any characters here."}}},"AtmLocationCategoriesResponseJsonV400":{"required":["atm_id","location_categories"],"properties":{"atm_id":{"type":"string","example":"atme-9a0f-4bfa-b30b-9003aa467f51"},"location_categories":{"type":"array","items":{"type":"string"}}}},"CounterpartyJson400":{"required":["other_account_routing_address","other_account_routing_scheme","created_by_user_id","name","other_account_secondary_routing_address","is_beneficiary","description","other_branch_routing_address","bespoke","other_bank_routing_scheme","other_branch_routing_scheme","this_account_id","this_view_id","currency","other_bank_routing_address","this_bank_id","counterparty_id","other_account_secondary_routing_scheme"],"properties":{"other_account_routing_address":{"type":"string","example":"36f8a9e6-c2b1-407a-8bd0-421b7119307e"},"other_account_routing_scheme":{"type":"string","example":"OBP"},"created_by_user_id":{"type":"string","example":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1"},"name":{"type":"string","example":"CounterpartyName"},"other_account_secondary_routing_address":{"type":"string","example":"DE89370400440532013000"},"is_beneficiary":{"type":"boolean","example":"true"},"description":{"type":"string","example":"My landlord"},"other_branch_routing_address":{"type":"string","example":"12f8a9e6-c2b1-407a-8bd0-421b7119307e"},"bespoke":{"type":"array","items":{"$ref":"#/definitions/PostCounterpartyBespokeJson"}},"other_bank_routing_scheme":{"type":"string","example":"OBP"},"other_branch_routing_scheme":{"type":"string","example":"OBP"},"this_account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"this_view_id":{"type":"string","example":"owner"},"currency":{"type":"string","example":"EUR"},"other_bank_routing_address":{"type":"string","example":"gh.29.uk"},"this_bank_id":{"type":"string","example":"gh.29.uk"},"counterparty_id":{"type":"string","example":"9fg8a7e4-6d02-40e3-a129-0b2bf89de8uh"},"other_account_secondary_routing_scheme":{"type":"string","example":"IBAN"}}},"TopConsumersJson":{"required":["top_consumers"],"properties":{"top_consumers":{"type":"array","items":{"$ref":"#/definitions/TopConsumerJson"}}}},"SandboxUserImport":{"required":["email","password","user_name"],"properties":{"email":{"type":"string","example":"user1@example.com"},"password":{"type":"string","example":"TESOBE520berlin123!"},"user_name":{"type":"string","example":"User 1"}}},"SandboxBankImport":{"required":["website","full_name","logo","id","short_name"],"properties":{"website":{"type":"string","example":"http://example.com/2"},"full_name":{"type":"string","example":"Bank 2 Inc."},"logo":{"type":"string","example":"http://example.com/logo2"},"id":{"type":"string","example":"bank2"},"short_name":{"type":"string","example":"bank 2"}}},"SandboxTransactionImport":{"required":["id","this_account","details"],"properties":{"id":{"type":"string","example":"blankCounterpartNameTransaction"},"this_account":{"$ref":"#/definitions/SandboxAccountIdImport"},"counterparty":{"$ref":"#/definitions/SandboxTransactionCounterparty"},"details":{"$ref":"#/definitions/SandboxAccountDetailsImport"}}},"SandboxTransactionCounterparty":{"properties":{"name":{"type":"string","example":"Acme Inc."},"account_number":{"type":"string","example":"12345-B"}}},"SandboxAccountDetailsImport":{"required":["new_balance","description","completed","type","value","posted"],"properties":{"new_balance":{"type":"string","example":"1244.00"},"description":{"type":"string","example":"some description"},"completed":{"type":"string","example":"2012-04-07T00:00:00.001Z"},"type":{"type":"string","example":"SEPA"},"value":{"type":"string","example":"-135.33"},"posted":{"type":"string","example":"2012-03-07T00:00:00.001Z"}}},"SandboxAccountImport":{"required":["generate_auditors_view","number","IBAN","label","owners","balance","bank","id","type","generate_accountants_view","generate_public_view"],"properties":{"generate_auditors_view":{"type":"boolean","example":"true"},"number":{"type":"string","example":"22"},"IBAN":{"type":"string","example":"21234567890"},"label":{"type":"string","example":"Account 1 at Bank 2"},"owners":{"type":"array","items":{"type":"string"}},"balance":{"$ref":"#/definitions/SandboxBalanceImport"},"bank":{"type":"string","example":"bank2"},"id":{"type":"string","example":"account1"},"type":{"type":"string","example":"savings"},"generate_accountants_view":{"type":"boolean","example":"true"},"generate_public_view":{"type":"boolean","example":"false"}}},"SandboxLobbyImport":{"required":["hours"],"properties":{"hours":{"type":"string","example":"M-TH 8:30-3:30, F 9-5"}}},"SandboxBalanceImport":{"required":["currency","amount"],"properties":{"currency":{"type":"string","example":"EUR"},"amount":{"type":"string","example":"1000.00"}}},"SandboxCrmEventImport":{"required":["channel","bank_id","id","customer","category","detail","actual_date"],"properties":{"channel":{"type":"string","example":"Phone"},"bank_id":{"type":"string","example":"bank1"},"id":{"type":"string","example":"KIFJA76876AS"},"customer":{"$ref":"#/definitions/SandboxCustomerImport"},"category":{"type":"string","example":"Call"},"detail":{"type":"string","example":"Check mortgage"},"actual_date":{"type":"string","example":"1100-01-01T01:01:01.000Z"}}},"SandboxAccountIdImport":{"required":["id","bank"],"properties":{"id":{"type":"string","example":"account1"},"bank":{"type":"string","example":"bank1"}}},"SandboxProductImport":{"required":["name","more_info_url","super_family","code","bank_id","meta","category","family"],"properties":{"name":{"type":"string","example":"product 1"},"more_info_url":{"type":"string","example":"www.example.com/index1"},"super_family":{"type":"string","example":"sup fam 1"},"code":{"type":"string","example":"prd1"},"bank_id":{"type":"string","example":"bank1"},"meta":{"$ref":"#/definitions/SandboxMetaImport"},"category":{"type":"string","example":"cat1"},"family":{"type":"string","example":"fam1"}}},"SandboxLocationImport":{"required":["latitude","longitude"],"properties":{"latitude":{"type":"number","format":"double","example":"52.556198"},"longitude":{"type":"number","format":"double","example":"13.384099"}}},"SandboxLicenseImport":{"required":["id","name"],"properties":{"id":{"type":"string","example":"pddl"},"name":{"type":"string","example":"Open Data Commons Public Domain Dedication and License (PDDL)"}}},"SandboxAddressImport":{"required":["city","line_2","state","post_code","county","country_code","line_3","line_1"],"properties":{"city":{"type":"string","example":"Ashbourne"},"line_2":{"type":"string","example":"Rosy Place"},"state":{"type":"string","example":""},"post_code":{"type":"string","example":"WHY RU4"},"county":{"type":"string","example":"Derbyshire"},"country_code":{"type":"string","example":"UK"},"line_3":{"type":"string","example":"Sunny Village"},"line_1":{"type":"string","example":"5 Some Street"}}},"SandboxCustomerImport":{"required":["name","number"],"properties":{"name":{"type":"string","example":"James Brown"},"number":{"type":"string","example":"698761728934"}}},"SandboxBranchImport":{"required":["name","location","bank_id","id","meta","address"],"properties":{"name":{"type":"string","example":"Genel Müdürlük"},"location":{"$ref":"#/definitions/SandboxLocationImport"},"driveUp":{"$ref":"#/definitions/SandboxDriveUpImport"},"bank_id":{"type":"string","example":"bank1"},"id":{"type":"string","example":"branch1"},"meta":{"$ref":"#/definitions/SandboxMetaImport"},"lobby":{"$ref":"#/definitions/SandboxLobbyImport"},"address":{"$ref":"#/definitions/SandboxAddressImport"}}},"SandboxMetaImport":{"required":["license"],"properties":{"license":{"$ref":"#/definitions/SandboxLicenseImport"}}},"SandboxAtmImport":{"required":["name","location","bank_id","id","meta","address"],"properties":{"name":{"type":"string","example":"Ashbourne Atm 1"},"location":{"$ref":"#/definitions/SandboxLocationImport"},"bank_id":{"type":"string","example":"bank1"},"id":{"type":"string","example":"atm1"},"meta":{"$ref":"#/definitions/SandboxMetaImport"},"address":{"$ref":"#/definitions/SandboxAddressImport"}}},"SandboxDriveUpImport":{"required":["hours"],"properties":{"hours":{"type":"string","example":"M-Th 8:30-5:30, F-8:30-6, Sat 9-12"}}},"SandboxDataImport":{"required":["crm_events","users","products","banks","branches","transactions","accounts","atms"],"properties":{"crm_events":{"type":"array","items":{"$ref":"#/definitions/SandboxCrmEventImport"}},"users":{"type":"array","items":{"$ref":"#/definitions/SandboxUserImport"}},"products":{"type":"array","items":{"$ref":"#/definitions/SandboxProductImport"}},"banks":{"type":"array","items":{"$ref":"#/definitions/SandboxBankImport"}},"branches":{"type":"array","items":{"$ref":"#/definitions/SandboxBranchImport"}},"transactions":{"type":"array","items":{"$ref":"#/definitions/SandboxTransactionImport"}},"accounts":{"type":"array","items":{"$ref":"#/definitions/SandboxAccountImport"}},"atms":{"type":"array","items":{"$ref":"#/definitions/SandboxAtmImport"}}}},"FastFirehoseOwners":{"required":["user_id","provider","user_name"],"properties":{"user_id":{"type":"string","example":"b27327a2-a822-41e5-a909-0150da688939"},"provider":{"type":"string","example":"https://finx22openplatform.fintech-galaxy.com,user_name:synth_user_1_54891"},"user_name":{"type":"string","example":""}}},"FastFirehoseRoutings":{"required":["bank_id","account_id"],"properties":{"bank_id":{"type":"string","example":"bisb.com"},"account_id":{"type":"string","example":"c590e38e-847c-466f-9a62-f2ad67daf106"}}},"FastFirehoseAttributes":{"required":["type","code","value"],"properties":{"type":{"type":"string","example":"INTEGER"},"code":{"type":"string","example":"Loan1"},"value":{"type":"string","example":"0"}}},"PaymentAccount":{"required":["iban"],"properties":{"iban":{"type":"string","example":"GB33BUKB20201555555555"}}},"AttributeJsonV400":{"required":["name","value"],"properties":{"name":{"type":"string","example":"country_iso"},"value":{"type":"string","example":""}}},"IbanDetailsJsonV400":{"required":["bank_routings","city","postcode","branch","country","attributes","bank","address","phone"],"properties":{"bank_routings":{"type":"array","items":{"$ref":"#/definitions/BankRoutingJsonV121"}},"city":{"type":"string","example":"Frankfurt am Main"},"postcode":{"type":"string","example":"60311"},"branch":{"type":"string","example":""},"country":{"type":"string","example":"Germany"},"attributes":{"type":"array","items":{"$ref":"#/definitions/AttributeJsonV400"}},"bank":{"type":"string","example":"Societe Generale"},"address":{"type":"string","example":"Neue mainzer strasse 46-50"},"phone":{"type":"string","example":""}}},"When":{"required":["frequency","detail"],"properties":{"frequency":{"type":"string","example":"YEARLY"},"detail":{"type":"string","example":"LAST_DAY"}}},"PostViewJsonV400":{"required":["view_id","is_system"],"properties":{"view_id":{"type":"string","example":"owner"},"is_system":{"type":"boolean","example":"true"}}},"TransactionRequestBankAccountJson":{"required":["bank_id","account_id","transaction_request_id"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"transaction_request_id":{"type":"string","example":"8138a7e4-6d02-40e3-a129-0b2bf89de9f1"}}},"TransactionBankAccountJson":{"required":["bank_id","account_id","transaction_id"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"transaction_id":{"type":"string","example":"2fg8a7e4-6d02-40e3-a129-0b2bf89de8ub"}}},"BalanceJsonV400":{"required":["type","currency","amount"],"properties":{"type":{"type":"string","example":""},"currency":{"type":"string","example":"EUR"},"amount":{"type":"string","example":"10"}}},"XxxId":{"required":["type","minLength","maxLength","examples"],"properties":{"type":{"type":"string","example":"string"},"minLength":{"type":"integer","format":"int32","example":"2"},"maxLength":{"type":"integer","format":"int32","example":"50"},"examples":{"type":"array","items":{"type":"string"}}}},"Properties":{"required":["xxx_id"],"properties":{"xxx_id":{"$ref":"#/definitions/XxxId"}}},"PostConsentViewJsonV310":{"required":["bank_id","account_id","view_id"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"account_id":{"type":"string","example":"8ca8a7e4-6d02-40e3-a129-0b2bf89de9f0"},"view_id":{"type":"string","example":"owner"}}},"PostConsentEntitlementJsonV310":{"required":["bank_id","role_name"],"properties":{"bank_id":{"type":"string","example":"gh.29.uk"},"role_name":{"type":"string","example":"CanGetCustomer"}}},"RefundJson":{"required":["transaction_id","reason_code"],"properties":{"transaction_id":{"type":"string","example":"2fg8a7e4-6d02-40e3-a129-0b2bf89de8ub"},"reason_code":{"type":"string","example":"CUST"}}},"EndpointInfo":{"required":["name","version"],"properties":{"name":{"type":"string","example":"getAccounts"},"version":{"type":"string","example":"OBPv3.0.0"}}},"FieldNameApiVersions":{"properties":{}},"TransactionRequestReasonJsonV400":{"required":["code"],"properties":{"description":{"type":"string","example":"SEPA payment"},"amount":{"type":"string","example":"100"},"code":{"type":"string","example":"410"},"document_number":{"type":"string","example":"2020/154"},"currency":{"type":"string","example":"EUR"}}},"EmptyClassJson":{"required":["jsonString"],"properties":{"jsonString":{"type":"string","example":"{}"}}},"MethodRoutingCommons":{"required":["is_bank_id_exact_match","method_name","connector_name","parameters"],"properties":{"is_bank_id_exact_match":{"type":"boolean","example":"true"},"method_name":{"type":"string","example":"getBank"},"connector_name":{"type":"string","example":"rest_vMar2019"},"method_routing_id":{"type":"string"},"bank_id_pattern":{"type":"string","example":"some_bankId"},"parameters":{"type":"array","items":{"$ref":"#/definitions/MethodRoutingParam"}}}},"PostUserInvitationAnonymousJsonV400":{"required":["secret_key"],"properties":{"secret_key":{"type":"integer","format":"int64","example":"5819479115482092878"}}},"DynamicEntityFooBar":{"required":["hasPersonalEntity","FooBar"],"properties":{"dynamicEntityId":{"type":"string"},"hasPersonalEntity":{"type":"boolean","example":"true"},"FooBar":{"$ref":"#/definitions/DynamicEntityDefinition"},"userId":{"type":"string"},"bankId":{"type":"string"}}},"PutConsentUserJsonV400":{"required":["user_id"],"properties":{"user_id":{"type":"string","example":"ed7a7c01-db37-45cc-ba12-0ae8891c195c"}}},"CardAttributeJson":{"required":["name","type","value"],"properties":{"name":{"type":"string","example":"OVERDRAFT_START_DATE"},"type":{"type":"string","example":"DOUBLE"},"value":{"type":"string","example":"2012-04-23"}}},"PostResetPasswordUrlJsonV400":{"required":["username","email","user_id"],"properties":{"username":{"type":"string","example":"jobloggs"},"email":{"type":"string","example":"jo@gmail.com"},"user_id":{"type":"string","example":"74a8ebcc-10e4-4036-bef3-9835922246bf"}}},"PutConsentStatusJsonV400":{"required":["status"],"properties":{"status":{"type":"string","example":"AUTHORISED"}}},"ConsumerPostJSON":{"required":["created_by_user_id","app_type","description","enabled","redirect_url","developer_email","clientCertificate","app_name","created"],"properties":{"created_by_user_id":{"type":"string","example":"createdby"},"app_type":{"type":"string","example":"Test"},"description":{"type":"string","example":"Description"},"enabled":{"type":"boolean","example":"true"},"redirect_url":{"type":"string","example":"redirecturl"},"developer_email":{"type":"string","example":"some@email.com"},"clientCertificate":{"type":"string","example":"-----BEGIN CERTIFICATE-----\nclient_certificate_content\n-----END CERTIFICATE-----"},"app_name":{"type":"string","example":"Test"},"created":{"type":"string","format":"date","example":"2024-03-28T21:00:34Z"}}},"WebUiPropsCommons":{"required":["name","value"],"properties":{"name":{"type":"string","example":"webui_api_explorer_url"},"value":{"type":"string","example":"https://apiexplorer.openbankproject.com"},"web_ui_props_id":{"type":"string"}}},"PostConsentChallengeJsonV310":{"required":["answer"],"properties":{"answer":{"type":"string","example":"12345678"}}},"Full":{"required":["value"],"properties":{"value":{"type":"boolean","example":"true"}}},"ConsentChallengeJsonV310":{"required":["consent_id","jwt","status"],"properties":{"consent_id":{"type":"string","example":"9d429899-24f5-42c8-8565-943ffa6a7945"},"jwt":{"type":"string","example":"eyJhbGciOiJIUzI1NiJ9.eyJlbnRpdGxlbWVudHMiOltdLCJjcmVhdGVkQnlVc2VySWQiOiJhYjY1MzlhOS1iMTA1LTQ0ODktYTg4My0wYWQ4ZDZjNjE2NTciLCJzdWIiOiIyMWUxYzhjYy1mOTE4LTRlYWMtYjhlMy01ZTVlZWM2YjNiNGIiLCJhdWQiOiJlanpuazUwNWQxMzJyeW9tbmhieDFxbXRvaHVyYnNiYjBraWphanNrIiwibmJmIjoxNTUzNTU0ODk5LCJpc3MiOiJodHRwczpcL1wvd3d3Lm9wZW5iYW5rcHJvamVjdC5jb20iLCJleHAiOjE1NTM1NTg0OTksImlhdCI6MTU1MzU1NDg5OSwianRpIjoiMDlmODhkNWYtZWNlNi00Mzk4LThlOTktNjYxMWZhMWNkYmQ1Iiwidmlld3MiOlt7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAxIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifSx7ImFjY291bnRfaWQiOiJtYXJrb19wcml2aXRlXzAyIiwiYmFua19pZCI6ImdoLjI5LnVrLngiLCJ2aWV3X2lkIjoib3duZXIifV19.8cc7cBEf2NyQvJoukBCmDLT7LXYcuzTcSYLqSpbxLp4"},"status":{"type":"string","example":"AUTHORISED"}}},"ResourceDocsJson":{"required":["resource_docs"],"properties":{"resource_docs":{"type":"array","items":{"$ref":"#/definitions/ResourceDocJson"}},"meta":{"$ref":"#/definitions/ResourceDocMeta"}}},"ResetPasswordUrlJsonV400":{"required":["reset_password_url"],"properties":{"reset_password_url":{"type":"string","example":"https://apisandbox.openbankproject.com/user_mgt/reset_password/QOL1CPNJPCZ4BRMPX3Z01DPOX1HMGU3L"}}},"JsonAuthTypeValidation":{"required":["operationId","authTypes"],"properties":{"operationId":{"type":"string","example":"OBPv4.0.0-updateXxx"},"authTypes":{"type":"array","items":{"type":"string","enum":["DirectLogin","OAuth1.0a","GatewayLogin","DAuth","OAuth2_OIDC","OAuth2_OIDC_FAPI","Anonymous"]}}}},"MethodRoutingParam":{"required":["key","value"],"properties":{"key":{"type":"string","example":"url"},"value":{"type":"string","example":"http://mydomain.com/xxx"}}},"DynamicEntityStringTypeExample":{"required":["description","minLength","type","example","maxLength"],"properties":{"description":{"type":"string","example":"description of **name** field, can be markdown text."},"minLength":{"type":"integer","format":"int32","example":"3"},"type":{"type":"string","enum":["number","integer","boolean","string","DATE_WITH_DAY"]},"example":{"type":"string","example":"James Brown"},"maxLength":{"type":"integer","format":"int32","example":"20"}}},"DynamicEntityIntTypeExample":{"required":["type","example","description"],"properties":{"type":{"type":"string","enum":["number","integer","boolean","string","DATE_WITH_DAY"]},"example":{"type":"integer","format":"int32","example":"698761728"},"description":{"type":"string","example":"description of **number** field, can be markdown text."}}},"DynamicEntityFullBarFields":{"required":["name","number"],"properties":{"name":{"$ref":"#/definitions/DynamicEntityStringTypeExample"},"number":{"$ref":"#/definitions/DynamicEntityIntTypeExample"}}},"DynamicEntityDefinition":{"required":["description","required","properties"],"properties":{"description":{"type":"string","example":"description of this entity, can be markdown text."},"required":{"type":"array","items":{"type":"string"}},"properties":{"$ref":"#/definitions/DynamicEntityFullBarFields"}}},"ResourceDocJson":{"required":["error_response_bodies","request_verb","request_url","description","tags","success_response_body","connector_methods","example_request_body","typed_success_response_body","special_instructions","is_featured","operation_id","implemented_by","specified_url","description_markdown","typed_request_body","summary"],"properties":{"error_response_bodies":{"type":"array","items":{"type":"string"}},"request_verb":{"type":"string","example":"GET"},"request_url":{"type":"string","example":"/dummy"},"description":{"type":"string","example":"I am only a test Resource Doc
\nAuthentication is Mandatory
\nJSON response body fields:
\n"},"tags":{"type":"array","items":{"type":"string"}},"success_response_body":{"$ref":"#/definitions/EmptyClassJson"},"created_by_bank_id":{"type":"string"},"connector_methods":{"type":"array","items":{"type":"string"}},"example_request_body":{"$ref":"#/definitions/EmptyClassJson"},"typed_success_response_body":{"type":"object","properties":{"type":{"type":"string","example":"object"},"properties":{"type":"object","properties":{"jsonString":{"type":"object","properties":{"type":{"type":"string","example":"string"}},"required":["type"]}},"required":["jsonString"]}},"required":["type","properties"]},"special_instructions":{"type":"string","example":""},"is_featured":{"type":"boolean","example":"false"},"roles":{"type":"array","items":{"$ref":"#/definitions/CanGetCustomers"}},"operation_id":{"type":"string","example":"OBPv1.4.0-testResourceDoc"},"implemented_by":{"$ref":"#/definitions/ImplementedByJson"},"specified_url":{"type":"string","example":""},"description_markdown":{"type":"string","example":"I am only a test Resource Doc\n\nAuthentication is Mandatory\n\n\n**JSON response body fields:**\n\n\n"},"typed_request_body":{"type":"object","properties":{"type":{"type":"string","example":"object"},"properties":{"type":"object","properties":{"jsonString":{"type":"object","properties":{"type":{"type":"string","example":"string"}},"required":["type"]}},"required":["jsonString"]}},"required":["type","properties"]},"summary":{"type":"string","example":"Test Resource Doc"}}},"ResourceDocMeta":{"required":["response_date","count"],"properties":{"response_date":{"type":"string","format":"date","example":"2024-03-28T21:00:34Z"},"count":{"type":"integer","format":"int32","example":"1"}}},"RequestRootJsonClass":{"required":["name","age","hobby"],"properties":{"name":{"type":"string","example":"ACCOUNT_MANAGEMENT_FEE"},"age":{"type":"integer","format":"int64","example":"18"},"hobby":{"type":"array","items":{"type":"string"}}}}}}