API Explorer

v4.0.0 (319 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=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.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=2017-09-19T02:31:05.000Z

2 to_date (defaults to the current date) eg:to_date=2017-09-19T02:31:05.000Z

3 consumer_id (if null ignore)

4 user_id (if null ignore)

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

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

7 app_name (if null ignore)

8 implemented_by_partial_function (if null ignore),

9 implemented_in_version (if null ignore)

10 verb (if null ignore)

11 correlation_id (if null ignore)

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

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

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

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

Authentication is Mandatory

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
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv3.0.0 by getAggregateMetrics

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=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.000Z&limit=50&offset=2

1 from_date (defaults to one week before current date): eg:from_date=2017-09-19T02:31:05.000Z

2 to_date (defaults to current date) eg:to_date=2017-09-19T02:31:05.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=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.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

Typical Successful Response:

								
									
{ "metrics":[{ "connector_name":"mapper", "function_name":"getBanks", "correlation_id":"12345", "date":"2017-09-19T00:00:00Z", "duration":1000 }] }
Required Roles:
  • CanGetConnectorMetrics - Please login to request this Role
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:
Implemented in OBPv2.2.0 by getConnectorMetrics

Get Metrics

Get the all metrics

require CanReadMetrics role

Filters Part 1.filtering (no wilde cards etc.) parameters to GET /management/metrics

Should be able to filter on the following metrics fields

eg: /management/metrics?from_date=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.000Z&limit=50&offset=2

1 from_date (defaults to one week before current date): eg:from_date=2017-09-19T02:31:05.000Z

2 to_date (defaults to current date) eg:to_date=2017-09-19T02:31:05.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=2017-09-19T02:31:05.000Z&to_date=2017-09-19T02:31:05.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

Typical Successful Response:

								
									
{ "metrics":[{ "user_id":"9ca9a7e4-6d02-40e3-a129-0b2bf89de9b1", "url":"www.openbankproject.com", "date":"2017-09-19T00: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:
  • CanReadMetrics - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv2.1.0 by getMetrics

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=2019-10-19T10:55:49.472Z&to_date=2020-10-19T10:55:49.472Z&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=2019-10-19T10:55:49.472Z

2 to_date (defaults to the current date) eg:to_date=2020-10-19T10:55:49.472Z

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

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
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.
Implemented in OBPv3.1.0 by getTopAPIs

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=2019-10-19T10:55:49.472Z&to_date=2020-10-19T10:55:49.472Z&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=2019-10-19T10:55:49.472Z

2 to_date (defaults to the current date) eg:to_date=2020-10-19T10:55:49.472Z

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

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
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.
Implemented in OBPv3.1.0 by getMetricsTopConsumers

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

Typical Successful Response:

								
									
{ "jsonString":"{}" }
Required Roles:
  • CanSearchMetrics - Please login to request this Role
Possible Errors:
  • OBP-20001: User not logged in. Authentication is required!
  • OBP-20006: User is missing one or more roles:
  • OBP-50000: Unknown Error.
Implemented in OBPv2.0.0 by elasticSearchMetrics