API Explorer

v5.1.0 filtered by tag: API (63 APIs)

Bank
Accounts
Views
Counterparties
Transactions

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

Typical Successful Response:

								
									
{ "bank_id":"gh.29.uk", "endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "operation_id":"OBPv4.0.0-getBanks", "tag_name":"BankAccountTag1" }
Required Roles:
  • CanCreateBankLevelEndpointTag - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by createBankLevelEndpointTag, operation_id: OBPv4.0.0-createBankLevelEndpointTag Tags: API,

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

Typical Successful Response:

								
									
{ "bank_id":"gh.29.uk", "endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "operation_id":"OBPv4.0.0-getBanks", "tag_name":"BankAccountTag1" }
Required Roles:
  • CanCreateSystemLevelEndpointTag - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by createSystemLevelEndpointTag, operation_id: OBPv4.0.0-createSystemLevelEndpointTag Tags: API,

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:

Typical Successful Response:

								
									
true
Required Roles:
  • CanDeleteBankLevelEndpointTag - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteBankLevelEndpointTag, operation_id: OBPv4.0.0-deleteBankLevelEndpointTag Tags: API,

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:

Typical Successful Response:

								
									
true
Required Roles:
  • CanDeleteSystemLevelEndpointTag - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteSystemLevelEndpointTag, operation_id: OBPv4.0.0-deleteSystemLevelEndpointTag Tags: API,

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:

cache:

elastic_search:

function_name:

log_level:

metrics:

ports:

property:

require_scopes_for_all_roles:

require_scopes_for_listed_roles: true

scopes:

ttl_in_seconds:

value: 5987953

warehouse:

remote_data_secret_matched:

Typical Successful Response:

								
									
{ "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"] } }
Required Roles:
  • CanGetConfig - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by config, operation_id: OBPv3.1.0-config Tags: API,

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

email: felixsmith@example.com

energy_source:

git_commit: 59623811dd8a41f6ffe67be46954eee11913dc28

hosted_at:

hosted_by:

hostname: hostname

local_identity_provider: local_identity_provider

organisation:

organisation_website:

phone:

resource_docs_requires_role: resource_docs_requires_role

version:

version_status:

Typical Successful Response:

								
									
{ "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 }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
  • no connector set
Connector Methods:
Version: OBPv5.1.0, function_name: by root, operation_id: OBPv5.1.0-root Tags: API,

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

source:

status:

text:

total_duration: total_duration

version:

duration: 5.123

Typical Successful Response:

								
									
{ "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" }] }
Required Roles:
  • CanGetAdapterInfo - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.0.0, function_name: by getAdapterInfo, operation_id: OBPv5.0.0-getAdapterInfo Tags: API,

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

version:

Typical Successful Response:

								
									
{ "name":"String", "version":"String", "git_commit":"String", "date":"2013-01-21T23:08:00Z" }
Required Roles:
  • CanGetAdapterInfoAtOneBank - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.0.0, function_name: by getAdapterInfoForBank, operation_id: OBPv3.0.0-getAdapterInfoForBank Tags: API,

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

Typical Successful Response:

								
									
