API Explorer

v5.1.0 (529 APIs)

Bank
Accounts
Views
Counterparties
Transactions

Get Aggregate Metrics

Returns aggregate metrics on api usage eg. total count, response time (in ms), etc.

Should be able to filter on the following fields

eg: /management/aggregate-metrics?from_date=1100-01-01T01:01:01.000Z&to_date=1100-01-01T01:01:01.000Z&consumer_id=5
&user_id=66214b8e-259e-44ad-8868-3eb47be70646&implemented_by_partial_function=getTransactionsForBankAccount
&implemented_in_version=v3.0.0&url=/obp/v3.0.0/banks/gh.29.uk/accounts/8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0/owner/transactions
&verb=GET&anon=false&app_name=MapperPostman
&exclude_app_names=API-EXPLORER,API-Manager,SOFI,null

1 from_date (defaults to the day before the current date): eg:from_date=1100-01-01T01:01:01.000Z

2 to_date (defaults to the current date) eg:to_date=1100-01-01T01:01:01.000Z

3 consumer_id (if null ignore)

4 user_id (if null ignore)

5 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)

6 url (if null ignore), note: can not contain '&'.

7 app_name (if null ignore)

8 implemented_by_partial_function (if null ignore),

9 implemented_in_version (if null ignore)

10 verb (if null ignore)

11 correlation_id (if null ignore)

12 include_app_names (if null ignore).eg: &include_app_names=API-EXPLORER,API-Manager,SOFI,null

13 include_url_patterns (if null ignore).you can design you own SQL LIKE pattern. eg: &include_url_patterns=%management/metrics%,%management/aggregate-metrics%

14 include_implemented_by_partial_functions (if null ignore).eg: &include_implemented_by_partial_functions=getMetrics,getConnectorMetrics,getAggregateMetrics

Authentication is Mandatory

JSON response body fields:

average_response_time:

count:

maximum_response_time: 60

minimum_response_time:

Typical Successful Response:

								
									
{ "count":7076, "average_response_time":65.21, "minimum_response_time":1.0, "maximum_response_time":9039.0 }
Required Roles:
  • CanReadAggregateMetrics - 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 getAggregateMetrics, operation_id: OBPv5.1.0-getAggregateMetrics Tags: Metric, Aggregate-Metrics,

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,

Get Top APIs

Get metrics about the most popular APIs. e.g.: total count, response time (in ms), etc.

Should be able to filter on the following fields

eg: /management/metrics/top-apis?from_date=1970-01-01T00:00:00.000Z&to_date=2024-11-03T21:00:56.421Z&consumer_id=5
&user_id=66214b8e-259e-44ad-8868-3eb47be70646&implemented_by_partial_function=getTransactionsForBankAccount
&implemented_in_version=v3.0.0&url=/obp/v3.0.0/banks/gh.29.uk/accounts/8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0/owner/transactions
&verb=GET&anon=false&app_name=MapperPostman
&exclude_app_names=API-EXPLORER,API-Manager,SOFI,null

1 from_date (defaults to the one year ago): eg:from_date=1970-01-01T00:00:00.000Z

2 to_date (defaults to the current date) eg:to_date=2024-11-03T21:00:56.421Z

3 consumer_id (if null ignore)

4 user_id (if null ignore)

5 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)

6 url (if null ignore), note: can not contain '&'.

7 app_name (if null ignore)

8 implemented_by_partial_function (if null ignore),

9 implemented_in_version (if null ignore)

10 verb (if null ignore)

11 correlation_id (if null ignore)

12 duration (if null ignore) non digit chars will be silently omitted

13 exclude_app_names (if null ignore).eg: &exclude_app_names=API-EXPLORER,API-Manager,SOFI,null

14 exclude_url_patterns (if null ignore).you can design you own SQL NOT LIKE pattern. eg: &exclude_url_patterns=%management/metrics%,%management/aggregate-metrics%

15 exclude_implemented_by_partial_functions (if null ignore).eg: &exclude_implemented_by_partial_functions=getMetrics,getConnectorMetrics,getAggregateMetrics

Authentication is Mandatory

JSON response body fields:

Implemented_by_partial_function:

count:

implemented_in_version:

top_apis:

Typical Successful Response:

								
									
{ "top_apis":[{ "count":7076, "Implemented_by_partial_function":"getBanks", "implemented_in_version":"v1.2.1" }] }
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-10016: Incorrect filter Parameters in URL.
  • OBP-30042: Could not get the top apis from database.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by getTopAPIs, operation_id: OBPv3.1.0-getTopAPIs Tags: Metric,

Get Top Consumers

Get metrics about the top consumers of the API usage e.g. total count, consumer_id and app_name.

Should be able to filter on the following fields

e.g.: /management/metrics/top-consumers?from_date=1970-01-01T00:00:00.000Z&to_date=2024-11-03T21:00:56.422Z&consumer_id=5
&user_id=66214b8e-259e-44ad-8868-3eb47be70646&implemented_by_partial_function=getTransactionsForBankAccount
&implemented_in_version=v3.0.0&url=/obp/v3.0.0/banks/gh.29.uk/accounts/8ca8a7e4-6d02-48e3-a029-0b2bf89de9f0/owner/transactions
&verb=GET&anon=false&app_name=MapperPostman
&exclude_app_names=API-EXPLORER,API-Manager,SOFI,null
&limit=100

1 from_date (defaults to the one year ago): eg:from_date=1970-01-01T00:00:00.000Z

2 to_date (defaults to the current date) eg:to_date=2024-11-03T21:00:56.422Z

3 consumer_id (if null ignore)

4 user_id (if null ignore)

5 anon (if null ignore) only support two value : true (return where user_id is null.) or false (return where user_id is not null.)

6 url (if null ignore), note: can not contain '&'.

7 app_name (if null ignore)

8 implemented_by_partial_function (if null ignore),

9 implemented_in_version (if null ignore)

10 verb (if null ignore)

11 correlation_id (if null ignore)

12 duration (if null ignore) non digit chars will be silently omitted

13 exclude_app_names (if null ignore).eg: &exclude_app_names=API-EXPLORER,API-Manager,SOFI,null

14 exclude_url_patterns (if null ignore).you can design you own SQL NOT LIKE pattern. eg: &exclude_url_patterns=%management/metrics%,%management/aggregate-metrics%

15 exclude_implemented_by_partial_functions (if null ignore).eg: &exclude_implemented_by_partial_functions=getMetrics,getConnectorMetrics,getAggregateMetrics

16 limit (for pagination: defaults to 50) eg:limit=200

Authentication is Mandatory

JSON response body fields:

app_name:

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

count:

developer_email:

top_consumers:

Typical Successful Response:

								
									
{ "top_consumers":[{ "count":7076, "consumer_id":"7uy8a7e4-6d02-40e3-a129-0b2bf89de8uh", "app_name":"Api Explorer", "developer_email":"felixsmith@example.com" }] }
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-10016: Incorrect filter Parameters in URL.
  • OBP-30045: Could not get the top consumers from database.
  • OBP-50000: Unknown Error.
Connector Methods:
Version: OBPv3.1.0, function_name: by getMetricsTopConsumers, operation_id: OBPv3.1.0-getMetricsTopConsumers Tags: Metric,

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:

none:

Typical Successful Response:

								
									
{ }
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,