{"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":"v5.1.0"},"host":"api3.openbankproject.com","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/v5.1.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/AdapterInfoJsonV500"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v5.1.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/v5.1.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/v5.1.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 i18n language tag , e.g. ?locale=zh_CN
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.
You can easily pass the cache, use different value for cache-modifier, eg: ?cache-modifier= 123
See the Resource Doc endpoint for more information.
Following are more examples:
https://api3.openbankproject.com/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp
https://api3.openbankproject.com/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?tags=Account,Bank
https://api3.openbankproject.com/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://api3.openbankproject.com/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?locale=zh_CN
https://api3.openbankproject.com/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://api3.openbankproject.com/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221
https://api3.openbankproject.com/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?cache-modifier=3141592653
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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField1": { "type": "reference:Consumer", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField2": { "type": "reference:Customer", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField3": { "type": "reference:MethodRouting", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField4": { "type": "reference:DynamicEntity", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField5": { "type": "reference:TransactionRequest", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField6": { "type": "reference:ProductAttribute", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField7": { "type": "reference:AccountAttribute", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField8": { "type": "reference:TransactionAttribute", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField9": { "type": "reference:CustomerAttribute", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField10": { "type": "reference:AccountApplication", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField11": { "type": "reference:CardAttribute", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField12": { "type": "reference:Counterparty", "example": "3acf5afa-1bfe-431c-a25c-aee6d9d3575a"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=3acf5afa-1bfe-431c-a25c-aee6d9d3575a&branchId=f8d76fc9-fe9d-480a-a8bd-17a80ac8a13e"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=3acf5afa-1bfe-431c-a25c-aee6d9d3575a&atmId=f8d76fc9-fe9d-480a-a8bd-17a80ac8a13e"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=3acf5afa-1bfe-431c-a25c-aee6d9d3575a&accountId=f8d76fc9-fe9d-480a-a8bd-17a80ac8a13e"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=3acf5afa-1bfe-431c-a25c-aee6d9d3575a&productCode=f8d76fc9-fe9d-480a-a8bd-17a80ac8a13e"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=3acf5afa-1bfe-431c-a25c-aee6d9d3575a&cardId=f8d76fc9-fe9d-480a-a8bd-17a80ac8a13e"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=3acf5afa-1bfe-431c-a25c-aee6d9d3575a&accountId=f8d76fc9-fe9d-480a-a8bd-17a80ac8a13e&transactionId=35ded3c8-f688-4385-a055-0dfa75871162"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=3acf5afa-1bfe-431c-a25c-aee6d9d3575a&accountId=f8d76fc9-fe9d-480a-a8bd-17a80ac8a13e&counterpartyId=35ded3c8-f688-4385-a055-0dfa75871162"}
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": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField1": { "type": "reference:Consumer", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField2": { "type": "reference:Customer", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField3": { "type": "reference:MethodRouting", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField4": { "type": "reference:DynamicEntity", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField5": { "type": "reference:TransactionRequest", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField6": { "type": "reference:ProductAttribute", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField7": { "type": "reference:AccountAttribute", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField8": { "type": "reference:TransactionAttribute", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField9": { "type": "reference:CustomerAttribute", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField10": { "type": "reference:AccountApplication", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField11": { "type": "reference:CardAttribute", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField12": { "type": "reference:Counterparty", "example": "cebca72b-6d42-4984-8da9-3798b5b100c2"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=cebca72b-6d42-4984-8da9-3798b5b100c2&branchId=d789fca8-facc-492d-ad46-925089417b77"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=cebca72b-6d42-4984-8da9-3798b5b100c2&atmId=d789fca8-facc-492d-ad46-925089417b77"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=cebca72b-6d42-4984-8da9-3798b5b100c2&accountId=d789fca8-facc-492d-ad46-925089417b77"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=cebca72b-6d42-4984-8da9-3798b5b100c2&productCode=d789fca8-facc-492d-ad46-925089417b77"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=cebca72b-6d42-4984-8da9-3798b5b100c2&cardId=d789fca8-facc-492d-ad46-925089417b77"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=cebca72b-6d42-4984-8da9-3798b5b100c2&accountId=d789fca8-facc-492d-ad46-925089417b77&transactionId=7d67abd2-6f5e-4d48-850c-6c9066872af0"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=cebca72b-6d42-4984-8da9-3798b5b100c2&accountId=d789fca8-facc-492d-ad46-925089417b77&counterpartyId=7d67abd2-6f5e-4d48-850c-6c9066872af0"}
","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/v5.1.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
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/v5.1.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.
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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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
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/v5.1.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.
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/v5.1.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://api3.openbankproject.com/obp/v3.1.0/management/method_routings?active=true
https://api3.openbankproject.com/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/v5.1.0/management/metrics/banks/{BANK_ID}":{"get":{"tags":["Metric","API"],"summary":"Get Metrics at Bank","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Get the all metrics at the Bank specified by BANK_ID
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":"getMetricsAtBank","parameters":[{"in":"path","name":"BANK_ID","description":"The bank id","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/MetricsJson"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUserNotLoggedIn"}}}}},"/obp/v5.1.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": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField1": { "type": "reference:Consumer", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField2": { "type": "reference:Customer", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField3": { "type": "reference:MethodRouting", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField4": { "type": "reference:DynamicEntity", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField5": { "type": "reference:TransactionRequest", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField6": { "type": "reference:ProductAttribute", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField7": { "type": "reference:AccountAttribute", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField8": { "type": "reference:TransactionAttribute", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField9": { "type": "reference:CustomerAttribute", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField10": { "type": "reference:AccountApplication", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField11": { "type": "reference:CardAttribute", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField12": { "type": "reference:Counterparty", "example": "4daabb7b-a320-428d-8f3c-b8879a46cbe6"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=4daabb7b-a320-428d-8f3c-b8879a46cbe6&branchId=d8203b2d-338f-4959-8d7c-b8ab11635ed4"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=4daabb7b-a320-428d-8f3c-b8879a46cbe6&atmId=d8203b2d-338f-4959-8d7c-b8ab11635ed4"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=4daabb7b-a320-428d-8f3c-b8879a46cbe6&accountId=d8203b2d-338f-4959-8d7c-b8ab11635ed4"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=4daabb7b-a320-428d-8f3c-b8879a46cbe6&productCode=d8203b2d-338f-4959-8d7c-b8ab11635ed4"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=4daabb7b-a320-428d-8f3c-b8879a46cbe6&cardId=d8203b2d-338f-4959-8d7c-b8ab11635ed4"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=4daabb7b-a320-428d-8f3c-b8879a46cbe6&accountId=d8203b2d-338f-4959-8d7c-b8ab11635ed4&transactionId=7f3efc74-70a0-438e-ac5d-e937590cc32e"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=4daabb7b-a320-428d-8f3c-b8879a46cbe6&accountId=d8203b2d-338f-4959-8d7c-b8ab11635ed4&counterpartyId=7f3efc74-70a0-438e-ac5d-e937590cc32e"}
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": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField1": { "type": "reference:Consumer", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField2": { "type": "reference:Customer", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField3": { "type": "reference:MethodRouting", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField4": { "type": "reference:DynamicEntity", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField5": { "type": "reference:TransactionRequest", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField6": { "type": "reference:ProductAttribute", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField7": { "type": "reference:AccountAttribute", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField8": { "type": "reference:TransactionAttribute", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField9": { "type": "reference:CustomerAttribute", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField10": { "type": "reference:AccountApplication", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField11": { "type": "reference:CardAttribute", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField12": { "type": "reference:Counterparty", "example": "126e8e39-304c-463e-a20a-3a1ee6f7c90b"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=126e8e39-304c-463e-a20a-3a1ee6f7c90b&branchId=8ef7e029-c5bd-4988-b0a5-29249e821ea2"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=126e8e39-304c-463e-a20a-3a1ee6f7c90b&atmId=8ef7e029-c5bd-4988-b0a5-29249e821ea2"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=126e8e39-304c-463e-a20a-3a1ee6f7c90b&accountId=8ef7e029-c5bd-4988-b0a5-29249e821ea2"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=126e8e39-304c-463e-a20a-3a1ee6f7c90b&productCode=8ef7e029-c5bd-4988-b0a5-29249e821ea2"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=126e8e39-304c-463e-a20a-3a1ee6f7c90b&cardId=8ef7e029-c5bd-4988-b0a5-29249e821ea2"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=126e8e39-304c-463e-a20a-3a1ee6f7c90b&accountId=8ef7e029-c5bd-4988-b0a5-29249e821ea2&transactionId=17dd55fa-7b51-4877-8910-d9deaf9ea163"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=126e8e39-304c-463e-a20a-3a1ee6f7c90b&accountId=8ef7e029-c5bd-4988-b0a5-29249e821ea2&counterpartyId=17dd55fa-7b51-4877-8910-d9deaf9ea163"}
","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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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/v5.1.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": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField1": { "type": "reference:Consumer", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField2": { "type": "reference:Customer", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField3": { "type": "reference:MethodRouting", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField4": { "type": "reference:DynamicEntity", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField5": { "type": "reference:TransactionRequest", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField6": { "type": "reference:ProductAttribute", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField7": { "type": "reference:AccountAttribute", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField8": { "type": "reference:TransactionAttribute", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField9": { "type": "reference:CustomerAttribute", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField10": { "type": "reference:AccountApplication", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField11": { "type": "reference:CardAttribute", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField12": { "type": "reference:Counterparty", "example": "535776cd-b019-48ea-bcfe-30d98a698ce7"}"someField13": { "type": "reference:Branch:bankId&branchId", "example": "bankId=535776cd-b019-48ea-bcfe-30d98a698ce7&branchId=36c191bf-19b8-4180-bed5-eabe1dd8a349"}"someField14": { "type": "reference:Atm:bankId&atmId", "example": "bankId=535776cd-b019-48ea-bcfe-30d98a698ce7&atmId=36c191bf-19b8-4180-bed5-eabe1dd8a349"}"someField15": { "type": "reference:BankAccount:bankId&accountId", "example": "bankId=535776cd-b019-48ea-bcfe-30d98a698ce7&accountId=36c191bf-19b8-4180-bed5-eabe1dd8a349"}"someField16": { "type": "reference:Product:bankId&productCode", "example": "bankId=535776cd-b019-48ea-bcfe-30d98a698ce7&productCode=36c191bf-19b8-4180-bed5-eabe1dd8a349"}"someField17": { "type": "reference:PhysicalCard:bankId&cardId", "example": "bankId=535776cd-b019-48ea-bcfe-30d98a698ce7&cardId=36c191bf-19b8-4180-bed5-eabe1dd8a349"}"someField18": { "type": "reference:Transaction:bankId&accountId&transactionId", "example": "bankId=535776cd-b019-48ea-bcfe-30d98a698ce7&accountId=36c191bf-19b8-4180-bed5-eabe1dd8a349&transactionId=0bc8ee98-dd13-4799-aa5e-5536537cb304"}"someField19": { "type": "reference:Counterparty:bankId&accountId&counterpartyId", "example": "bankId=535776cd-b019-48ea-bcfe-30d98a698ce7&accountId=36c191bf-19b8-4180-bed5-eabe1dd8a349&counterpartyId=0bc8ee98-dd13-4799-aa5e-5536537cb304"}
","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/v5.1.0/rate-limiting":{"get":{"tags":["API"],"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).
Authentication is Mandatory
","operationId":"getRateLimitingInfo","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/RateLimitingInfoV310"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}},"/obp/v5.1.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 i18n language tag , e.g. ?locale=zh_CN
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.
You can easily pass the cache, use different value for cache-modifier, eg: ?cache-modifier= 123
See the Resource Doc endpoint for more information.
Following are more examples:
https://api3.openbankproject.com/obp/v4.0.0/resource-docs/v4.0.0/obp
https://api3.openbankproject.com/obp/v4.0.0/resource-docs/v4.0.0/obp?tags=Account,Bank
https://api3.openbankproject.com/obp/v4.0.0/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://api3.openbankproject.com/obp/v4.0.0/resource-docs/v4.0.0/obp?locale=zh_CN
https://api3.openbankproject.com/obp/v4.0.0/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://api3.openbankproject.com/obp/v4.0.0/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221
https://api3.openbankproject.com/obp/v4.0.0/resource-docs/v4.0.0/obp?cache-modifier=3141592653
Authentication is Mandatory
","operationId":"getResourceDocsObpV400","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/v5.1.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.
Following are more examples:
https://api3.openbankproject.com/obp/v3.1.0/resource-docs/v3.1.0/swagger
https://api3.openbankproject.com/obp/v3.1.0/resource-docs/v3.1.0/swagger?tags=Account,Bank
https://api3.openbankproject.com/obp/v3.1.0/resource-docs/v3.1.0/swagger?functions=getBanks,bankById
https://api3.openbankproject.com/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/v5.1.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/v5.1.0/search/metrics":{"get":{"tags":["Metric","API"],"summary":"Search API Metrics via Elasticsearch","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"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/v5.1.0/waiting-for-godot":{"get":{"tags":["API"],"summary":"Waiting For Godot","security":[{"directLogin":[],"gatewayLogin":[]}],"description":"Waiting For Godot
Uses query parameter "sleep" in milliseconds.
For instance: .../waiting-for-godot?sleep=50 means postpone response in 50 milliseconds.
Authentication is Optional
","operationId":"waitingForGodot","parameters":[],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/WaitingForGodotJsonV510"}},"400":{"description":"Error","schema":{"$ref":"#/definitions/ErrorUnknownError"}}}}}},"definitions":{"ErrorInvalidDateFormat":{"properties":{"message":{"type":"string","example":"OBP-10005: Invalid Date Format. Could not convert value to a Date."}}},"ErrorUserNotLoggedIn":{"properties":{"message":{"type":"string","example":"OBP-20001: User not logged in. Authentication is required!"}}},"ErrorBankNotFound":{"properties":{"message":{"type":"string","example":"OBP-30001: Bank not found. Please specify a valid value for BANK_ID."}}},"ErrorUnknownError":{"properties":{"message":{"type":"string","example":"OBP-50000: Unknown Error."}}},"NotSupportedYet":{"properties":{}},"EndpointTagJson400":{"required":["tag_name"],"properties":{"tag_name":{"type":"string","example":"BankAccountTag1"}}},"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"}}},"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"}}},"WarehouseJSON":{"required":["property","value"],"properties":{"property":{"type":"string","example":"String"},"value":{"type":"string","example":"ElasticSearch"}}},"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"}}},"AdapterImplementationJson":{"required":["group","suggested_order"],"properties":{"group":{"type":"string","example":"CORE"},"suggested_order":{"type":"integer","format":"int32","example":"3"}}},"PortJSON":{"required":["property","value"],"properties":{"property":{"type":"string","example":"default"},"value":{"type":"string","example":"8080"}}},"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"}}},"CanGetCustomers":{"required":["requiresBankId"],"properties":{"requiresBankId":{"type":"boolean","example":"true"}}},"EnergySource400":{"required":["organisation","organisation_website"],"properties":{"organisation":{"type":"string","example":"Stromio"},"organisation_website":{"type":"string","example":"https://www.stromio.de/"}}},"InboundStatusMessage":{"required":["source","text","errorCode","status"],"properties":{"duration":{"type":"string","format":"double","example":"5.123"},"source":{"type":"string","example":""},"text":{"type":"string","example":""},"errorCode":{"type":"string","example":""},"status":{"type":"string","example":""}}},"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"}}},"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"}}},"ElasticSearchJSON":{"required":["metrics","warehouse"],"properties":{"metrics":{"type":"array","items":{"$ref":"#/definitions/MetricsJsonV220"}},"warehouse":{"type":"array","items":{"$ref":"#/definitions/WarehouseJSON"}}}},"OAuth2ServerJwksUrisJson":{"required":["jwks_uris"],"properties":{"jwks_uris":{"type":"array","items":{"$ref":"#/definitions/OAuth2ServerJWKURIJson"}}}},"MetricsJson":{"required":["metrics"],"properties":{"metrics":{"type":"array","items":{"$ref":"#/definitions/MetricJson"}}}},"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"}}},"DynamicEndpointHostJson400":{"required":["host"],"properties":{"host":{"type":"string","example":"dynamic_entity"}}},"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"}}}},"ImplementedByJson":{"required":["version","function"],"properties":{"version":{"type":"string","example":"1_4_0"},"function":{"type":"string","example":"getBranches"}}},"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"}}},"OAuth2ServerJWKURIJson":{"required":["jwks_uri"],"properties":{"jwks_uri":{"type":"string","example":"https://www.googleapis.com/oauth2/v3/certs"}}},"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"}}},"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"}}},"HostedAt400":{"required":["organisation","organisation_website"],"properties":{"organisation":{"type":"string","example":"Amazon"},"organisation_website":{"type":"string","example":"https://aws.amazon.com/"}}},"CachedFunctionJSON":{"required":["function_name","ttl_in_seconds"],"properties":{"function_name":{"type":"string","example":"getBanks"},"ttl_in_seconds":{"type":"integer","format":"int32","example":"5"}}},"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"}}},"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"}}},"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"}}},"ConnectorMetricsJson":{"required":["metrics"],"properties":{"metrics":{"type":"array","items":{"$ref":"#/definitions/ConnectorMetricJson"}}}},"AdapterInfoJsonV500":{"required":["name","backend_messages","total_duration","version","date","git_commit"],"properties":{"name":{"type":"string","example":"ACCOUNT_MANAGEMENT_FEE"},"backend_messages":{"type":"array","items":{"$ref":"#/definitions/InboundStatusMessage"}},"total_duration":{"type":"string","format":"double","example":"5.123"},"version":{"type":"string","example":""},"date":{"type":"string","example":"2020-01-27"},"git_commit":{"type":"string","example":"59623811dd8a41f6ffe67be46954eee11913dc28"}}},"EndpointInfo":{"required":["name","version"],"properties":{"name":{"type":"string","example":"getAccounts"},"version":{"type":"string","example":"OBPv3.0.0"}}},"FieldNameApiVersions":{"properties":{}},"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"}}}},"EmptyClassJson":{"required":["jsonString"],"properties":{"jsonString":{"type":"string","example":"{}"}}},"DynamicEntityFooBar":{"required":["hasPersonalEntity","FooBar"],"properties":{"dynamicEntityId":{"type":"string"},"hasPersonalEntity":{"type":"boolean","example":"true"},"FooBar":{"$ref":"#/definitions/DynamicEntityDefinition"},"userId":{"type":"string"},"bankId":{"type":"string"}}},"ResourceDocsJson":{"required":["resource_docs"],"properties":{"resource_docs":{"type":"array","items":{"$ref":"#/definitions/ResourceDocJson"}},"meta":{"$ref":"#/definitions/ResourceDocMeta"}}},"Full":{"required":["value"],"properties":{"value":{"type":"boolean","example":"true"}}},"WaitingForGodotJsonV510":{"required":["sleep_in_milliseconds"],"properties":{"sleep_in_milliseconds":{"type":"integer","format":"int64","example":"50"}}},"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-29T00:00:41Z"},"count":{"type":"integer","format":"int32","example":"1"}}}}}