[{ "bank_id":"gh.29.uk", "endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "operation_id":"OBPv4.0.0-getBanks", "tag_name":"BankAccountTag1" }]
Required Roles:
  • CanGetBankLevelEndpointTag - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by getBankLevelEndpointTags, operation_id: OBPv4.0.0-getBankLevelEndpointTags Tags: API,

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:

connector_version:

duration_time: 60

git_commit: 59623811dd8a41f6ffe67be46954eee11913dc28

Typical Successful Response:

								
									
{ "connector_version":"kafka_vSept2018", "git_commit":"f0acd4be14cdcb94be3433ec95c1ad65228812a0", "duration_time":"10 ms" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
  • OBP-20001: User not logged in. Authentication is required!
Connector Methods:
Version: OBPv3.1.0, function_name: by getObpConnectorLoopback, operation_id: OBPv3.1.0-getObpConnectorLoopback Tags: API,

Get JSON Web Key (JWK)

Get the server's public JSON Web Key (JWK) set and certificate chain.
It is required by client applications to validate ID tokens, self-contained access tokens and other issued objects.

Authentication is Optional

JSON response body fields:

e:

kid:

kty:

n:

use:

Typical Successful Response:

								
									
{ "kty":"RSA", "e":"AQAB", "use":"sig", "kid":"fr6-BxXH5gikFeZ2O6rGk0LUmJpukeswASN_TMW8U_s", "n":"hrB0OWqg6AeNU3WCnhheG18R5EbQtdNYGOaSeylTjkj2lZr0_vkhNVYvase-CroxO4HOT06InxTYwLnmJiyv2cZxReuoVjTlk--olGu-9MZooiFiqWez0JzndyKxQ27OiAjFsMh0P04kaUXeHKhXRfiU7K2FqBshR1UlnWe7iHLkq2p9rrGjxQc7ff0w-Uc0f-8PWg36Y2Od7s65493iVQwnI13egqMaSvgB1s8_dgm08noEjhr8C5m1aKmr5oipWEPNi-SBV2VNuiCLR1IEPuXq0tOwwZfv31t34KPO-2H2bbaWmzGJy9mMOGqoNrbXyGiUZoyeHRELaNtm1GilyQ" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by getServerJWK, operation_id: OBPv3.1.0-getServerJWK Tags: API, Account Information Service (AIS), PSD2,

Get JSON Web Key (JWK) URIs

Get the OAuth2 server's public JSON Web Key (JWK) URIs.
It is required by client applications to validate ID tokens, self-contained access tokens and other issued objects.

Authentication is Optional

JSON response body fields:

jwks_uri:

jwks_uris:

Typical Successful Response:

								
									
{ "jwks_uris":[{ "jwks_uri":"https://www.googleapis.com/oauth2/v3/certs" }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by getOAuth2ServerJWKsURIs, operation_id: OBPv3.1.0-getOAuth2ServerJWKsURIs Tags: API,

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

version:

Typical Successful Response:

								
									
{ "name":"String", "version":"String", "git_commit":"String", "date":"2013-01-21T23:08:00Z" }
Required Roles:
  • CanGetDatabaseInfo - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv4.0.0, function_name: by getMapperDatabaseInfo, operation_id: OBPv4.0.0-getMapperDatabaseInfo Tags: API,

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: true

is_active: true

service_available:

technology: technology1

Typical Successful Response:

								
									
{ "enabled":true, "technology":"REDIS", "service_available":true, "is_active":true }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
  • OBP-20001: User not logged in. Authentication is required!
Connector Methods:
Version: OBPv3.1.0, function_name: by getRateLimitingInfo, operation_id: OBPv3.1.0-getRateLimitingInfo Tags: API, Rate-Limits,

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

Typical Successful Response:

								
									
{ "timeout_in_seconds":"300" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.1.0, function_name: by suggestedSessionTimeout, operation_id: OBPv5.1.0-suggestedSessionTimeout Tags: API,

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

Typical Successful Response:

								
									
[{ "bank_id":"gh.29.uk", "endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "operation_id":"OBPv4.0.0-getBanks", "tag_name":"BankAccountTag1" }]
Required Roles:
  • CanGetSystemLevelEndpointTag - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by getSystemLevelEndpointTags, operation_id: OBPv4.0.0-getSystemLevelEndpointTags Tags: API,

Get the Call Context of a current call

Get the Call Context of the current call.

Authentication is Mandatory

JSON response body fields:

Typical Successful Response:

								
									
Required Roles:
  • CanGetCallContext - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv4.0.0, function_name: by getCallContext, operation_id: OBPv4.0.0-getCallContext Tags: API,

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

Typical Successful Response:

								
									
{ "bank_id":"gh.29.uk", "endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "operation_id":"OBPv4.0.0-getBanks", "tag_name":"BankAccountTag1" }
Required Roles:
  • CanUpdateBankLevelEndpointTag - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by updateBankLevelEndpointTag, operation_id: OBPv4.0.0-updateBankLevelEndpointTag Tags: API,

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

Typical Successful Response:

								
									
{ "bank_id":"gh.29.uk", "endpoint_tag_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "operation_id":"OBPv4.0.0-getBanks", "tag_name":"BankAccountTag1" }
Required Roles:
  • CanUpdateSystemLevelEndpointTag - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by updateSystemLevelEndpointTag, operation_id: OBPv4.0.0-updateSystemLevelEndpointTag Tags: API,

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:

Typical Successful Response:

								
									
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by verifyRequestSignResponse, operation_id: OBPv4.0.0-verifyRequestSignResponse Tags: API,

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

Typical Successful Response:

								
									
{ "sleep_in_milliseconds":50 }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
  • no connector set
Connector Methods:
Version: OBPv5.1.0, function_name: by waitingForGodot, operation_id: OBPv5.1.0-waitingForGodot Tags: API,

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

Typical Successful Response:

								
									
{ "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 Roles:
  • CanCreateRegulatedEntity - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv5.1.0, function_name: by createRegulatedEntity, operation_id: OBPv5.1.0-createRegulatedEntity Tags: Directory, API,

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:

Typical Successful Response:

								
									
Required Roles:
  • CanDeleteRegulatedEntity - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv5.1.0, function_name: by deleteRegulatedEntity, operation_id: OBPv5.1.0-deleteRegulatedEntity Tags: Directory, API,

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

Typical Successful Response:

								
									
{ "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"] }] }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.1.0, function_name: by regulatedEntities, operation_id: OBPv5.1.0-regulatedEntities Tags: Directory, API,

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

Typical Successful Response:

								
									
{ "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"] }] }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.1.0, function_name: by getRegulatedEntityById, operation_id: OBPv5.1.0-getRegulatedEntityById Tags: Directory, API,

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://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?tags=Account,Bank
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?locale=es_ES
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/banks/BANK_ID/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221

  • 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:

API_VERSION:

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

requires_bank_id:

resource_docs: resource_docs

role:

special_instructions:

specified_url:

success_response_body: {"my_user_id": "some_id_value", "name": "Jhon", "age": 12, "hobby": ["coding"],"optional_fields": ["hobby"]}

summary:

tags: Create-My-User

typed_request_body: typed_request_body

typed_success_response_body: typed_success_response_body

version:

created_by_bank_id: created_by_bank_id

meta:

roles: CanCreateMyUser

Typical Successful Response:

								
									
{ "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":[] }] }
Required Roles:
  • CanReadDynamicResourceDocsAtOneBank - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv1.4.0, function_name: by getBankLevelDynamicResourceDocsObp, operation_id: OBPv1.4.0-getBankLevelDynamicResourceDocsObp Tags: Documentation, API,

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:

adapter_implementation:

dependent_endpoints:

description: This an optional field. Maximum length is 2000. It can be any characters here.

example_inbound_message: {}

example_outbound_message: {}

group:

message_docs:

message_format:

name: ACCOUNT_MANAGEMENT_FEE

process: obp.getBank

suggested_order:

version:

inboundAvroSchema:

inbound_topic:

outboundAvroSchema:

outbound_topic:

requiredFieldInfo: false

Typical Successful Response:

								
									
{ "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"] } }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv2.2.0, function_name: by getMessageDocs, operation_id: OBPv2.2.0-getMessageDocs Tags: Documentation, API,

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:

adapter_implementation:

dependent_endpoints:

description: This an optional field. Maximum length is 2000. It can be any characters here.

example_inbound_message: {}

example_outbound_message: {}

group:

message_docs:

message_format:

name: ACCOUNT_MANAGEMENT_FEE

process: obp.getBank

suggested_order:

version:

inboundAvroSchema:

inbound_topic:

outboundAvroSchema:

outbound_topic:

requiredFieldInfo: false

Typical Successful Response:

								
									
{ "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"] } }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by getMessageDocsSwagger, operation_id: OBPv3.1.0-getMessageDocsSwagger Tags: Documentation, API,

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://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?tags=Account,Bank
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?locale=es_ES
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221

  • 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:

