Skip to main content
GET
curl
The endpoint returns the numbers behind the analytics dashboard of the Business Console. It has two response shapes: Every widget carries a kind and a title; the rest of its fields depend on the kind. Send scope without widget_keys once to read available_widget_keys, then request only the widgets you need.
Only a full-access API key can call this endpoint. A scoped key gets 403 whatever access it holds, and so does a key of another application. See API keys.

Authorizations

x-api-key
string
header
required

Your application's API key, from Developers -> API keys in the Business Console. The primary key has full access. A named key can be scoped: none, read or write per resource, limited to some workflows or to approved sessions, to a list of IP addresses, and to an expiry date. 401 means the key is missing, wrong, revoked or expired; 403 means the key has no access to this resource or action, or the request came from an address outside its IP list; 404 on a session route means the session is outside the key's workflows or statuses. A key without media access receives image, video and PDF URLs as null, and a key without sessions write receives session links and tokens as null. See https://docs.didit.me/console/api-keys.

Path Parameters

organization_id
string<uuid>
required

Organization UUID.

application_id
string<uuid>
required

Application UUID. Must be the application the API key belongs to: a key used on any other application gets 403.

Query Parameters

start_date
string<date>

First day of the range, YYYY-MM-DD, inclusive (UTC). Send it together with end_date: when either is missing, both are ignored and the range runs from 30 days before today through today.

Example:

"2026-10-01"

end_date
string<date>

Last day of the range, YYYY-MM-DD, inclusive (UTC). A future date counts as today. The range may not exceed 730 days.

Example:

"2026-10-15"

scope
enum<string>

Dashboard tab to return widgets for (case-insensitive). Omit it, together with widget_keys, for the KYC summary. Sending only widget_keys implies kyc. home accepts any KYC, KYB or transaction widget and defaults to the application's saved home layout.

Available options:
home,
kyc,
kyb,
transactions
widget_keys
string

Comma-separated widget keys, answered in this order. Keys the scope does not accept are dropped; when none is left you get the scope's defaults. KYC: kyc_sessions_volume, kyc_warning_insights, kyc_id_locations, kyc_ip_locations, kyc_workflow_funnel, kyc_average_verification_time, kyc_conversion_rate, kyc_conversion_by_country, kyc_resubmission_insights, kyc_original_status_distribution, kyc_database_validation_coverage, kyc_database_validation_latency, kyc_demographics, kyc_device_details. KYB: kyb_sessions_volume, kyb_workflow_funnel, kyb_average_verification_time, kyb_ip_locations, kyb_business_country_distribution, kyb_warning_insights, kyb_conversion_rate, kyb_conversion_by_country, kyb_industry_breakdown, kyb_resubmission_insights, kyb_original_status_distribution, kyb_registry_coverage, kyb_registry_data_completeness, kyb_device_details. Transactions: tx_count_total, tx_count_daily, tx_volume_total_preferred_currency, tx_volume_daily_preferred_currency, tx_average_amount, tx_average_amount_daily, tx_transaction_category_breakdown, tx_action_type_breakdown, tx_status_volume_trend, tx_user_ip_or_country_distribution, tx_tag_breakdown, tx_top_rules_triggered, tx_team_member_performance, tx_score_histogram.

Example:

"tx_count_total,tx_count_daily"

workflow_ids
string

Comma-separated workflow IDs. Limits the KYC summary and the KYC and KYB widgets to those workflows. Values that are not UUIDs are ignored; when none is valid the filter is dropped. The summary also accepts workflow_id.

Example:

"33333333-4444-5555-6666-777777777777"

versions
string

Comma-separated workflow version numbers. Applies only together with workflow_ids; values that are not whole numbers are ignored. version is accepted as an alias.

Example:

"3,4"

branch_path_ids
string

Comma-separated branch path IDs. Applies only together with workflow_ids, and only to KYC figures. Figures are currently recorded only for default (all paths combined), so any other value returns empty figures. branch_path_id is accepted as an alias.

Example:

"default"

tag
string

Transaction widgets only: comma-separated tag UUIDs or tag names.

transaction_type
string

Transaction widgets only: comma-separated transaction categories.

Example:

"finance"

action_type
string

Transaction widgets only: comma-separated action types (case-insensitive).

Example:

"withdrawal"

Response

The KYC summary, or the requested widgets when scope or widget_keys is sent.

User verification (KYC) summary, returned when neither scope nor widget_keys is sent.

data_points
object[]
required

One point per day, from the first day with sessions in the range to end_date. Always daily, whatever grouping_mode says.

request_breakdown
object
required

Status totals for the range. The previous-period breakdown carries at least the required fields.

previous_data_points
object[]
required

Daily points for the period of the same length right before start_date.

previous_request_breakdown
object
required

Status totals for the range. The previous-period breakdown carries at least the required fields.

conversion_rate
number | null
required

total_approved / (total_approved + total_declined + total_in_review) x 100, one decimal. null when nothing finished.

location_stats
object
required
demographic_stats
object
required
device_details
object
required

Top five of each, most sessions first.

workflow_funnel_stats
object
required

Keyed by workflow ID. total is the sessions started on that workflow; steps counts the sessions that reached each step (OCR, LIVENESS, FACE_MATCH, AML, POA, PHONE, EMAIL, NFC, DATABASE_VALIDATION, QUESTIONNAIRE, IP_ANALYSIS, AGE_ESTIMATION, KYB_REGISTRY, KYB_DOCUMENTS, KYB_KEY_PEOPLE). Reaching a step is not passing it.

verification_time_stats
object
required

Active time users spent verifying, ignoring idle gaps. An empty object when there is no data.

resubmission_stats
object
required
warning_stats
object
required

Keyed by feature (ID_VERIFICATION, LIVENESS, FACEMATCH, AML, PROOF_OF_ADDRESS, PHONE, EMAIL, NFC, LOCATION, DATABASE_VALIDATION, QUESTIONNAIRE and the KYB features). total is the sessions that reached the feature; risks counts sessions per warning code and level.

original_status_stats
object
required

The workflow's automatic verdict, before any reviewer changed it.

grouping_mode
enum<string>
required

How the *_time_series lists are grouped: day for up to 14 days, week up to 90, month beyond. Measured from the first day with sessions in the range.

Available options:
day,
week,
month
demographic_time_series
object[]
required
device_time_series
object[]
required
verification_time_time_series
object[]
required
resubmission_time_series
object[]
required
original_status_time_series
object[]
required