-
API
-
The terms `API` (Application Programming Interface) and `Endpoint` are used somewhat interchangeablyMore...
- Create Bank Level Endpoint Tag
- Create System Level Endpoint Tag
- Delete Bank Level Endpoint Tag
- Delete System Level Endpoint Tag
- Get API Configuration
- Get API Info (root)
- Get Adapter Info
- Get Adapter Info for a bank
- Get Bank Level Endpoint Tags
- Get Connector Status (Loopback)
- Get JSON Web Key (JWK)
- Get JSON Web Key (JWK) URIs
- Get Mapper Database Info
- Get Rate Limiting Info
- Get Suggested Session Timeout
- Get System Level Endpoint Tags
- Get the Call Context of a current call
- Update Bank Level Endpoint Tag
- Update System Level Endpoint Tag
- Verify Request and Sign Response of a current call
- Waiting For Godot
-
-
Dynamic Endpoint Manage
-
If you want to create endpoints from Swagger / Open API specification files, use Dynamic EndpointsMore...
- Delete Bank Level Dynamic Endpoint
- Delete Dynamic Endpoint
- Get Bank Level Dynamic Endpoint
- Get Dynamic Endpoints
- Update Bank Level Dynamic Endpoint Host
- Update Dynamic Endpoint Host
- Create Bank Level Dynamic Endpoint
- Create Dynamic Endpoint
- Delete My Dynamic Endpoint
- Get Bank Level Dynamic Endpoints
- Get Dynamic Endpoint
- Get My Dynamic Endpoints
-
-
Dynamic Entity Manage
-
Dynamic Entities can be used to store and retrieve custom data objects (think your own tables andMore...
- Create Bank Level Dynamic Entity
- Create System Level Dynamic Entity
- Delete Bank Level Dynamic Entity
- Delete My Dynamic Entity
- Delete System Level Dynamic Entity
- Get Bank Level Dynamic Entities
- Get My Dynamic Entities
- Get System Dynamic Entities
- Update Bank Level Dynamic Entity
- Update My Dynamic Entity
- Update System Level Dynamic Entity
-
-
Method Routing
-
Open Bank Project can have different connectors, to connect difference data sources. We supportMore...
- Create MethodRouting
- Delete MethodRouting
- Get MethodRoutings
- Update MethodRouting
-
-
API
-
Create Bank Level Endpoint Tag
-
Create System Level Endpoint Tag
-
Delete Bank Level Endpoint Tag
-
Delete System Level Endpoint Tag
-
Get API Configuration
-
Get API Info (root)
-
Get Adapter Info
-
Get Adapter Info for a bank
-
Get Bank Level Endpoint Tags
-
Get Connector Status (Loopback)
-
Get JSON Web Key (JWK)
-
Get JSON Web Key (JWK) URIs
-
Get Mapper Database Info
-
Get Rate Limiting Info
-
Get Suggested Session Timeout
-
Get System Level Endpoint Tags
-
Get the Call Context of a current call
-
Update Bank Level Endpoint Tag
-
Update System Level Endpoint Tag
-
Verify Request and Sign Response of a current call
-
Waiting For Godot
-
Create Bank Level Endpoint Tag
-
Directory
-
Documentation
-
Get Bank Level Dynamic Resource Docs
-
Get Message Docs
-
Get Message Docs Swagger
-
Get Resource Docs
-
Get Resource Docs
-
Get Swagger documentation
-
Get scanned API Versions
-
Get Bank Level Dynamic Resource Docs
-
Dynamic Endpoint Manage
-
Delete Bank Level Dynamic Endpoint
-
Delete Dynamic Endpoint
-
Get Bank Level Dynamic Endpoint
-
Get Dynamic Endpoints
-
Update Bank Level Dynamic Endpoint Host
-
Update Dynamic Endpoint Host
-
Create Bank Level Dynamic Endpoint
-
Create Dynamic Endpoint
-
Delete My Dynamic Endpoint
-
Get Bank Level Dynamic Endpoints
-
Get Dynamic Endpoint
-
Get My Dynamic Endpoints
-
Delete Bank Level Dynamic Endpoint
-
Dynamic Entity Manage
-
Create Bank Level Dynamic Entity
-
Create System Level Dynamic Entity
-
Delete Bank Level Dynamic Entity
-
Delete My Dynamic Entity
-
Delete System Level Dynamic Entity
-
Get Bank Level Dynamic Entities
-
Get My Dynamic Entities
-
Get System Dynamic Entities
-
Update Bank Level Dynamic Entity
-
Update My Dynamic Entity
-
Update System Level Dynamic Entity
-
Create Bank Level Dynamic Entity
-
Method Routing
-
Metric
v5.1.0 filtered by tag: API (63 APIs)
Create Bank Level Endpoint Tag
Create Bank Level Endpoint Tag
Note: Resource Docs are cached, TTL is 3600 seconds
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
OPERATION_ID: OBPv4.0.0-getBanks
JSON request body fields:
tag_name: BankAccountTag1
JSON response body fields:
bank_id: gh.29.uk
endpoint_tag_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
operation_id: OBPv4.0.0-getBanks
tag_name: BankAccountTag1
{
"bank_id":"gh.29.uk",
"endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"operation_id":"OBPv4.0.0-getBanks",
"tag_name":"BankAccountTag1"
}
-
CanCreateBankLevelEndpointTag
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Create System Level Endpoint Tag
Create System Level Endpoint Tag
Note: Resource Docs are cached, TTL is 3600 seconds
Authentication is Mandatory
URL Parameters:
OPERATION_ID: OBPv4.0.0-getBanks
JSON request body fields:
tag_name: BankAccountTag1
JSON response body fields:
bank_id: gh.29.uk
endpoint_tag_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
operation_id: OBPv4.0.0-getBanks
tag_name: BankAccountTag1
{
"bank_id":"gh.29.uk",
"endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"operation_id":"OBPv4.0.0-getBanks",
"tag_name":"BankAccountTag1"
}
-
CanCreateSystemLevelEndpointTag
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Delete Bank Level Endpoint Tag
Delete Bank Level Endpoint Tag.
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
ENDPOINT_TAG_ID: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
OPERATION_ID: OBPv4.0.0-getBanks
JSON response body fields:
true
-
CanDeleteBankLevelEndpointTag
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Delete System Level Endpoint Tag
Delete System Level Endpoint Tag.
Authentication is Mandatory
URL Parameters:
ENDPOINT_TAG_ID: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
OPERATION_ID: OBPv4.0.0-getBanks
JSON response body fields:
true
-
CanDeleteSystemLevelEndpointTag
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get API Configuration
Returns information about:
- The default bank_id
- Akka configuration
- Elastic Search configuration
- Cached functions
Authentication is Mandatory
JSON response body fields:
akka:
require_scopes_for_listed_roles: false
value: 5987953
{
"akka":{
"ports":[{
"property":"default",
"value":"8080"
}],
"log_level":"Debug",
"remote_data_secret_matched":true
},
"elastic_search":{
"metrics":[{
"property":"String",
"value":"Mapper"
}],
"warehouse":[{
"property":"String",
"value":"ElasticSearch"
}]
},
"cache":[{
"function_name":"getBanks",
"ttl_in_seconds":5
}],
"scopes":{
"require_scopes_for_all_roles":true,
"require_scopes_for_listed_roles":["CanCreateUserAuthContextUpdate"]
}
}
-
CanGetConfig
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get API Info (root)
Returns information about:
- API version
- Hosted by information
- Hosted at information
- Energy source information
- Git Commit
Authentication is Optional
JSON response body fields:
connector: connector
git_commit: 59623811dd8a41f6ffe67be46954eee11913dc28
hostname: hostname
local_identity_provider: local_identity_provider
resource_docs_requires_role: resource_docs_requires_role
{
"version":"String",
"version_status":"String",
"git_commit":"String",
"connector":"String",
"hostname":"String",
"local_identity_provider":"String",
"hosted_by":{
"organisation":"String",
"email":"String",
"phone":"String",
"organisation_website":"String"
},
"hosted_at":{
"organisation":"Amazon",
"organisation_website":"https://aws.amazon.com/"
},
"energy_source":{
"organisation":"Stromio",
"organisation_website":"https://www.stromio.de/"
},
"resource_docs_requires_role":false
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
- no connector set
Get Adapter Info
Get basic information about the Adapter.
Authentication is Optional
Authentication is Mandatory
JSON response body fields:
backend_messages: backend_messages
date: 2020-01-27
errorCode: errorCode
git_commit: 59623811dd8a41f6ffe67be46954eee11913dc28
name: ACCOUNT_MANAGEMENT_FEE
text:
total_duration: total_duration
duration: 5.123
{
"name":"ACCOUNT_MANAGEMENT_FEE",
"version":"",
"git_commit":"59623811dd8a41f6ffe67be46954eee11913dc28",
"date":"2020-01-27",
"total_duration":"5.123",
"backend_messages":[{
"source":"",
"status":"",
"errorCode":"",
"text":"",
"duration":"5.123"
}]
}
-
CanGetAdapterInfo
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get Adapter Info for a bank
Get basic information about the Adapter listening on behalf of this bank.
Authentication is Optional
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
JSON response body fields:
date: 2020-01-27
git_commit: 59623811dd8a41f6ffe67be46954eee11913dc28
name: ACCOUNT_MANAGEMENT_FEE
{
"name":"String",
"version":"String",
"git_commit":"String",
"date":"2013-01-21T23:08:00Z"
}
-
CanGetAdapterInfoAtOneBank
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get Bank Level Endpoint Tags
Get Bank Level Endpoint Tags.
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
OPERATION_ID: OBPv4.0.0-getBanks
JSON response body fields:
bank_id: gh.29.uk
endpoint_tag_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
operation_id: OBPv4.0.0-getBanks
tag_name: BankAccountTag1
[{
"bank_id":"gh.29.uk",
"endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"operation_id":"OBPv4.0.0-getBanks",
"tag_name":"BankAccountTag1"
}]
-
CanGetBankLevelEndpointTag
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get Connector Status (Loopback)
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
JSON response body fields:
duration_time: 60
git_commit: 59623811dd8a41f6ffe67be46954eee11913dc28
{
"connector_version":"kafka_vSept2018",
"git_commit":"f0acd4be14cdcb94be3433ec95c1ad65228812a0",
"duration_time":"10 ms"
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
- OBP-20001: User not logged in. Authentication is required!
Get JSON Web Key (JWK)
{
"kty":"RSA",
"e":"AQAB",
"use":"sig",
"kid":"fr6-BxXH5gikFeZ2O6rGk0LUmJpukeswASN_TMW8U_s",
"n":"hrB0OWqg6AeNU3WCnhheG18R5EbQtdNYGOaSeylTjkj2lZr0_vkhNVYvase-CroxO4HOT06InxTYwLnmJiyv2cZxReuoVjTlk--olGu-9MZooiFiqWez0JzndyKxQ27OiAjFsMh0P04kaUXeHKhXRfiU7K2FqBshR1UlnWe7iHLkq2p9rrGjxQc7ff0w-Uc0f-8PWg36Y2Od7s65493iVQwnI13egqMaSvgB1s8_dgm08noEjhr8C5m1aKmr5oipWEPNi-SBV2VNuiCLR1IEPuXq0tOwwZfv31t34KPO-2H2bbaWmzGJy9mMOGqoNrbXyGiUZoyeHRELaNtm1GilyQ"
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
Get JSON Web Key (JWK) URIs
{
"jwks_uris":[{
"jwks_uri":"https://www.googleapis.com/oauth2/v3/certs"
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
Get Mapper Database Info
Get basic information about the Mapper Database.
Authentication is Mandatory
JSON response body fields:
date: 2020-01-27
git_commit: 59623811dd8a41f6ffe67be46954eee11913dc28
name: ACCOUNT_MANAGEMENT_FEE
{
"name":"String",
"version":"String",
"git_commit":"String",
"date":"2013-01-21T23:08:00Z"
}
-
CanGetDatabaseInfo
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
- OBP-20006: User is missing one or more roles:
Get Rate Limiting Info
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
JSON response body fields:
enabled: false
is_active: false
technology: technology1
{
"enabled":true,
"technology":"REDIS",
"service_available":true,
"is_active":true
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
- OBP-20001: User not logged in. Authentication is required!
Get Suggested Session Timeout
Returns information about:
- Suggested session timeout in case of a user inactivity
Authentication is Optional
JSON response body fields:
timeout_in_seconds: timeout_in_seconds
{
"timeout_in_seconds":"300"
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
Get System Level Endpoint Tags
Get System Level Endpoint Tags.
Authentication is Mandatory
URL Parameters:
OPERATION_ID: OBPv4.0.0-getBanks
JSON response body fields:
bank_id: gh.29.uk
endpoint_tag_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
operation_id: OBPv4.0.0-getBanks
tag_name: BankAccountTag1
[{
"bank_id":"gh.29.uk",
"endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"operation_id":"OBPv4.0.0-getBanks",
"tag_name":"BankAccountTag1"
}]
-
CanGetSystemLevelEndpointTag
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get the Call Context of a current call
Get the Call Context of the current call.
Authentication is Mandatory
JSON response body fields:
-
CanGetCallContext
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
- OBP-20006: User is missing one or more roles:
Update Bank Level Endpoint Tag
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
URL Parameters:
BANK_ID: gh.29.uk
ENDPOINT_TAG_ID: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
OPERATION_ID: OBPv4.0.0-getBanks
JSON response body fields:
bank_id: gh.29.uk
endpoint_tag_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
operation_id: OBPv4.0.0-getBanks
tag_name: BankAccountTag1
{
"bank_id":"gh.29.uk",
"endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"operation_id":"OBPv4.0.0-getBanks",
"tag_name":"BankAccountTag1"
}
-
CanUpdateBankLevelEndpointTag
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20006: User is missing one or more roles:
- OBP-30099: Invalid ENDPOINT_TAG_ID. Please specify a valid value for ENDPOINT_TAG_ID.
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Update System Level Endpoint Tag
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
URL Parameters:
ENDPOINT_TAG_ID: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
OPERATION_ID: OBPv4.0.0-getBanks
JSON response body fields:
bank_id: gh.29.uk
endpoint_tag_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
operation_id: OBPv4.0.0-getBanks
tag_name: BankAccountTag1
{
"bank_id":"gh.29.uk",
"endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh",
"operation_id":"OBPv4.0.0-getBanks",
"tag_name":"BankAccountTag1"
}
-
CanUpdateSystemLevelEndpointTag
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-30099: Invalid ENDPOINT_TAG_ID. Please specify a valid value for ENDPOINT_TAG_ID.
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Verify Request and Sign Response of a current call
Verify Request and Sign Response of a current call.
Authentication is Mandatory
JSON response body fields:
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Waiting For Godot
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
JSON response body fields:
sleep_in_milliseconds: sleep_in_milliseconds
{
"sleep_in_milliseconds":50
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
- no connector set
Create Regulated Entity
Create Regulated Entity
Authentication is Mandatory
JSON request body fields:
certificate_authority_ca_owner_id: certificate_authority_ca_owner_id
entity_address: entity_address
entity_certificate_public_key: entity_certificate_public_key
entity_code: entity_code
entity_country: entity_country
entity_name: entity_name
entity_post_code: entity_post_code
entity_town_city: entity_town_city
entity_type: entity_type
entity_web_site: entity_web_site
services: services
JSON response body fields:
certificate_authority_ca_owner_id: certificate_authority_ca_owner_id
entities: entities
entity_address: entity_address
entity_certificate_public_key: entity_certificate_public_key
entity_code: entity_code
entity_country: entity_country
entity_id: entity_id
entity_name: entity_name
entity_post_code: entity_post_code
entity_town_city: entity_town_city
entity_type: entity_type
entity_web_site: entity_web_site
services: services
{
"entities":[{
"entity_id":"0af807d7-3c39-43ef-9712-82bcfde1b9ca",
"certificate_authority_ca_owner_id":"CY_CBC",
"entity_certificate_public_key":"-----BEGIN CERTIFICATE-----MIICsjCCAZqgAwIBAgIGAYwQ62R0MA0GCSqGSIb3DQEBCwUAMBoxGDAWBgNVBAMMD2FwcC5leGFtcGxlLmNvbTAeFw0yMzExMjcxMzE1MTFaFw0yNTExMjYxMzE1MTFaMBoxGDAWBgNVBAMMD2FwcC5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK9WIodZHWzKyCcf9YfWEhPURbfO6zKuMqzHN27GdqHsVVEGxP4F/J4mso+0ENcRr6ur4u81iREaVdCc40rHDHVJNEtniD8Icbz7tcsqAewIVhc/q6WXGqImJpCq7hA0m247dDsaZT0lb/MVBiMoJxDEmAE/GYYnWTEn84R35WhJsMvuQ7QmLvNg6RkChY6POCT/YKe9NKwa1NqI1U+oA5RFzAaFtytvZCE3jtp+aR0brL7qaGfgxm6B7dEpGyhg0NcVCV7xMQNq2JxZTVdAr6lcsRGaAFulakmW3aNnmK+L35Wu8uW+OxNxwUuC6f3b4FVBa276FMuUTRfu7gc+k6kCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAAU5CjEyAoyTn7PgFpQD48ZNPuUsEQ19gzYgJvHMzFIoZ7jKBodjO5mCzWBcR7A4mpeAsdyiNBl2sTiZscSnNqxk61jVzP5Ba1D7XtOjjr7+3iqowrThj6BY40QqhYh/6BSY9fDzVZQiHnvlo6ZUM5kUK6OavZOovKlp5DIl5sGqoP0qAJnpQ4nhB2WVVsKfPlOXc+2KSsbJ23g9l8zaTMr+X0umlvfEKqyEl1Fa2L1dO0y/KFQ+ILmxcZLpRdq1hRAjd0quq9qGC8ucXhRWDgM4hslVpau0da68g0aItWNez3mc5lB82b3dcZpFMzO41bgw7gvw10AvvTfQDqEYIuQ==-----END CERTIFICATE-----",
"entity_name":"EXAMPLE COMPANY LTD",
"entity_code":"PSD_PICY_CBC!12345",
"entity_type":"PSD_PI",
"entity_address":"EXAMPLE COMPANY LTD, 5 SOME STREET",
"entity_town_city":"SOME CITY",
"entity_post_code":"1060",
"entity_country":"CY",
"entity_web_site":"www.example.com",
"services":[{
"CY":["PS_010","PS_020","PS_03C","PS_04C"]
}]
}]
}
-
CanCreateRegulatedEntity
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Delete Regulated Entity
Delete Regulated Entity specified by REGULATED_ENTITY_ID
Authentication is Mandatory
URL Parameters:
REGULATED_ENTITY_ID: REGULATED_ENTITY_ID
JSON response body fields:
-
CanDeleteRegulatedEntity
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50200: Connector cannot return the data we requested.
- OBP-50000: Unknown Error.
Get Regulated Entities
Returns information about:
- Regulated Entities
Authentication is Optional
JSON response body fields:
certificate_authority_ca_owner_id: certificate_authority_ca_owner_id
entities: entities
entity_address: entity_address
entity_certificate_public_key: entity_certificate_public_key
entity_code: entity_code
entity_country: entity_country
entity_id: entity_id
entity_name: entity_name
entity_post_code: entity_post_code
entity_town_city: entity_town_city
entity_type: entity_type
entity_web_site: entity_web_site
services: services
{
"entities":[{
"entity_id":"0af807d7-3c39-43ef-9712-82bcfde1b9ca",
"certificate_authority_ca_owner_id":"CY_CBC",
"entity_certificate_public_key":"-----BEGIN CERTIFICATE-----MIICsjCCAZqgAwIBAgIGAYwQ62R0MA0GCSqGSIb3DQEBCwUAMBoxGDAWBgNVBAMMD2FwcC5leGFtcGxlLmNvbTAeFw0yMzExMjcxMzE1MTFaFw0yNTExMjYxMzE1MTFaMBoxGDAWBgNVBAMMD2FwcC5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK9WIodZHWzKyCcf9YfWEhPURbfO6zKuMqzHN27GdqHsVVEGxP4F/J4mso+0ENcRr6ur4u81iREaVdCc40rHDHVJNEtniD8Icbz7tcsqAewIVhc/q6WXGqImJpCq7hA0m247dDsaZT0lb/MVBiMoJxDEmAE/GYYnWTEn84R35WhJsMvuQ7QmLvNg6RkChY6POCT/YKe9NKwa1NqI1U+oA5RFzAaFtytvZCE3jtp+aR0brL7qaGfgxm6B7dEpGyhg0NcVCV7xMQNq2JxZTVdAr6lcsRGaAFulakmW3aNnmK+L35Wu8uW+OxNxwUuC6f3b4FVBa276FMuUTRfu7gc+k6kCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAAU5CjEyAoyTn7PgFpQD48ZNPuUsEQ19gzYgJvHMzFIoZ7jKBodjO5mCzWBcR7A4mpeAsdyiNBl2sTiZscSnNqxk61jVzP5Ba1D7XtOjjr7+3iqowrThj6BY40QqhYh/6BSY9fDzVZQiHnvlo6ZUM5kUK6OavZOovKlp5DIl5sGqoP0qAJnpQ4nhB2WVVsKfPlOXc+2KSsbJ23g9l8zaTMr+X0umlvfEKqyEl1Fa2L1dO0y/KFQ+ILmxcZLpRdq1hRAjd0quq9qGC8ucXhRWDgM4hslVpau0da68g0aItWNez3mc5lB82b3dcZpFMzO41bgw7gvw10AvvTfQDqEYIuQ==-----END CERTIFICATE-----",
"entity_name":"EXAMPLE COMPANY LTD",
"entity_code":"PSD_PICY_CBC!12345",
"entity_type":"PSD_PI",
"entity_address":"EXAMPLE COMPANY LTD, 5 SOME STREET",
"entity_town_city":"SOME CITY",
"entity_post_code":"1060",
"entity_country":"CY",
"entity_web_site":"www.example.com",
"services":[{
"CY":["PS_010","PS_020","PS_03C","PS_04C"]
}]
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
Get Regulated Entity
Get Regulated Entity By REGULATED_ENTITY_ID
Authentication is Optional
URL Parameters:
REGULATED_ENTITY_ID: REGULATED_ENTITY_ID
JSON response body fields:
certificate_authority_ca_owner_id: certificate_authority_ca_owner_id
entities: entities
entity_address: entity_address
entity_certificate_public_key: entity_certificate_public_key
entity_code: entity_code
entity_country: entity_country
entity_id: entity_id
entity_name: entity_name
entity_post_code: entity_post_code
entity_town_city: entity_town_city
entity_type: entity_type
entity_web_site: entity_web_site
services: services
{
"entities":[{
"entity_id":"0af807d7-3c39-43ef-9712-82bcfde1b9ca",
"certificate_authority_ca_owner_id":"CY_CBC",
"entity_certificate_public_key":"-----BEGIN CERTIFICATE-----MIICsjCCAZqgAwIBAgIGAYwQ62R0MA0GCSqGSIb3DQEBCwUAMBoxGDAWBgNVBAMMD2FwcC5leGFtcGxlLmNvbTAeFw0yMzExMjcxMzE1MTFaFw0yNTExMjYxMzE1MTFaMBoxGDAWBgNVBAMMD2FwcC5leGFtcGxlLmNvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAK9WIodZHWzKyCcf9YfWEhPURbfO6zKuMqzHN27GdqHsVVEGxP4F/J4mso+0ENcRr6ur4u81iREaVdCc40rHDHVJNEtniD8Icbz7tcsqAewIVhc/q6WXGqImJpCq7hA0m247dDsaZT0lb/MVBiMoJxDEmAE/GYYnWTEn84R35WhJsMvuQ7QmLvNg6RkChY6POCT/YKe9NKwa1NqI1U+oA5RFzAaFtytvZCE3jtp+aR0brL7qaGfgxm6B7dEpGyhg0NcVCV7xMQNq2JxZTVdAr6lcsRGaAFulakmW3aNnmK+L35Wu8uW+OxNxwUuC6f3b4FVBa276FMuUTRfu7gc+k6kCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAAU5CjEyAoyTn7PgFpQD48ZNPuUsEQ19gzYgJvHMzFIoZ7jKBodjO5mCzWBcR7A4mpeAsdyiNBl2sTiZscSnNqxk61jVzP5Ba1D7XtOjjr7+3iqowrThj6BY40QqhYh/6BSY9fDzVZQiHnvlo6ZUM5kUK6OavZOovKlp5DIl5sGqoP0qAJnpQ4nhB2WVVsKfPlOXc+2KSsbJ23g9l8zaTMr+X0umlvfEKqyEl1Fa2L1dO0y/KFQ+ILmxcZLpRdq1hRAjd0quq9qGC8ucXhRWDgM4hslVpau0da68g0aItWNez3mc5lB82b3dcZpFMzO41bgw7gvw10AvvTfQDqEYIuQ==-----END CERTIFICATE-----",
"entity_name":"EXAMPLE COMPANY LTD",
"entity_code":"PSD_PICY_CBC!12345",
"entity_type":"PSD_PI",
"entity_address":"EXAMPLE COMPANY LTD, 5 SOME STREET",
"entity_town_city":"SOME CITY",
"entity_post_code":"1060",
"entity_country":"CY",
"entity_web_site":"www.example.com",
"services":[{
"CY":["PS_010","PS_020","PS_03C","PS_04C"]
}]
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
Get Bank Level Dynamic Resource Docs
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://api-explorer.ttk.com.mk/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp
https://api-explorer.ttk.com.mk/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?tags=Account,Bank
https://api-explorer.ttk.com.mk/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://api-explorer.ttk.com.mk/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?locale=es_ES
https://api-explorer.ttk.com.mk/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://api-explorer.ttk.com.mk/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221
- operation_id is concatenation of "v", version and function and should be unique (used for DOM element IDs etc. maybe used to link to source code)
- version references the version that the API call is defined in.
- function is the (scala) partial function that implements this endpoint. It is unique per version of the API.
- request_url is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the implemented version (the version where this endpoint was defined) e.g. /obp/v1.2.0/resource
- specified_url (recommended to use) is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the version specified in the call e.g. /obp/v3.1.0/resource. In OBP, endpoints are first made available at the request_url, but the same resource (function call) is often made available under later versions (specified_url). To access the latest version of all endpoints use the latest version available on your OBP instance e.g. /obp/v3.1.0 - To get the original version use the request_url. We recommend to use the specified_url since non semantic improvements are more likely to be applied to later implementations of the call.
- summary is a short description inline with the swagger terminology.
- description may contain html markup (generated from markdown on the server).
Authentication is Mandatory
URL Parameters:
BANK_ID: gh.29.uk
JSON response body fields:
connector_methods: connector_methods
description: This an optional field. Maximum length is 2000. It can be any characters here.
description_markdown: description_markdown
error_response_bodies: 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.
example_request_body: {"name": "Jhon", "age": 12, "hobby": ["coding"],"optional_fields": ["hobby"]}
function: function
implemented_by: implemented_by
is_featured: false
operation_id: OBPv4.0.0-getBanks
request_url: /my_user/MY_USER_ID
request_verb: POST
resource_docs: resource_docs
role:
success_response_body: {"my_user_id": "some_id_value", "name": "Jhon", "age": 12, "hobby": ["coding"],"optional_fields": ["hobby"]}
tags: Create-My-User
typed_request_body: typed_request_body
typed_success_response_body: typed_success_response_body
created_by_bank_id: created_by_bank_id
meta:
roles: CanCreateMyUser
{
"resource_docs":[{
"operation_id":"OBPv1.4.0-testResourceDoc",
"implemented_by":{
"version":"OBPv1.4.0",
"function":"testResourceDoc"
},
"request_verb":"GET",
"request_url":"/dummy",
"summary":"Test Resource Doc",
"description":"<p>I am only a test Resource Doc</p>\n<p>Authentication is Mandatory</p>\n<p><strong>JSON response body fields:</strong></p>\n",
"description_markdown":"I am only a test Resource Doc\n\nAuthentication is Mandatory\n\n\n**JSON response body fields:**\n\n\n",
"example_request_body":{
"jsonString":"{}"
},
"success_response_body":{
"jsonString":"{}"
},
"error_response_bodies":["OBP-50000: Unknown Error.","OBP-20001: User not logged in. Authentication is required!","OBP-20006: User is missing one or more roles: "],
"tags":["Documentation"],
"typed_request_body":{
"type":"object",
"properties":{
"jsonString":{
"type":"string"
}
}
},
"typed_success_response_body":{
"type":"object",
"properties":{
"jsonString":{
"type":"string"
}
}
},
"roles":[{
"role":"CanGetCustomers",
"requires_bank_id":true
}],
"is_featured":false,
"special_instructions":"",
"specified_url":"",
"connector_methods":[]
}]
}
-
CanReadDynamicResourceDocsAtOneBank
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
Get Message Docs
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
URL Parameters:
CONNECTOR: CONNECTOR
JSON response body fields:
description: This an optional field. Maximum length is 2000. It can be any characters here.
name: ACCOUNT_MANAGEMENT_FEE
process: obp.getBank
requiredFieldInfo: false
{
"message_docs":[{
"process":"getAccounts",
"message_format":"KafkaV2017",
"outbound_topic":"to.obp.api.1.caseclass.OutboundGetAccounts",
"inbound_topic":"from.obp.api.1.to.adapter.mf.caseclass.OutboundGetAccounts",
"description":"get Banks",
"example_outbound_message":{
"jsonString":"{}"
},
"example_inbound_message":{
"jsonString":"{}"
},
"outboundAvroSchema":{
"jsonString":"{}"
},
"inboundAvroSchema":{
"jsonString":"{}"
},
"adapter_implementation":{
"group":"CORE",
"suggested_order":3
},
"dependent_endpoints":[{
"name":"getAccounts",
"version":"OBPv3.0.0"
},{
"name":"getBalances",
"version":"OBPv2.0.0"
}],
"requiredFieldInfo":{
"data.bankId":["v2.2.0","v3.1.0"]
}
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30211: Invalid Connector. Please specify a valid value for CONNECTOR.
- OBP-50000: Unknown Error.
Get Message Docs Swagger
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
URL Parameters:
CONNECTOR: CONNECTOR
JSON response body fields:
description: This an optional field. Maximum length is 2000. It can be any characters here.
name: ACCOUNT_MANAGEMENT_FEE
process: obp.getBank
requiredFieldInfo: false
{
"message_docs":[{
"process":"getAccounts",
"message_format":"KafkaV2017",
"outbound_topic":"to.obp.api.1.caseclass.OutboundGetAccounts",
"inbound_topic":"from.obp.api.1.to.adapter.mf.caseclass.OutboundGetAccounts",
"description":"get Banks",
"example_outbound_message":{
"jsonString":"{}"
},
"example_inbound_message":{
"jsonString":"{}"
},
"outboundAvroSchema":{
"jsonString":"{}"
},
"inboundAvroSchema":{
"jsonString":"{}"
},
"adapter_implementation":{
"group":"CORE",
"suggested_order":3
},
"dependent_endpoints":[{
"name":"getAccounts",
"version":"OBPv3.0.0"
},{
"name":"getBalances",
"version":"OBPv2.0.0"
}],
"requiredFieldInfo":{
"data.bankId":["v2.2.0","v3.1.0"]
}
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
Get Resource Docs
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://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?tags=Account,Bank
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?locale=es_ES
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221
- operation_id is concatenation of "v", version and function and should be unique (used for DOM element IDs etc. maybe used to link to source code)
- version references the version that the API call is defined in.
- function is the (scala) partial function that implements this endpoint. It is unique per version of the API.
- request_url is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the implemented version (the version where this endpoint was defined) e.g. /obp/v1.2.0/resource
- specified_url (recommended to use) is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the version specified in the call e.g. /obp/v3.1.0/resource. In OBP, endpoints are first made available at the request_url, but the same resource (function call) is often made available under later versions (specified_url). To access the latest version of all endpoints use the latest version available on your OBP instance e.g. /obp/v3.1.0 - To get the original version use the request_url. We recommend to use the specified_url since non semantic improvements are more likely to be applied to later implementations of the call.
- summary is a short description inline with the swagger terminology.
- description may contain html markup (generated from markdown on the server).
Authentication is Mandatory
URL Parameters:
JSON response body fields:
connector_methods: connector_methods
description: This an optional field. Maximum length is 2000. It can be any characters here.
description_markdown: description_markdown
error_response_bodies: 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.
example_request_body: {"name": "Jhon", "age": 12, "hobby": ["coding"],"optional_fields": ["hobby"]}
function: function
implemented_by: implemented_by
is_featured: false
operation_id: OBPv4.0.0-getBanks
request_url: /my_user/MY_USER_ID
request_verb: POST
resource_docs: resource_docs
role:
success_response_body: {"my_user_id": "some_id_value", "name": "Jhon", "age": 12, "hobby": ["coding"],"optional_fields": ["hobby"]}
tags: Create-My-User
typed_request_body: typed_request_body
typed_success_response_body: typed_success_response_body
created_by_bank_id: created_by_bank_id
meta:
roles: CanCreateMyUser
{
"resource_docs":[{
"operation_id":"OBPv1.4.0-testResourceDoc",
"implemented_by":{
"version":"OBPv1.4.0",
"function":"testResourceDoc"
},
"request_verb":"GET",
"request_url":"/dummy",
"summary":"Test Resource Doc",
"description":"<p>I am only a test Resource Doc</p>\n<p>Authentication is Mandatory</p>\n<p><strong>JSON response body fields:</strong></p>\n",
"description_markdown":"I am only a test Resource Doc\n\nAuthentication is Mandatory\n\n\n**JSON response body fields:**\n\n\n",
"example_request_body":{
"jsonString":"{}"
},
"success_response_body":{
"jsonString":"{}"
},
"error_response_bodies":["OBP-50000: Unknown Error.","OBP-20001: User not logged in. Authentication is required!","OBP-20006: User is missing one or more roles: "],
"tags":["Documentation"],
"typed_request_body":{
"type":"object",
"properties":{
"jsonString":{
"type":"string"
}
}
},
"typed_success_response_body":{
"type":"object",
"properties":{
"jsonString":{
"type":"string"
}
}
},
"roles":[{
"role":"CanGetCustomers",
"requires_bank_id":true
}],
"is_featured":false,
"special_instructions":"",
"specified_url":"",
"connector_methods":[]
}]
}
-
CanReadResourceDoc
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
Get Resource Docs
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://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?tags=Account,Bank
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?locale=es_ES
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://api-explorer.ttk.com.mk/obp/v4.0.0/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221
- operation_id is concatenation of "v", version and function and should be unique (used for DOM element IDs etc. maybe used to link to source code)
- version references the version that the API call is defined in.
- function is the (scala) partial function that implements this endpoint. It is unique per version of the API.
- request_url is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the implemented version (the version where this endpoint was defined) e.g. /obp/v1.2.0/resource
- specified_url (recommended to use) is empty for the root call, else the path. It contains the standard prefix (e.g. /obp) and the version specified in the call e.g. /obp/v3.1.0/resource. In OBP, endpoints are first made available at the request_url, but the same resource (function call) is often made available under later versions (specified_url). To access the latest version of all endpoints use the latest version available on your OBP instance e.g. /obp/v3.1.0 - To get the original version use the request_url. We recommend to use the specified_url since non semantic improvements are more likely to be applied to later implementations of the call.
- summary is a short description inline with the swagger terminology.
- description may contain html markup (generated from markdown on the server).
Authentication is Mandatory
URL Parameters:
JSON response body fields:
connector_methods: connector_methods
description: This an optional field. Maximum length is 2000. It can be any characters here.
description_markdown: description_markdown
error_response_bodies: 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.
example_request_body: {"name": "Jhon", "age": 12, "hobby": ["coding"],"optional_fields": ["hobby"]}
function: function
implemented_by: implemented_by
is_featured: false
operation_id: OBPv4.0.0-getBanks
request_url: /my_user/MY_USER_ID
request_verb: POST
resource_docs: resource_docs
response_date: response_date
role:
success_response_body: {"my_user_id": "some_id_value", "name": "Jhon", "age": 12, "hobby": ["coding"],"optional_fields": ["hobby"]}
tags: Create-My-User
typed_request_body: typed_request_body
typed_success_response_body: typed_success_response_body
created_by_bank_id: created_by_bank_id
meta:
roles: CanCreateMyUser
{
"resource_docs":[{
"operation_id":"OBPv1.4.0-testResourceDoc",
"implemented_by":{
"version":"OBPv1.4.0",
"function":"testResourceDoc"
},
"request_verb":"GET",
"request_url":"/dummy",
"summary":"Test Resource Doc",
"description":"<p>I am only a test Resource Doc</p>\n<p>Authentication is Mandatory</p>\n<p><strong>JSON response body fields:</strong></p>\n",
"description_markdown":"I am only a test Resource Doc\n\nAuthentication is Mandatory\n\n\n**JSON response body fields:**\n\n\n",
"example_request_body":{
"jsonString":"{}"
},
"success_response_body":{
"jsonString":"{}"
},
"error_response_bodies":["OBP-50000: Unknown Error.","OBP-20001: User not logged in. Authentication is required!","OBP-20006: User is missing one or more roles: "],
"tags":["Documentation"],
"typed_request_body":{
"type":"object",
"properties":{
"jsonString":{
"type":"string"
}
}
},
"typed_success_response_body":{
"type":"object",
"properties":{
"jsonString":{
"type":"string"
}
}
},
"roles":[{
"role":"CanGetCustomers",
"requires_bank_id":true
}],
"is_featured":false,
"special_instructions":"",
"specified_url":"",
"connector_methods":[]
}],
"meta":{
"response_date":"2024-08-07T11:19:07Z",
"count":1
}
}
-
CanReadResourceDoc
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
Get Swagger documentation
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://api-explorer.ttk.com.mk/obp/v3.1.0/resource-docs/v3.1.0/swagger
https://api-explorer.ttk.com.mk/obp/v3.1.0/resource-docs/v3.1.0/swagger?tags=Account,Bank
https://api-explorer.ttk.com.mk/obp/v3.1.0/resource-docs/v3.1.0/swagger?functions=getBanks,bankById
https://api-explorer.ttk.com.mk/obp/v3.1.0/resource-docs/v3.1.0/swagger?tags=Account,Bank,PSD2&functions=getBanks,bankById
Authentication is Optional
URL Parameters:
JSON response body fields:
{
"jsonString":"{}"
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
Get scanned API Versions
Get all the scanned API Versions.
Authentication is Optional
JSON response body fields:
{
"scanned_api_versions":[{
"urlPrefix":"obp",
"apiStandard":"obp",
"apiShortVersion":"v3.1.0",
"API_VERSION":"v3.1.0"
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-50000: Unknown Error.
Delete Bank Level Dynamic Endpoint
Delete a Bank Level DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.
Authentication is Mandatory
-
CanDeleteBankLevelDynamicEndpoint
- Please login to request this Role
-
CanDeleteDynamicEndpoint
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-09009: DynamicEndpoint not found. Please specify a valid value for DYNAMIC_ENDPOINT_ID.
- OBP-50000: Unknown Error.
- OBP-20006: User is missing one or more roles:
Delete Dynamic Endpoint
Delete a DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.
Authentication is Mandatory
-
CanDeleteDynamicEndpoint
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-09009: DynamicEndpoint not found. Please specify a valid value for DYNAMIC_ENDPOINT_ID.
- OBP-50000: Unknown Error.
- OBP-20006: User is missing one or more roles:
Get Bank Level Dynamic Endpoint
Get a Bank Level Dynamic Endpoint.
Authentication is Mandatory
{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"title":"Bank Accounts (Dynamic Endpoint)",
"version":"1.0.0"
},
"definitions":{
"AccountName":{
"type":"object",
"properties":{
"name":{
"type":"string",
"example":"family account"
},
"balance":{
"type":"integer",
"format":"int64",
"example":1000.123
}
}
}
},
"paths":{
"/accounts":{
"post":{
"operationId":"POST_account",
"produces":["application/json"],
"responses":{
"201":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"POST Accounts",
"summary":"POST Accounts"
}
},
"/accounts/{account_id}":{
"get":{
"operationId":"GET_account",
"produces":["application/json"],
"responses":{
"200":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"Get Bank Account",
"summary":"Get Bank Account by Id"
}
}
},
"host":"obp_mock",
"schemes":["http","https"]
}
}
-
CanGetBankLevelDynamicEndpoint
- Please login to request this Role
-
CanGetDynamicEndpoint
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-09009: DynamicEndpoint not found. Please specify a valid value for DYNAMIC_ENDPOINT_ID.
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Get Dynamic Endpoints
Get Dynamic Endpoints.
Authentication is Mandatory
{
"dynamic_endpoints":[{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"title":"Bank Accounts (Dynamic Endpoint)",
"version":"1.0.0"
},
"definitions":{
"AccountName":{
"type":"object",
"properties":{
"name":{
"type":"string",
"example":"family account"
},
"balance":{
"type":"integer",
"format":"int64",
"example":1000.123
}
}
}
},
"paths":{
"/accounts":{
"post":{
"operationId":"POST_account",
"produces":["application/json"],
"responses":{
"201":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"POST Accounts",
"summary":"POST Accounts"
}
},
"/accounts/{account_id}":{
"get":{
"operationId":"GET_account",
"produces":["application/json"],
"responses":{
"200":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"Get Bank Account",
"summary":"Get Bank Account by Id"
}
}
},
"host":"obp_mock",
"schemes":["http","https"]
}
}]
}
-
CanGetDynamicEndpoints
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Update Bank Level Dynamic Endpoint Host
Update Bank Level dynamic endpoint Host.
The value can be obp_mock, dynamic_entity, or some service url.
Authentication is Mandatory
{
"host":"dynamic_entity"
}
-
CanUpdateBankLevelDynamicEndpoint
- Please login to request this Role
-
CanUpdateDynamicEndpoint
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-09001: DynamicEntity not found. Please specify a valid value for DYNAMIC_ENTITY_ID.
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Update Dynamic Endpoint Host
Update dynamic endpoint Host.
The value can be obp_mock, dynamic_entity, or some service url.
Authentication is Mandatory
{
"host":"dynamic_entity"
}
-
CanUpdateDynamicEndpoint
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-09001: DynamicEntity not found. Please specify a valid value for DYNAMIC_ENTITY_ID.
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Create Bank Level Dynamic Endpoint
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
{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"title":"Bank Accounts (Dynamic Endpoint)",
"version":"1.0.0"
},
"definitions":{
"AccountName":{
"type":"object",
"properties":{
"name":{
"type":"string",
"example":"family account"
},
"balance":{
"type":"integer",
"format":"int64",
"example":1000.123
}
}
}
},
"paths":{
"/accounts":{
"post":{
"operationId":"POST_account",
"produces":["application/json"],
"responses":{
"201":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"POST Accounts",
"summary":"POST Accounts"
}
},
"/accounts/{account_id}":{
"get":{
"operationId":"GET_account",
"produces":["application/json"],
"responses":{
"200":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"Get Bank Account",
"summary":"Get Bank Account by Id"
}
}
},
"host":"obp_mock",
"schemes":["http","https"]
}
}
-
CanCreateBankLevelDynamicEndpoint
- Please login to request this Role
-
CanCreateDynamicEndpoint
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-09008: DynamicEndpoint already exists.
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Create Dynamic Endpoint
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
{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"title":"Bank Accounts (Dynamic Endpoint)",
"version":"1.0.0"
},
"definitions":{
"AccountName":{
"type":"object",
"properties":{
"name":{
"type":"string",
"example":"family account"
},
"balance":{
"type":"integer",
"format":"int64",
"example":1000.123
}
}
}
},
"paths":{
"/accounts":{
"post":{
"operationId":"POST_account",
"produces":["application/json"],
"responses":{
"201":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"POST Accounts",
"summary":"POST Accounts"
}
},
"/accounts/{account_id}":{
"get":{
"operationId":"GET_account",
"produces":["application/json"],
"responses":{
"200":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"Get Bank Account",
"summary":"Get Bank Account by Id"
}
}
},
"host":"obp_mock",
"schemes":["http","https"]
}
}
-
CanCreateDynamicEndpoint
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-09008: DynamicEndpoint already exists.
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Delete My Dynamic Endpoint
Delete a DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.
Authentication is Mandatory
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-09009: DynamicEndpoint not found. Please specify a valid value for DYNAMIC_ENDPOINT_ID.
- OBP-50000: Unknown Error.
Get Bank Level Dynamic Endpoints
Get Bank Level Dynamic Endpoints.
Authentication is Mandatory
{
"dynamic_endpoints":[{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"title":"Bank Accounts (Dynamic Endpoint)",
"version":"1.0.0"
},
"definitions":{
"AccountName":{
"type":"object",
"properties":{
"name":{
"type":"string",
"example":"family account"
},
"balance":{
"type":"integer",
"format":"int64",
"example":1000.123
}
}
}
},
"paths":{
"/accounts":{
"post":{
"operationId":"POST_account",
"produces":["application/json"],
"responses":{
"201":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"POST Accounts",
"summary":"POST Accounts"
}
},
"/accounts/{account_id}":{
"get":{
"operationId":"GET_account",
"produces":["application/json"],
"responses":{
"200":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"Get Bank Account",
"summary":"Get Bank Account by Id"
}
}
},
"host":"obp_mock",
"schemes":["http","https"]
}
}]
}
-
CanGetBankLevelDynamicEndpoints
- Please login to request this Role
-
CanGetDynamicEndpoints
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Get Dynamic Endpoint
Get a Dynamic Endpoint.
Get one DynamicEndpoint,
Authentication is Mandatory
{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"title":"Bank Accounts (Dynamic Endpoint)",
"version":"1.0.0"
},
"definitions":{
"AccountName":{
"type":"object",
"properties":{
"name":{
"type":"string",
"example":"family account"
},
"balance":{
"type":"integer",
"format":"int64",
"example":1000.123
}
}
}
},
"paths":{
"/accounts":{
"post":{
"operationId":"POST_account",
"produces":["application/json"],
"responses":{
"201":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"POST Accounts",
"summary":"POST Accounts"
}
},
"/accounts/{account_id}":{
"get":{
"operationId":"GET_account",
"produces":["application/json"],
"responses":{
"200":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"Get Bank Account",
"summary":"Get Bank Account by Id"
}
}
},
"host":"obp_mock",
"schemes":["http","https"]
}
}
-
CanGetDynamicEndpoint
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-09009: DynamicEndpoint not found. Please specify a valid value for DYNAMIC_ENDPOINT_ID.
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Get My Dynamic Endpoints
Get My Dynamic Endpoints.
Authentication is Mandatory
{
"dynamic_endpoints":[{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"dynamic_endpoint_id":"dynamic-endpoint-id",
"swagger_string":{
"swagger":"2.0",
"info":{
"title":"Bank Accounts (Dynamic Endpoint)",
"version":"1.0.0"
},
"definitions":{
"AccountName":{
"type":"object",
"properties":{
"name":{
"type":"string",
"example":"family account"
},
"balance":{
"type":"integer",
"format":"int64",
"example":1000.123
}
}
}
},
"paths":{
"/accounts":{
"post":{
"operationId":"POST_account",
"produces":["application/json"],
"responses":{
"201":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"POST Accounts",
"summary":"POST Accounts"
}
},
"/accounts/{account_id}":{
"get":{
"operationId":"GET_account",
"produces":["application/json"],
"responses":{
"200":{
"description":"Success Response",
"schema":{
"$ref":"#/definitions/AccountName"
}
}
},
"consumes":["application/json"],
"description":"Get Bank Account",
"summary":"Get Bank Account by Id"
}
}
},
"host":"obp_mock",
"schemes":["http","https"]
}
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Create Bank Level Dynamic Entity
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:TESTING",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField1": {
"type": "reference:creditApplicationForm",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField2": {
"type": "reference:Bank",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField3": {
"type": "reference:Consumer",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField4": {
"type": "reference:Customer",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField5": {
"type": "reference:MethodRouting",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField6": {
"type": "reference:DynamicEntity",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField7": {
"type": "reference:TransactionRequest",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField8": {
"type": "reference:ProductAttribute",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField9": {
"type": "reference:AccountAttribute",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField10": {
"type": "reference:TransactionAttribute",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField11": {
"type": "reference:CustomerAttribute",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField12": {
"type": "reference:AccountApplication",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField13": {
"type": "reference:CardAttribute",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField14": {
"type": "reference:Counterparty",
"example": "4318ee6f-18c0-4e4b-87c4-acf3ef01864a"
}
"someField15": {
"type": "reference:Branch:bankId&branchId",
"example": "bankId=4318ee6f-18c0-4e4b-87c4-acf3ef01864a&branchId=23d7ff0e-cf28-4c80-9c43-47ce440849e1"
}
"someField16": {
"type": "reference:Atm:bankId&atmId",
"example": "bankId=4318ee6f-18c0-4e4b-87c4-acf3ef01864a&atmId=23d7ff0e-cf28-4c80-9c43-47ce440849e1"
}
"someField17": {
"type": "reference:BankAccount:bankId&accountId",
"example": "bankId=4318ee6f-18c0-4e4b-87c4-acf3ef01864a&accountId=23d7ff0e-cf28-4c80-9c43-47ce440849e1"
}
"someField18": {
"type": "reference:Product:bankId&productCode",
"example": "bankId=4318ee6f-18c0-4e4b-87c4-acf3ef01864a&productCode=23d7ff0e-cf28-4c80-9c43-47ce440849e1"
}
"someField19": {
"type": "reference:PhysicalCard:bankId&cardId",
"example": "bankId=4318ee6f-18c0-4e4b-87c4-acf3ef01864a&cardId=23d7ff0e-cf28-4c80-9c43-47ce440849e1"
}
"someField20": {
"type": "reference:Transaction:bankId&accountId&transactionId",
"example": "bankId=4318ee6f-18c0-4e4b-87c4-acf3ef01864a&accountId=23d7ff0e-cf28-4c80-9c43-47ce440849e1&transactionId=c0b4b99e-0dae-42da-a750-5b0f65245ba2"
}
"someField21": {
"type": "reference:Counterparty:bankId&accountId&counterpartyId",
"example": "bankId=4318ee6f-18c0-4e4b-87c4-acf3ef01864a&accountId=23d7ff0e-cf28-4c80-9c43-47ce440849e1&counterpartyId=c0b4b99e-0dae-42da-a750-5b0f65245ba2"
}
Note: if you set hasPersonalEntity
= false, then OBP will not generate the CRUD my FooBar endpoints.
{
"bankId":"gh.29.uk",
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id",
"userId":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"hasPersonalEntity":true
}
-
CanCreateBankLevelDynamicEntity
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Create System Level Dynamic Entity
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:TESTING",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField1": {
"type": "reference:creditApplicationForm",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField2": {
"type": "reference:Bank",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField3": {
"type": "reference:Consumer",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField4": {
"type": "reference:Customer",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField5": {
"type": "reference:MethodRouting",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField6": {
"type": "reference:DynamicEntity",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField7": {
"type": "reference:TransactionRequest",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField8": {
"type": "reference:ProductAttribute",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField9": {
"type": "reference:AccountAttribute",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField10": {
"type": "reference:TransactionAttribute",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField11": {
"type": "reference:CustomerAttribute",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField12": {
"type": "reference:AccountApplication",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField13": {
"type": "reference:CardAttribute",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField14": {
"type": "reference:Counterparty",
"example": "3aa7317c-5bbf-42fa-b5db-20a1a7969f02"
}
"someField15": {
"type": "reference:Branch:bankId&branchId",
"example": "bankId=3aa7317c-5bbf-42fa-b5db-20a1a7969f02&branchId=c3312c39-1096-41ac-8073-ec8e11d4efd2"
}
"someField16": {
"type": "reference:Atm:bankId&atmId",
"example": "bankId=3aa7317c-5bbf-42fa-b5db-20a1a7969f02&atmId=c3312c39-1096-41ac-8073-ec8e11d4efd2"
}
"someField17": {
"type": "reference:BankAccount:bankId&accountId",
"example": "bankId=3aa7317c-5bbf-42fa-b5db-20a1a7969f02&accountId=c3312c39-1096-41ac-8073-ec8e11d4efd2"
}
"someField18": {
"type": "reference:Product:bankId&productCode",
"example": "bankId=3aa7317c-5bbf-42fa-b5db-20a1a7969f02&productCode=c3312c39-1096-41ac-8073-ec8e11d4efd2"
}
"someField19": {
"type": "reference:PhysicalCard:bankId&cardId",
"example": "bankId=3aa7317c-5bbf-42fa-b5db-20a1a7969f02&cardId=c3312c39-1096-41ac-8073-ec8e11d4efd2"
}
"someField20": {
"type": "reference:Transaction:bankId&accountId&transactionId",
"example": "bankId=3aa7317c-5bbf-42fa-b5db-20a1a7969f02&accountId=c3312c39-1096-41ac-8073-ec8e11d4efd2&transactionId=d954f437-16e7-42ca-bd6f-7af56666808e"
}
"someField21": {
"type": "reference:Counterparty:bankId&accountId&counterpartyId",
"example": "bankId=3aa7317c-5bbf-42fa-b5db-20a1a7969f02&accountId=c3312c39-1096-41ac-8073-ec8e11d4efd2&counterpartyId=d954f437-16e7-42ca-bd6f-7af56666808e"
}
Note: if you set hasPersonalEntity
= false, then OBP will not generate the CRUD my FooBar endpoints.
{
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id",
"userId":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"hasPersonalEntity":true
}
-
CanCreateSystemLevelDynamicEntity
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Delete Bank Level Dynamic Entity
Delete a Bank Level DynamicEntity specified by DYNAMIC_ENTITY_ID.
Authentication is Mandatory
-
CanDeleteBankLevelDynamicEntity
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Delete My Dynamic Entity
Delete my DynamicEntity specified by DYNAMIC_ENTITY_ID.
Authentication is Mandatory
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Delete System Level Dynamic Entity
Delete a DynamicEntity specified by DYNAMIC_ENTITY_ID.
Authentication is Mandatory
-
CanDeleteSystemLevelDynamicEntity
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get Bank Level Dynamic Entities
Get all the bank level Dynamic Entities for one bank.
Authentication is Mandatory
{
"dynamic_entities":[{
"bankId":"gh.29.uk",
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id",
"userId":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"hasPersonalEntity":true
}]
}
-
CanGetBankLevelDynamicEntities
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get My Dynamic Entities
Get all my Dynamic Entities.
Authentication is Mandatory
{
"dynamic_entities":[{
"bankId":"gh.29.uk",
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id",
"userId":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"hasPersonalEntity":true
}]
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-50000: Unknown Error.
Get System Dynamic Entities
Get all System Dynamic Entities
Authentication is Mandatory
{
"dynamic_entities":[{
"bankId":"gh.29.uk",
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id",
"userId":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"hasPersonalEntity":true
}]
}
-
CanGetSystemLevelDynamicEntities
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Update Bank Level Dynamic Entity
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:TESTING",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField1": {
"type": "reference:creditApplicationForm",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField2": {
"type": "reference:Bank",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField3": {
"type": "reference:Consumer",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField4": {
"type": "reference:Customer",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField5": {
"type": "reference:MethodRouting",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField6": {
"type": "reference:DynamicEntity",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField7": {
"type": "reference:TransactionRequest",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField8": {
"type": "reference:ProductAttribute",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField9": {
"type": "reference:AccountAttribute",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField10": {
"type": "reference:TransactionAttribute",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField11": {
"type": "reference:CustomerAttribute",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField12": {
"type": "reference:AccountApplication",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField13": {
"type": "reference:CardAttribute",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField14": {
"type": "reference:Counterparty",
"example": "101c8f1e-e14b-40ff-8ee0-e2c07014e45a"
}
"someField15": {
"type": "reference:Branch:bankId&branchId",
"example": "bankId=101c8f1e-e14b-40ff-8ee0-e2c07014e45a&branchId=46256564-7ff0-4eca-9576-70f0f9106097"
}
"someField16": {
"type": "reference:Atm:bankId&atmId",
"example": "bankId=101c8f1e-e14b-40ff-8ee0-e2c07014e45a&atmId=46256564-7ff0-4eca-9576-70f0f9106097"
}
"someField17": {
"type": "reference:BankAccount:bankId&accountId",
"example": "bankId=101c8f1e-e14b-40ff-8ee0-e2c07014e45a&accountId=46256564-7ff0-4eca-9576-70f0f9106097"
}
"someField18": {
"type": "reference:Product:bankId&productCode",
"example": "bankId=101c8f1e-e14b-40ff-8ee0-e2c07014e45a&productCode=46256564-7ff0-4eca-9576-70f0f9106097"
}
"someField19": {
"type": "reference:PhysicalCard:bankId&cardId",
"example": "bankId=101c8f1e-e14b-40ff-8ee0-e2c07014e45a&cardId=46256564-7ff0-4eca-9576-70f0f9106097"
}
"someField20": {
"type": "reference:Transaction:bankId&accountId&transactionId",
"example": "bankId=101c8f1e-e14b-40ff-8ee0-e2c07014e45a&accountId=46256564-7ff0-4eca-9576-70f0f9106097&transactionId=bfcebe3f-1447-45c2-8975-d53400611b44"
}
"someField21": {
"type": "reference:Counterparty:bankId&accountId&counterpartyId",
"example": "bankId=101c8f1e-e14b-40ff-8ee0-e2c07014e45a&accountId=46256564-7ff0-4eca-9576-70f0f9106097&counterpartyId=bfcebe3f-1447-45c2-8975-d53400611b44"
}
{
"bankId":"gh.29.uk",
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id",
"userId":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"hasPersonalEntity":true
}
-
CanUpdateBankLevelDynamicEntity
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-30001: Bank not found. Please specify a valid value for BANK_ID.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Update My Dynamic Entity
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:TESTING",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField1": {
"type": "reference:creditApplicationForm",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField2": {
"type": "reference:Bank",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField3": {
"type": "reference:Consumer",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField4": {
"type": "reference:Customer",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField5": {
"type": "reference:MethodRouting",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField6": {
"type": "reference:DynamicEntity",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField7": {
"type": "reference:TransactionRequest",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField8": {
"type": "reference:ProductAttribute",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField9": {
"type": "reference:AccountAttribute",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField10": {
"type": "reference:TransactionAttribute",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField11": {
"type": "reference:CustomerAttribute",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField12": {
"type": "reference:AccountApplication",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField13": {
"type": "reference:CardAttribute",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField14": {
"type": "reference:Counterparty",
"example": "f08bc210-28c5-45d8-be71-1045a8200c6a"
}
"someField15": {
"type": "reference:Branch:bankId&branchId",
"example": "bankId=f08bc210-28c5-45d8-be71-1045a8200c6a&branchId=638d1317-3b15-4b12-abae-9da48357f61b"
}
"someField16": {
"type": "reference:Atm:bankId&atmId",
"example": "bankId=f08bc210-28c5-45d8-be71-1045a8200c6a&atmId=638d1317-3b15-4b12-abae-9da48357f61b"
}
"someField17": {
"type": "reference:BankAccount:bankId&accountId",
"example": "bankId=f08bc210-28c5-45d8-be71-1045a8200c6a&accountId=638d1317-3b15-4b12-abae-9da48357f61b"
}
"someField18": {
"type": "reference:Product:bankId&productCode",
"example": "bankId=f08bc210-28c5-45d8-be71-1045a8200c6a&productCode=638d1317-3b15-4b12-abae-9da48357f61b"
}
"someField19": {
"type": "reference:PhysicalCard:bankId&cardId",
"example": "bankId=f08bc210-28c5-45d8-be71-1045a8200c6a&cardId=638d1317-3b15-4b12-abae-9da48357f61b"
}
"someField20": {
"type": "reference:Transaction:bankId&accountId&transactionId",
"example": "bankId=f08bc210-28c5-45d8-be71-1045a8200c6a&accountId=638d1317-3b15-4b12-abae-9da48357f61b&transactionId=1331695b-dd97-4ac7-8353-56002bf4930f"
}
"someField21": {
"type": "reference:Counterparty:bankId&accountId&counterpartyId",
"example": "bankId=f08bc210-28c5-45d8-be71-1045a8200c6a&accountId=638d1317-3b15-4b12-abae-9da48357f61b&counterpartyId=1331695b-dd97-4ac7-8353-56002bf4930f"
}
{
"bankId":"gh.29.uk",
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id",
"userId":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"hasPersonalEntity":true
}
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-10001: Incorrect json format.
- OBP-09001: DynamicEntity not found. Please specify a valid value for DYNAMIC_ENTITY_ID.
- OBP-50000: Unknown Error.
Update System Level Dynamic Entity
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:TESTING",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField1": {
"type": "reference:creditApplicationForm",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField2": {
"type": "reference:Bank",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField3": {
"type": "reference:Consumer",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField4": {
"type": "reference:Customer",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField5": {
"type": "reference:MethodRouting",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField6": {
"type": "reference:DynamicEntity",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField7": {
"type": "reference:TransactionRequest",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField8": {
"type": "reference:ProductAttribute",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField9": {
"type": "reference:AccountAttribute",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField10": {
"type": "reference:TransactionAttribute",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField11": {
"type": "reference:CustomerAttribute",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField12": {
"type": "reference:AccountApplication",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField13": {
"type": "reference:CardAttribute",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField14": {
"type": "reference:Counterparty",
"example": "07550e74-a1c6-4bbb-875d-7cbe327b265a"
}
"someField15": {
"type": "reference:Branch:bankId&branchId",
"example": "bankId=07550e74-a1c6-4bbb-875d-7cbe327b265a&branchId=154cd3fc-8545-4c9f-9a17-0091b6ee7e36"
}
"someField16": {
"type": "reference:Atm:bankId&atmId",
"example": "bankId=07550e74-a1c6-4bbb-875d-7cbe327b265a&atmId=154cd3fc-8545-4c9f-9a17-0091b6ee7e36"
}
"someField17": {
"type": "reference:BankAccount:bankId&accountId",
"example": "bankId=07550e74-a1c6-4bbb-875d-7cbe327b265a&accountId=154cd3fc-8545-4c9f-9a17-0091b6ee7e36"
}
"someField18": {
"type": "reference:Product:bankId&productCode",
"example": "bankId=07550e74-a1c6-4bbb-875d-7cbe327b265a&productCode=154cd3fc-8545-4c9f-9a17-0091b6ee7e36"
}
"someField19": {
"type": "reference:PhysicalCard:bankId&cardId",
"example": "bankId=07550e74-a1c6-4bbb-875d-7cbe327b265a&cardId=154cd3fc-8545-4c9f-9a17-0091b6ee7e36"
}
"someField20": {
"type": "reference:Transaction:bankId&accountId&transactionId",
"example": "bankId=07550e74-a1c6-4bbb-875d-7cbe327b265a&accountId=154cd3fc-8545-4c9f-9a17-0091b6ee7e36&transactionId=9a1e31d2-aff2-44c9-b7d7-1cc760546e48"
}
"someField21": {
"type": "reference:Counterparty:bankId&accountId&counterpartyId",
"example": "bankId=07550e74-a1c6-4bbb-875d-7cbe327b265a&accountId=154cd3fc-8545-4c9f-9a17-0091b6ee7e36&counterpartyId=9a1e31d2-aff2-44c9-b7d7-1cc760546e48"
}
{
"FooBar":{
"description":"description of this entity, can be markdown text.",
"required":["name"],
"properties":{
"name":{
"type":"string",
"minLength":3,
"maxLength":20,
"example":"James Brown",
"description":"description of **name** field, can be markdown text."
},
"number":{
"type":"integer",
"example":698761728,
"description":"description of **number** field, can be markdown text."
}
}
},
"dynamicEntityId":"dynamic-entity-id",
"userId":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"hasPersonalEntity":true
}
-
CanUpdateSystemLevelDynamicEntity
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-09001: DynamicEntity not found. Please specify a valid value for DYNAMIC_ENTITY_ID.
- OBP-10001: Incorrect json format.
- OBP-50000: Unknown Error.
Create MethodRouting
Create a MethodRouting.
Authentication is Mandatory
Explanation of Fields:
- method_name is required String value, current supported value: [mapped | stored_procedure_vDec2019 | rest_vMar2019]
- connector_name is required String value
- is_bank_id_exact_match is required boolean value, if bank_id_pattern is exact bank_id value, this value is true; if bank_id_pattern is null or a regex, this value is false
- bank_id_pattern is optional String value, it can be null, a exact bank_id or a regex
- parameters is optional array of key value pairs. You can set some parameters for this method
note and CAVEAT!:
- bank_id_pattern has to be empty for methods that do not take bank_id as a function parameter, otherwise might get empty result
- methods that aggregate bank objects (e.g. getBankAccountsForUser) have to take any existing method routings for these objects into consideration
- so if you create e.g. a bank specific method routing for getting an account, make sure that it is also served by endpoints getting ALL accounts for ALL banks
- if bank_id_pattern is regex, special characters need to do escape, for example: bank_id_pattern = "some-id_pattern_\d+"
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].
JSON request body fields:
key: CustomerNumber
value: 5987953
JSON response body fields:
key: CustomerNumber
value: 5987953
{
"is_bank_id_exact_match":false,
"method_name":"getBank",
"connector_name":"rest_vMar2019",
"method_routing_id":"this-method-routing-Id",
"bank_id_pattern":"some_bankId_.*",
"parameters":[{
"key":"url",
"value":"http://mydomain.com/xxx"
}]
}
-
CanCreateMethodRouting
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-10021: Incorrect Connector name.
- OBP-10022: Incorrect Connector method name.
- OBP-50000: Unknown Error.
Delete MethodRouting
Delete a MethodRouting specified by METHOD_ROUTING_ID.
Authentication is Mandatory
URL Parameters:
JSON response body fields:
-
CanDeleteMethodRouting
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get MethodRoutings
Get the all MethodRoutings.
Query url parameters:
- method_name: filter with method_name
- active: if active = true, it will show all the webui_ props. Even if they are set yet, we will return all the default webui_ props
eg:
https://api-explorer.ttk.com.mk/obp/v3.1.0/management/method_routings?active=true
https://api-explorer.ttk.com.mk/obp/v3.1.0/management/method_routings?method_name=getBank
Authentication is Mandatory
JSON response body fields:
key: CustomerNumber
value: 5987953
{
"method_routings":[{
"is_bank_id_exact_match":false,
"method_name":"getBanks",
"connector_name":"rest_vMar2019",
"method_routing_id":"method-routing-id",
"bank_id_pattern":"some_bank_.*",
"parameters":[{
"key":"url",
"value":"http://mydomain.com/xxx"
}]
}]
}
-
CanGetMethodRoutings
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Update MethodRouting
Update a MethodRouting.
Authentication is Mandatory
Explaination of Fields:
- method_name is required String value, current supported value: [mapped | stored_procedure_vDec2019 | rest_vMar2019]
- connector_name is required String value
- is_bank_id_exact_match is required boolean value, if bank_id_pattern is exact bank_id value, this value is true; if bank_id_pattern is null or a regex, this value is false
- bank_id_pattern is optional String value, it can be null, a exact bank_id or a regex
- parameters is optional array of key value pairs. You can set some paremeters for this method
note: -
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].
URL Parameters:
JSON response body fields:
key: CustomerNumber
value: 5987953
{
"is_bank_id_exact_match":true,
"method_name":"getBank",
"connector_name":"rest_vMar2019",
"method_routing_id":"this-method-routing-Id",
"bank_id_pattern":"some_bankId",
"parameters":[{
"key":"url",
"value":"http://mydomain.com/xxx"
}]
}
-
CanUpdateMethodRouting
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-10001: Incorrect json format.
- OBP-10021: Incorrect Connector name.
- OBP-10022: Incorrect Connector method name.
- OBP-50000: Unknown Error.
Get Connector Metrics
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
JSON response body fields:
correlation_id: 1flssoftxq0cr1nssr68u0mioj
date: 2020-01-27
duration: 5.123
{
"metrics":[{
"connector_name":"mapper",
"function_name":"getBanks",
"correlation_id":"12345",
"date":"1100-01-01T00:00:00Z",
"duration":1000
}]
}
-
CanGetConnectorMetrics
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-10005: Invalid Date Format. Could not convert value to a Date.
- OBP-50000: Unknown Error.
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
Get Metrics
Get API metrics rows. These are records of each REST API call.
require CanReadMetrics role
Filters Part 1.filtering (no wilde cards etc.) parameters to GET /management/metrics
You can filter by the following fields by applying url parameters
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 e.g.:from_date=1100-01-01T01:01:01.000Z Defaults to the Unix Epoch i.e. Thu Jan 01 00:00:00 UTC 1970
2 to_date e.g.:to_date=1100-01-01T01:01:01.000Z Defaults to a far future date i.e. Sat Jan 01 00:00:00 UTC 4000
Note: it is recommended you send a valid from_date (e.g. 5 seconds ago) and to_date (now + 1 second) if you want to get the latest records
Otherwise you may receive stale cached results.
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
JSON response body fields:
consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
correlation_id: 1flssoftxq0cr1nssr68u0mioj
date: 2020-01-27
duration: 5.123
implemented_by_partial_function:
response_body: response_body
source_ip: source_ip
target_ip: target_ip
url: http://www.example.com/id-docs/123/image.png
user_id: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1
user_name: felixsmith
verb:
{
"metrics":[{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"url":"www.openbankproject.com",
"date":"1100-01-01T00:00:00Z",
"user_name":"OBP",
"app_name":"SOFI",
"developer_email":"felixsmith@example.com",
"implemented_by_partial_function":"getBanks",
"implemented_in_version":"v210",
"consumer_id":"123",
"verb":"get",
"correlation_id":"v8ho6h5ivel3uq7a5zcnv0w1",
"duration":39,
"source_ip":"2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b",
"target_ip":"2001:0db8:3c4d:0015:0000:0000:1a2f:1a2b",
"response_body":{
"code":401,
"message":"OBP-20001: User not logged in. Authentication is required!"
}
}]
}
-
CanReadMetrics
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Get Metrics at Bank
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
URL Parameters:
BANK_ID: gh.29.uk
JSON response body fields:
consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh
correlation_id: 1flssoftxq0cr1nssr68u0mioj
date: 2020-01-27
duration: 5.123
implemented_by_partial_function:
url: http://www.example.com/id-docs/123/image.png
user_id: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1
user_name: felixsmith
verb:
{
"metrics":[{
"user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1",
"url":"www.openbankproject.com",
"date":"1100-01-01T00:00:00Z",
"user_name":"OBP",
"app_name":"SOFI",
"developer_email":"felixsmith@example.com",
"implemented_by_partial_function":"getBanks",
"implemented_in_version":"v210",
"consumer_id":"123",
"verb":"get",
"correlation_id":"v8ho6h5ivel3uq7a5zcnv0w1",
"duration":39
}]
}
-
CanGetMetricsAtOneBank
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.
Search API Metrics via Elasticsearch
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:
- For { use %7B
- For } use %7D
- For : use %3A
- For " use %22
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
JSON response body fields:
{
"jsonString":"{}"
}
-
CanSearchMetrics
- Please login to request this Role
- Required JSON Validation: No
- Allowed Authentication Types: Not set
- OBP-20001: User not logged in. Authentication is required!
- OBP-20006: User is missing one or more roles:
- OBP-50000: Unknown Error.