API_VERSION:

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

requires_bank_id:

resource_docs: resource_docs

role:

special_instructions:

specified_url:

success_response_body: {"my_user_id": "some_id_value", "name": "Jhon", "age": 12, "hobby": ["coding"],"optional_fields": ["hobby"]}

summary:

tags: Create-My-User

typed_request_body: typed_request_body

typed_success_response_body: typed_success_response_body

version:

created_by_bank_id: created_by_bank_id

meta:

roles: CanCreateMyUser

Typical Successful Response:

								
									
{ "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":[] }] }
Required Roles:
  • CanReadResourceDoc - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv1.4.0, function_name: by getResourceDocsObp, operation_id: OBPv1.4.0-getResourceDocsObp Tags: Documentation, API,

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://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?tags=Account,Bank
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?functions=getBanks,bankById
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?locale=es_ES
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?content=static,dynamic,all
https://obp-api-sandbox.nmbbank.co.tz/obp/v4.0.0/resource-docs/v4.0.0/obp?api-collection-id=4e866c86-60c3-4268-a221-cb0bbf1ad221

  • 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:

API_VERSION:

JSON response body fields:

connector_methods: connector_methods

count:

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

requires_bank_id:

resource_docs: resource_docs

response_date: response_date

role:

special_instructions:

specified_url:

success_response_body: {"my_user_id": "some_id_value", "name": "Jhon", "age": 12, "hobby": ["coding"],"optional_fields": ["hobby"]}

summary:

tags: Create-My-User

typed_request_body: typed_request_body

typed_success_response_body: typed_success_response_body

version:

created_by_bank_id: created_by_bank_id

meta:

roles: CanCreateMyUser

Typical Successful Response:

								
									
{ "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-03-18T21:00:31Z", "count":1 } }
Required Roles:
  • CanReadResourceDoc - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
Connector Methods:
Version: OBPv1.4.0, function_name: by getResourceDocsObpV400, operation_id: OBPv1.4.0-getResourceDocsObpV400 Tags: Documentation, API,

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://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/resource-docs/v3.1.0/swagger
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/resource-docs/v3.1.0/swagger?tags=Account,Bank
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/resource-docs/v3.1.0/swagger?functions=getBanks,bankById
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/resource-docs/v3.1.0/swagger?tags=Account,Bank,PSD2&functions=getBanks,bankById

Authentication is Optional

URL Parameters:

API_VERSION:

JSON response body fields:

Typical Successful Response:

								
									
{ "jsonString":"{}" }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv1.4.0, function_name: by getResourceDocsSwagger, operation_id: OBPv1.4.0-getResourceDocsSwagger Tags: Documentation, API,

Get scanned API Versions

Get all the scanned API Versions.

Authentication is Optional

JSON response body fields:

Typical Successful Response:

								
									
{ "scanned_api_versions":[{ "urlPrefix":"obp", "apiStandard":"obp", "apiShortVersion":"v3.1.0", "API_VERSION":"v3.1.0" }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by getScannedApiVersions, operation_id: OBPv4.0.0-getScannedApiVersions Tags: Documentation, API,

Delete Bank Level Dynamic Endpoint

Delete a Bank Level DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
Required Roles:
  • CanDeleteBankLevelDynamicEndpoint - Please login to request this Role
  • CanDeleteDynamicEndpoint - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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:
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteBankLevelDynamicEndpoint, operation_id: OBPv4.0.0-deleteBankLevelDynamicEndpoint Tags: Dynamic-Endpoint-Manage, API,

Delete Dynamic Endpoint

Delete a DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
Required Roles:
  • CanDeleteDynamicEndpoint - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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:
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteDynamicEndpoint, operation_id: OBPv4.0.0-deleteDynamicEndpoint Tags: Dynamic-Endpoint-Manage, API,

Get Bank Level Dynamic Endpoint

Get a Bank Level Dynamic Endpoint.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "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 Roles:
  • CanGetBankLevelDynamicEndpoint - Please login to request this Role
  • CanGetDynamicEndpoint - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by getBankLevelDynamicEndpoint, operation_id: OBPv4.0.0-getBankLevelDynamicEndpoint Tags: Dynamic-Endpoint-Manage, API,

Get Dynamic Endpoints

Get Dynamic Endpoints.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "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 Roles:
  • CanGetDynamicEndpoints - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by getDynamicEndpoints, operation_id: OBPv4.0.0-getDynamicEndpoints Tags: Dynamic-Endpoint-Manage, API,

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

Typical Successful Response:

								
									
{ "host":"dynamic_entity" }
Required Roles:
  • CanUpdateBankLevelDynamicEndpoint - Please login to request this Role
  • CanUpdateDynamicEndpoint - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by updateBankLevelDynamicEndpointHost, operation_id: OBPv4.0.0-updateBankLevelDynamicEndpointHost Tags: Dynamic-Endpoint-Manage, API,

Update Dynamic Endpoint Host

Update dynamic endpoint Host.
The value can be obp_mock, dynamic_entity, or some service url.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "host":"dynamic_entity" }
Required Roles:
  • CanUpdateDynamicEndpoint - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by updateDynamicEndpointHost, operation_id: OBPv4.0.0-updateDynamicEndpointHost Tags: Dynamic-Endpoint-Manage, API,

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

Typical Successful Response:

								
									
{ "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 Roles:
  • CanCreateBankLevelDynamicEndpoint - Please login to request this Role
  • CanCreateDynamicEndpoint - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by createBankLevelDynamicEndpoint, operation_id: OBPv4.0.0-createBankLevelDynamicEndpoint Tags: Dynamic-Endpoint-Manage, API,

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

Typical Successful Response:

								
									
{ "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 Roles:
  • CanCreateDynamicEndpoint - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by createDynamicEndpoint, operation_id: OBPv4.0.0-createDynamicEndpoint Tags: Dynamic-Endpoint-Manage, API,

Delete My Dynamic Endpoint

Delete a DynamicEndpoint specified by DYNAMIC_ENDPOINT_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteMyDynamicEndpoint, operation_id: OBPv4.0.0-deleteMyDynamicEndpoint Tags: Dynamic-Endpoint-Manage, API,

Get Bank Level Dynamic Endpoints

Get Bank Level Dynamic Endpoints.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "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 Roles:
  • CanGetBankLevelDynamicEndpoints - Please login to request this Role
  • CanGetDynamicEndpoints - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by getBankLevelDynamicEndpoints, operation_id: OBPv4.0.0-getBankLevelDynamicEndpoints Tags: Dynamic-Endpoint-Manage, API,

Get Dynamic Endpoint

Get a Dynamic Endpoint.

Get one DynamicEndpoint,

Authentication is Mandatory

Typical Successful Response:

								
									
{ "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 Roles:
  • CanGetDynamicEndpoint - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by getDynamicEndpoint, operation_id: OBPv4.0.0-getDynamicEndpoint Tags: Dynamic-Endpoint-Manage, API,

Get My Dynamic Endpoints

Get My Dynamic Endpoints.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "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"] } }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-10001: Incorrect json format.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by getMyDynamicEndpoints, operation_id: OBPv4.0.0-getMyDynamicEndpoints Tags: Dynamic-Endpoint-Manage, API,

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:Bank",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField1": {
    "type": "reference:Consumer",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField2": {
    "type": "reference:Customer",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField3": {
    "type": "reference:MethodRouting",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField4": {
    "type": "reference:DynamicEntity",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField5": {
    "type": "reference:TransactionRequest",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField6": {
    "type": "reference:ProductAttribute",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField7": {
    "type": "reference:AccountAttribute",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField8": {
    "type": "reference:TransactionAttribute",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField9": {
    "type": "reference:CustomerAttribute",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField10": {
    "type": "reference:AccountApplication",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField11": {
    "type": "reference:CardAttribute",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField12": {
    "type": "reference:Counterparty",
    "example": "07872e2f-2b38-4daf-bb27-8add19f14734"
}

"someField13": {
    "type": "reference:Branch:bankId&branchId",
    "example": "bankId=07872e2f-2b38-4daf-bb27-8add19f14734&branchId=311bf497-62d1-49a2-95a4-386e0115e93f"
}

"someField14": {
    "type": "reference:Atm:bankId&atmId",
    "example": "bankId=07872e2f-2b38-4daf-bb27-8add19f14734&atmId=311bf497-62d1-49a2-95a4-386e0115e93f"
}

"someField15": {
    "type": "reference:BankAccount:bankId&accountId",
    "example": "bankId=07872e2f-2b38-4daf-bb27-8add19f14734&accountId=311bf497-62d1-49a2-95a4-386e0115e93f"
}

"someField16": {
    "type": "reference:Product:bankId&productCode",
    "example": "bankId=07872e2f-2b38-4daf-bb27-8add19f14734&productCode=311bf497-62d1-49a2-95a4-386e0115e93f"
}

"someField17": {
    "type": "reference:PhysicalCard:bankId&cardId",
    "example": "bankId=07872e2f-2b38-4daf-bb27-8add19f14734&cardId=311bf497-62d1-49a2-95a4-386e0115e93f"
}

"someField18": {
    "type": "reference:Transaction:bankId&accountId&transactionId",
    "example": "bankId=07872e2f-2b38-4daf-bb27-8add19f14734&accountId=311bf497-62d1-49a2-95a4-386e0115e93f&transactionId=4d9baa9d-2c3b-4d84-ba6d-4d50d1844e5f"
}

"someField19": {
    "type": "reference:Counterparty:bankId&accountId&counterpartyId",
    "example": "bankId=07872e2f-2b38-4daf-bb27-8add19f14734&accountId=311bf497-62d1-49a2-95a4-386e0115e93f&counterpartyId=4d9baa9d-2c3b-4d84-ba6d-4d50d1844e5f"
}

Note: if you set hasPersonalEntity = false, then OBP will not generate the CRUD my FooBar endpoints.

Typical Successful Response:

								
									
{ "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 Roles:
  • CanCreateBankLevelDynamicEntity - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by createBankLevelDynamicEntity, operation_id: OBPv4.0.0-createBankLevelDynamicEntity Tags: Dynamic-Entity-Manage, API,

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:Bank",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField1": {
    "type": "reference:Consumer",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField2": {
    "type": "reference:Customer",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField3": {
    "type": "reference:MethodRouting",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField4": {
    "type": "reference:DynamicEntity",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField5": {
    "type": "reference:TransactionRequest",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField6": {
    "type": "reference:ProductAttribute",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField7": {
    "type": "reference:AccountAttribute",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField8": {
    "type": "reference:TransactionAttribute",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField9": {
    "type": "reference:CustomerAttribute",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField10": {
    "type": "reference:AccountApplication",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField11": {
    "type": "reference:CardAttribute",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField12": {
    "type": "reference:Counterparty",
    "example": "7b679b1d-fbc7-45a4-b264-2b9a46a419c2"
}

"someField13": {
    "type": "reference:Branch:bankId&branchId",
    "example": "bankId=7b679b1d-fbc7-45a4-b264-2b9a46a419c2&branchId=bbbe34d0-0df2-4ef8-93d0-3578fe1995e5"
}

"someField14": {
    "type": "reference:Atm:bankId&atmId",
    "example": "bankId=7b679b1d-fbc7-45a4-b264-2b9a46a419c2&atmId=bbbe34d0-0df2-4ef8-93d0-3578fe1995e5"
}

"someField15": {
    "type": "reference:BankAccount:bankId&accountId",
    "example": "bankId=7b679b1d-fbc7-45a4-b264-2b9a46a419c2&accountId=bbbe34d0-0df2-4ef8-93d0-3578fe1995e5"
}

"someField16": {
    "type": "reference:Product:bankId&productCode",
    "example": "bankId=7b679b1d-fbc7-45a4-b264-2b9a46a419c2&productCode=bbbe34d0-0df2-4ef8-93d0-3578fe1995e5"
}

"someField17": {
    "type": "reference:PhysicalCard:bankId&cardId",
    "example": "bankId=7b679b1d-fbc7-45a4-b264-2b9a46a419c2&cardId=bbbe34d0-0df2-4ef8-93d0-3578fe1995e5"
}

"someField18": {
    "type": "reference:Transaction:bankId&accountId&transactionId",
    "example": "bankId=7b679b1d-fbc7-45a4-b264-2b9a46a419c2&accountId=bbbe34d0-0df2-4ef8-93d0-3578fe1995e5&transactionId=4e69af28-f805-4fb7-88da-d60fba5cc52e"
}

"someField19": {
    "type": "reference:Counterparty:bankId&accountId&counterpartyId",
    "example": "bankId=7b679b1d-fbc7-45a4-b264-2b9a46a419c2&accountId=bbbe34d0-0df2-4ef8-93d0-3578fe1995e5&counterpartyId=4e69af28-f805-4fb7-88da-d60fba5cc52e"
}

Note: if you set hasPersonalEntity = false, then OBP will not generate the CRUD my FooBar endpoints.

Typical Successful Response:

								
									
{ "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 Roles:
  • CanCreateSystemLevelDynamicEntity - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by createSystemDynamicEntity, operation_id: OBPv4.0.0-createSystemDynamicEntity Tags: Dynamic-Entity-Manage, API,

Delete Bank Level Dynamic Entity

Delete a Bank Level DynamicEntity specified by DYNAMIC_ENTITY_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
Required Roles:
  • CanDeleteBankLevelDynamicEntity - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteBankLevelDynamicEntity, operation_id: OBPv4.0.0-deleteBankLevelDynamicEntity Tags: Dynamic-Entity-Manage, API,

Delete My Dynamic Entity

Delete my DynamicEntity specified by DYNAMIC_ENTITY_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteMyDynamicEntity, operation_id: OBPv4.0.0-deleteMyDynamicEntity Tags: Dynamic-Entity-Manage, API,

Delete System Level Dynamic Entity

Delete a DynamicEntity specified by DYNAMIC_ENTITY_ID.

Authentication is Mandatory

Typical Successful Response:

								
									
Required Roles:
  • CanDeleteSystemLevelDynamicEntity - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by deleteSystemDynamicEntity, operation_id: OBPv4.0.0-deleteSystemDynamicEntity Tags: Dynamic-Entity-Manage, API,

Get Bank Level Dynamic Entities

Get all the bank level Dynamic Entities for one bank.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "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 Roles:
  • CanGetBankLevelDynamicEntities - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by getBankLevelDynamicEntities, operation_id: OBPv4.0.0-getBankLevelDynamicEntities Tags: Dynamic-Entity-Manage, API,

Get My Dynamic Entities

Get all my Dynamic Entities.

Authentication is Mandatory

Typical Successful Response:

								
									
{ "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 }] }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by getMyDynamicEntities, operation_id: OBPv4.0.0-getMyDynamicEntities Tags: Dynamic-Entity-Manage, API,

Get System Dynamic Entities

Get all System Dynamic Entities

Authentication is Mandatory

Typical Successful Response:

								
									
{ "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 Roles:
  • CanGetSystemLevelDynamicEntities - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv4.0.0, function_name: by getSystemDynamicEntities, operation_id: OBPv4.0.0-getSystemDynamicEntities Tags: Dynamic-Entity-Manage, API,

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:Bank",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField1": {
    "type": "reference:Consumer",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField2": {
    "type": "reference:Customer",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField3": {
    "type": "reference:MethodRouting",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField4": {
    "type": "reference:DynamicEntity",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField5": {
    "type": "reference:TransactionRequest",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField6": {
    "type": "reference:ProductAttribute",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField7": {
    "type": "reference:AccountAttribute",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField8": {
    "type": "reference:TransactionAttribute",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField9": {
    "type": "reference:CustomerAttribute",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField10": {
    "type": "reference:AccountApplication",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField11": {
    "type": "reference:CardAttribute",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField12": {
    "type": "reference:Counterparty",
    "example": "e0bb237d-7837-4e1a-b140-7eb2266b47d2"
}

"someField13": {
    "type": "reference:Branch:bankId&branchId",
    "example": "bankId=e0bb237d-7837-4e1a-b140-7eb2266b47d2&branchId=44fd8bcc-eb8d-4019-8839-8ba733f68d2f"
}

"someField14": {
    "type": "reference:Atm:bankId&atmId",
    "example": "bankId=e0bb237d-7837-4e1a-b140-7eb2266b47d2&atmId=44fd8bcc-eb8d-4019-8839-8ba733f68d2f"
}

"someField15": {
    "type": "reference:BankAccount:bankId&accountId",
    "example": "bankId=e0bb237d-7837-4e1a-b140-7eb2266b47d2&accountId=44fd8bcc-eb8d-4019-8839-8ba733f68d2f"
}

"someField16": {
    "type": "reference:Product:bankId&productCode",
    "example": "bankId=e0bb237d-7837-4e1a-b140-7eb2266b47d2&productCode=44fd8bcc-eb8d-4019-8839-8ba733f68d2f"
}

"someField17": {
    "type": "reference:PhysicalCard:bankId&cardId",
    "example": "bankId=e0bb237d-7837-4e1a-b140-7eb2266b47d2&cardId=44fd8bcc-eb8d-4019-8839-8ba733f68d2f"
}

"someField18": {
    "type": "reference:Transaction:bankId&accountId&transactionId",
    "example": "bankId=e0bb237d-7837-4e1a-b140-7eb2266b47d2&accountId=44fd8bcc-eb8d-4019-8839-8ba733f68d2f&transactionId=0d878ddc-5b64-4c1a-b38a-ea9451700249"
}

"someField19": {
    "type": "reference:Counterparty:bankId&accountId&counterpartyId",
    "example": "bankId=e0bb237d-7837-4e1a-b140-7eb2266b47d2&accountId=44fd8bcc-eb8d-4019-8839-8ba733f68d2f&counterpartyId=0d878ddc-5b64-4c1a-b38a-ea9451700249"
}

Typical Successful Response:

								
									
{ "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 Roles:
  • CanUpdateBankLevelDynamicEntity - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by updateBankLevelDynamicEntity, operation_id: OBPv4.0.0-updateBankLevelDynamicEntity Tags: Dynamic-Entity-Manage, API,

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:Bank",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField1": {
    "type": "reference:Consumer",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField2": {
    "type": "reference:Customer",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField3": {
    "type": "reference:MethodRouting",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField4": {
    "type": "reference:DynamicEntity",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField5": {
    "type": "reference:TransactionRequest",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField6": {
    "type": "reference:ProductAttribute",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField7": {
    "type": "reference:AccountAttribute",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField8": {
    "type": "reference:TransactionAttribute",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField9": {
    "type": "reference:CustomerAttribute",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField10": {
    "type": "reference:AccountApplication",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField11": {
    "type": "reference:CardAttribute",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField12": {
    "type": "reference:Counterparty",
    "example": "7923b771-ac7f-437c-b764-23a6130e494b"
}

"someField13": {
    "type": "reference:Branch:bankId&branchId",
    "example": "bankId=7923b771-ac7f-437c-b764-23a6130e494b&branchId=d26d3161-c4b3-4555-8f52-a03dbe719c39"
}

"someField14": {
    "type": "reference:Atm:bankId&atmId",
    "example": "bankId=7923b771-ac7f-437c-b764-23a6130e494b&atmId=d26d3161-c4b3-4555-8f52-a03dbe719c39"
}

"someField15": {
    "type": "reference:BankAccount:bankId&accountId",
    "example": "bankId=7923b771-ac7f-437c-b764-23a6130e494b&accountId=d26d3161-c4b3-4555-8f52-a03dbe719c39"
}

"someField16": {
    "type": "reference:Product:bankId&productCode",
    "example": "bankId=7923b771-ac7f-437c-b764-23a6130e494b&productCode=d26d3161-c4b3-4555-8f52-a03dbe719c39"
}

"someField17": {
    "type": "reference:PhysicalCard:bankId&cardId",
    "example": "bankId=7923b771-ac7f-437c-b764-23a6130e494b&cardId=d26d3161-c4b3-4555-8f52-a03dbe719c39"
}

"someField18": {
    "type": "reference:Transaction:bankId&accountId&transactionId",
    "example": "bankId=7923b771-ac7f-437c-b764-23a6130e494b&accountId=d26d3161-c4b3-4555-8f52-a03dbe719c39&transactionId=610410ee-92b5-4373-8869-28e0d272d2ce"
}

"someField19": {
    "type": "reference:Counterparty:bankId&accountId&counterpartyId",
    "example": "bankId=7923b771-ac7f-437c-b764-23a6130e494b&accountId=d26d3161-c4b3-4555-8f52-a03dbe719c39&counterpartyId=610410ee-92b5-4373-8869-28e0d272d2ce"
}

Typical Successful Response:

								
									
{ "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 }
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by updateMyDynamicEntity, operation_id: OBPv4.0.0-updateMyDynamicEntity Tags: Dynamic-Entity-Manage, API,

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:Bank",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField1": {
    "type": "reference:Consumer",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField2": {
    "type": "reference:Customer",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField3": {
    "type": "reference:MethodRouting",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField4": {
    "type": "reference:DynamicEntity",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField5": {
    "type": "reference:TransactionRequest",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField6": {
    "type": "reference:ProductAttribute",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField7": {
    "type": "reference:AccountAttribute",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField8": {
    "type": "reference:TransactionAttribute",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField9": {
    "type": "reference:CustomerAttribute",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField10": {
    "type": "reference:AccountApplication",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField11": {
    "type": "reference:CardAttribute",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField12": {
    "type": "reference:Counterparty",
    "example": "989a53d3-6126-4669-9592-5ef6f6a4d884"
}

"someField13": {
    "type": "reference:Branch:bankId&branchId",
    "example": "bankId=989a53d3-6126-4669-9592-5ef6f6a4d884&branchId=810835ca-584e-48b2-8d51-12681bba4ddf"
}

"someField14": {
    "type": "reference:Atm:bankId&atmId",
    "example": "bankId=989a53d3-6126-4669-9592-5ef6f6a4d884&atmId=810835ca-584e-48b2-8d51-12681bba4ddf"
}

"someField15": {
    "type": "reference:BankAccount:bankId&accountId",
    "example": "bankId=989a53d3-6126-4669-9592-5ef6f6a4d884&accountId=810835ca-584e-48b2-8d51-12681bba4ddf"
}

"someField16": {
    "type": "reference:Product:bankId&productCode",
    "example": "bankId=989a53d3-6126-4669-9592-5ef6f6a4d884&productCode=810835ca-584e-48b2-8d51-12681bba4ddf"
}

"someField17": {
    "type": "reference:PhysicalCard:bankId&cardId",
    "example": "bankId=989a53d3-6126-4669-9592-5ef6f6a4d884&cardId=810835ca-584e-48b2-8d51-12681bba4ddf"
}

"someField18": {
    "type": "reference:Transaction:bankId&accountId&transactionId",
    "example": "bankId=989a53d3-6126-4669-9592-5ef6f6a4d884&accountId=810835ca-584e-48b2-8d51-12681bba4ddf&transactionId=5ffec5e1-6916-4770-b0c1-d8907218a0b8"
}

"someField19": {
    "type": "reference:Counterparty:bankId&accountId&counterpartyId",
    "example": "bankId=989a53d3-6126-4669-9592-5ef6f6a4d884&accountId=810835ca-584e-48b2-8d51-12681bba4ddf&counterpartyId=5ffec5e1-6916-4770-b0c1-d8907218a0b8"
}

Typical Successful Response:

								
									
{ "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 Roles:
  • CanUpdateSystemLevelDynamicEntity - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv4.0.0, function_name: by updateSystemDynamicEntity, operation_id: OBPv4.0.0-updateSystemDynamicEntity Tags: Dynamic-Entity-Manage, API,

Create MethodRouting

Create a MethodRouting.

Authentication is Mandatory

Explanation of Fields:

  • method_name is required String value, current supported value: [mapped]
  • 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:
Snipaste_outBoundMapping
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:
inBoundMapping
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

parameters:

value: 5987953

JSON response body fields:

key: CustomerNumber

parameters:

value: 5987953

Typical Successful Response:

								
									
{ "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" }] }
Required Roles:
  • CanCreateMethodRouting - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv3.1.0, function_name: by createMethodRouting, operation_id: OBPv3.1.0-createMethodRouting Tags: Method-Routing, API,

Delete MethodRouting

Delete a MethodRouting specified by METHOD_ROUTING_ID.

Authentication is Mandatory

URL Parameters:

METHOD_ROUTING_ID:

JSON response body fields:

Typical Successful Response:

								
									
Required Roles:
  • CanDeleteMethodRouting - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by deleteMethodRouting, operation_id: OBPv3.1.0-deleteMethodRouting Tags: Method-Routing, API,

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://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/management/method_routings?active=true
https://obp-api-sandbox.nmbbank.co.tz/obp/v3.1.0/management/method_routings?method_name=getBank

Authentication is Mandatory

JSON response body fields:

key: CustomerNumber

parameters:

value: 5987953

Typical Successful Response:

								
									
{ "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" }] }] }
Required Roles:
  • CanGetMethodRoutings - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by getMethodRoutings, operation_id: OBPv3.1.0-getMethodRoutings Tags: Method-Routing, API,

Update MethodRouting

Update a MethodRouting.

Authentication is Mandatory

Explaination of Fields:

  • method_name is required String value, current supported value: [mapped]
  • 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:
Snipaste_outBoundMapping
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:
inBoundMapping
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:

METHOD_ROUTING_ID:

JSON response body fields:

key: CustomerNumber

parameters:

value: 5987953

Typical Successful Response:

								
									
{ "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" }] }
Required Roles:
  • CanUpdateMethodRouting - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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.
Connector Methods:
Version: OBPv3.1.0, function_name: by updateMethodRouting, operation_id: OBPv3.1.0-updateMethodRouting Tags: Method-Routing, API,

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:

connector_name:

correlation_id: 1flssoftxq0cr1nssr68u0mioj

date: 2020-01-27

duration: 5.123

function_name:

metrics:

Typical Successful Response:

								
									
{ "metrics":[{ "connector_name":"mapper", "function_name":"getBanks", "correlation_id":"12345", "date":"1100-01-01T00:00:00Z", "duration":1000 }] }
Required Roles:
  • CanGetConnectorMetrics - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • 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:
Connector Methods:
Version: OBPv2.2.0, function_name: by getConnectorMetrics, operation_id: OBPv2.2.0-getConnectorMetrics Tags: Metric, API,

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:

app_name:

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

correlation_id: 1flssoftxq0cr1nssr68u0mioj

date: 2020-01-27

developer_email:

duration: 5.123

implemented_by_partial_function:

implemented_in_version:

metrics:

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:

Typical Successful Response:

								
									
{ "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!" } }] }
Required Roles:
  • CanReadMetrics - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.1.0, function_name: by getMetrics, operation_id: OBPv5.1.0-getMetrics Tags: Metric, API,

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:

app_name:

consumer_id: 7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh

correlation_id: 1flssoftxq0cr1nssr68u0mioj

date: 2020-01-27

developer_email:

duration: 5.123

implemented_by_partial_function:

implemented_in_version:

metrics:

url: http://www.example.com/id-docs/123/image.png

user_id: 9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1

user_name: felixsmith

verb:

Typical Successful Response:

								
									
{ "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 }] }
Required Roles:
  • CanGetMetricsAtOneBank - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv5.0.0, function_name: by getMetricsAtBank, operation_id: OBPv5.0.0-getMetricsAtBank Tags: Metric, API,

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:

Typical Successful Response:

								
									
{ "jsonString":"{}" }
Required Roles:
  • CanSearchMetrics - Please login to request this Role
Validations:
  • Required JSON Validation: No
  • Allowed Authentication Types: Not set
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv2.0.0, function_name: by elasticSearchMetrics, operation_id: OBPv2.0.0-elasticSearchMetrics Tags: Metric, API, Old-Style,