# DataOne Documentation > Documentation for DataOne ## Guides - [Introduction](https://docs.data.one/docs/introduction.md) - [Overview](https://docs.data.one/docs/overview.md) - [ClearScore Marketplace](https://docs.data.one/docs/marketplace-users.md) - [Direct Connection Users](https://docs.data.one/docs/direct-connection.md) - [Test Bank](https://docs.data.one/docs/test-bank.md) - [Co-branding](https://docs.data.one/docs/co-branding.md) - [On-demand refreshes](https://docs.data.one/docs/on-demand-refreshes.md) - [On-Demand](https://docs.data.one/docs/on-demand.md) - [Hashing Emails for On-Demand](https://docs.data.one/docs/on-demand-email-hashing.md) - [Webhooks](https://docs.data.one/docs/webhooks.md) - [Banking Data](https://docs.data.one/docs/banking-data.md) - [Data Availability](https://docs.data.one/docs/data-availability.md) - [Reports](https://docs.data.one/docs/reports.md) - [Bank Account Verification](https://docs.data.one/docs/bank-account-verification.md) - [Categorisation-as-a-Service](https://docs.data.one/docs/categorisation-as-a-service.md) - [PDF Statement](https://docs.data.one/docs/pdf-statement.md) - [Risk Score](https://docs.data.one/docs/risk-score.md) - [Overview](https://docs.data.one/docs/web-portal-introduction.md) - [Authentication](https://docs.data.one/docs/authentication.md) - [Okta Setup](https://docs.data.one/docs/okta-setup.md) - [Using the Web Portal](https://docs.data.one/docs/using-the-web-portal.md) - [Here to help](https://docs.data.one/docs/here-to-help.md) ## API Reference - [Create User](https://docs.data.one/reference/createuser.md): In order to send an applicant to us you must first create a user in the DataOne system. `POST v1/users` can be used to generate a `userId` that can be subsequently used to start a session to connect and receive open banking data and products. - [Update User](https://docs.data.one/reference/updateuser.md): Update user info. - [Get User](https://docs.data.one/reference/getuser.md): Given a `userId` this endpoint returns a User object. - [Delete User](https://docs.data.one/reference/deleteuser.md): Given a `userId` this endpoint deletes a User object. This will also delete all corresponding open banking data and products that has been received for this user. - [Search for Users](https://docs.data.one/reference/searchusers.md): Given a search term that is at least 3 characters long, this endpoint will return users that are an exact match of either the `userId` or the `correlationId` or a substring/fuzzy match on the `name`. It will return the results in descending order of when the user was initially created. If the search term is empty or no results are found then the response body will also return no results under the `users` field. The response will include a maximum of 20 users. - [Refresh User accounts](https://docs.data.one/reference/refreshuseraccounts.md): Triggers an asynchronous job to refresh open banking data for all accounts a user has connected through the direct connection journey. If at least one account qualifies for refresh, the service responds with `201 Created`, including a new `jobId` and per-account results in `metadata`. If no work is performed—for example, because all accounts are skipped—the service responds with `200 OK`, sets `status` to `SKIPPED`, and does not return a `jobId`. Accounts will be skipped if they've already been refreshed recently (`RATE_LIMITED`), or if we no longer have consent to refresh that account (`ACCOUNT_EXPIRED`). - [Match User](https://docs.data.one/reference/matchondemanduser.md): Match a user against users who have connected to Open Banking and consented for their data to be shared using a hashed email address and date of birth. When a matching user is found, the response returns the matched userId along with the consent expiry, the date after which the partner can no longer access that user's Open Banking data. - [Create User](https://docs.data.one/reference/createuserv2.md): Create a user in the DataOne system. - [Get User](https://docs.data.one/reference/getuserv2.md): Given a `userId` this endpoint returns a User object. Unlike the v1 get user endpoint, the response does not include a `dataOrigin` field. - [Update User](https://docs.data.one/reference/updateuserv2.md): Update user info. - [Search for Users](https://docs.data.one/reference/searchusersv2.md): Given a search term that is at least 3 characters long, this endpoint will return users that are an exact match of either the `userId` or the `correlationId` or a substring/fuzzy match on the `name`. It will return the results in descending order of when the user was initially created. If the search term is empty or no results are found then the response body will also return no results under the `users` field. The response will include a maximum of 20 users. Unlike the v1 search endpoint, the response does not include a `dataOrigin` field. - [Create Session](https://docs.data.one/reference/createsession.md): After creating a user you may now initiate sessions for that user. To create a session you may use `POST /v1/sessions` (for example when a user clicks a call to action). In the request it's **required** that you provide a URL for the user to redirect to once they have completed their Open Banking journey with us. You must also provide the `userId`. You may also *optionally* specify an arbitrary `correlationId` which will be returned unmodified upon completion of the user's journey with us. As with all other requests, you'll need to provide your API key as a header which you received from us to authenticate. - [Get Session](https://docs.data.one/reference/getsession.md): Given a `sessionId` this endpoint returns a Session Response object. - [Complete Session](https://docs.data.one/reference/updatesessioncompleted.md): When the user completes their session with us, they will be redirected to the `partnerRedirectUrl` you originally provided to us along with a `sessionTerminationToken` appended to the query string, like so: `https:///some/path?sessionTerminationToken=XXXX` You can now call this endpoint with the `sessionTerminationToken` as the `Authorization` header. The token can be provided in either of these formats: - `Authorization: Bearer ` - `Authorization: ` You will receive the same Session Response as in the `POST` call. This will classify the Session as `COMPLETED` and a user will not be able to generate further open banking products. - [Get All Open Banking Connected User Accounts](https://docs.data.one/reference/getallconnecteduseraccounts.md): Given a `userId` this endpoint will fetch all accounts that have been connected by the user. - [Get Specified Open Banking Connected User Account](https://docs.data.one/reference/getconnecteduseraccount.md): Given a `userId` and `accountId` this endpoint will fetch the specified account's details. - [Create CaaS Account for User](https://docs.data.one/reference/createcaasaccountforuser.md): Given a `userId` this endpoint will create a CaaS account for the user. The response includes `providerId` and a populated `providerName` when a provider is resolved. - [Get All Accounts for User](https://docs.data.one/reference/getallconnecteduseraccountsv2.md): Given a `userId` this endpoint will fetch all open banking connected and CaaS accounts for the user. - [Get All Open Banking Transactions for All Connected Accounts](https://docs.data.one/reference/getallusertransactions.md): Given a `userId` and optional filters, this endpoint will fetch filtered categorised transactions across all of a user's accounts, sorted in descending order by the created datetime of the transaction. Transactions include an optional field `seriesMetadata` that will be present when a transaction has been highlighted as being part of a series. A series will identify any transactions that have a recurring behaviour. Examples of series transactions include rent and salary. If DataOne has set up a server-side filter to restrict transactions to the latest X months, then this endpoint will not return any transactions prior to the latest X month period. In this scenario, the response status would continue to return 200 OK. - [Get All Open Banking Transactions for Specified User Account](https://docs.data.one/reference/getusertransactionsforaccount.md): Given a `userId`, an `accountId` and optional filters, this endpoint will fetch filtered categorised transactions for the specified user accounts, sorted in descending order by the created datetime of the transaction. Transactions include an optional field `seriesMetadata` that will be present when a transaction has been highlighted as being part of a series. A series will identify any transactions that have a recurring behaviour. Examples of series transactions include rent and salary. If DataOne has set up a server-side filter to restrict transactions to the latest X months, then this endpoint will not return any transactions prior to the latest X month period. In this scenario, the response status would continue to return 200 OK. - [Get All Raw Open Banking Transactions for All Connected Accounts](https://docs.data.one/reference/getalluserrawtransactions.md): Given a `userId` and optional filters, this endpoint will fetch filtered raw transactions (i.e. transactions without categorisation data) across all of a user's accounts, sorted in descending order by the created datetime of the transaction. If DataOne has set up a server-side filter to restrict transactions to the latest X months, then this endpoint will not return any transactions prior to the latest X month period. In this scenario, the response status would continue to return 200 OK. - [Get All Raw Open Banking Transactions for Specified User Account](https://docs.data.one/reference/getuserrawtransactionsforaccount.md): Given a `userId`, an `accountId` and optional filters, this endpoint will fetch filtered raw transactions (i.e. transactions without categorisation data) for the specified user accounts, sorted in descending order by the created datetime of the transaction. If DataOne has set up a server-side filter to restrict transactions to the latest X months, then this endpoint will not return any transactions prior to the latest X month period. In this scenario, the response status would continue to return 200 OK. - [Create Transactions for CaaS User Account](https://docs.data.one/reference/createtransactionsforcaasaccount.md): Given a `userId`, an `accountId` and an optional categorisation version, this endpoint will create new transactions for the user's CaaS account and initiate categorisation. Maximum limit on the number of transactions accepted on each call is 10,000. The response includes a `jobId` that can be used to monitor categorisation progress via [GET /v1/jobs/{jobId}](https://docs.data.one/reference/getjob). Note: New transactions will be appended to the account and existing transactions will remain untouched. If a transaction ID already exists, those transactions will not be added and will be ignored. - [Get a User’s Categorised Open Banking Data in PDF Format](https://docs.data.one/reference/pdfstatement.md): Given a `userId`, an optional categorisation version and an optional date range, this endpoint will generate a pdf statement containing the user's information, account details, and all transactions across all accounts. Transactions are grouped by account and sorted in descending order by the created datetime of the transaction. If DataOne has implemented a server-side filter, such as restricting transactions to the latest X months, this filter will be applied when generating the statement. - [Get Risk Score for the Specified User](https://docs.data.one/reference/getuserriskscore.md): Given a `userId` and an optional risk score model version, this endpoint will fetch the risk score for the user. - [Get Report](https://docs.data.one/reference/getreport.md): The report endpoint provides a series of metrics specific to each report, similar to a summary block. The metrics within the report are pre-specified by each partner and configured by D•One. D•One provides a reportID which can be used alongside the userID to retrieve the specified metrics. To retrieve a report for specific bank accounts, specify one or more account IDs in the query params. Please contact D•One to configure a report and to receive a reportID. - [Get DataOne Account Completeness Report](https://docs.data.one/reference/getdataoneaccountcompletenessreport.md): This report provides a series of metrics to understand the completeness of the account information we have for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 42.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Risks Report](https://docs.data.one/reference/getdataonerisksreport.md): This report provides a series of metrics that are often identified as risk factors in credit decisions. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 42.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Affordability Report](https://docs.data.one/reference/getdataoneaffordabilityreport.md): This report provides a series of metrics to understand the affordability for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 42.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Income Report](https://docs.data.one/reference/getdataoneincomereport.md): This report provides a series of metrics to understand the income for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 42.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Credit Usage Report](https://docs.data.one/reference/getdataonecreditusagereport.md): This report provides a series of metrics to understand the credit usage for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 42.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Periodic Transactions Report](https://docs.data.one/reference/getdataoneperiodictransactionsreport.md): This report provides a series of metrics to understand the periodic transactions for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 42.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Account Completeness Report](https://docs.data.one/reference/getdataoneaccountcompletenessreportv2.md): This report provides a series of metrics to understand the completeness of the account information we have for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 43.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Risks Report](https://docs.data.one/reference/getdataonerisksreportv2.md): This report provides a series of metrics that are often identified as risk factors in credit decisions. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 43.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Affordability Report](https://docs.data.one/reference/getdataoneaffordabilityreportv2.md): This report provides a series of metrics to understand the affordability for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 43.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Income Report](https://docs.data.one/reference/getdataoneincomereportv2.md): This report provides a series of metrics to understand the income for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 43.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Credit Usage Report](https://docs.data.one/reference/getdataonecreditusagereportv2.md): This report provides a series of metrics to understand the credit usage for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 43.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Periodic Transactions Report](https://docs.data.one/reference/getdataoneperiodictransactionsreportv2.md): This report provides a series of metrics to understand the periodic transactions for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 43.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Account Completeness Report](https://docs.data.one/reference/getdataoneaccountcompletenessreportv3.md): This report provides a series of metrics to understand the completeness of the account information we have for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 44.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Risks Report](https://docs.data.one/reference/getdataonerisksreportv3.md): This report provides a series of metrics that are often identified as risk factors in credit decisions. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 44.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Affordability Report](https://docs.data.one/reference/getdataoneaffordabilityreportv3.md): This report provides a series of metrics to understand the affordability for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 44.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Income Report](https://docs.data.one/reference/getdataoneincomereportv3.md): This report provides a series of metrics to understand the income for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 44.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Credit Usage Report](https://docs.data.one/reference/getdataonecreditusagereportv3.md): This report provides a series of metrics to understand the credit usage for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 44.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Get DataOne Periodic Transactions Report](https://docs.data.one/reference/getdataoneperiodictransactionsreportv3.md): This report provides a series of metrics to understand the periodic transactions for the user. All metrics are available over 90, 180 and 365 day lookback windows from the current date. This report is generated using categorisation version 44.0.0. Note: This is a pre-built report that uses the GET /reports endpoint with the reportId specified explicitly. - [Create a webhook subscription](https://docs.data.one/reference/createwebhooksubscription.md): Creates a webhook subscription to receive notifications for chosen event type. - [List all webhook subscriptions](https://docs.data.one/reference/listwebhooksubscriptions.md): Lists webhook subscriptions that belong to the partner. - [Update a webhook subscription](https://docs.data.one/reference/updatewebhooksubscription.md): Given a `webhookSubscriptionId` this endpoint updates a webhook subscription. - [Delete a webhook subscription](https://docs.data.one/reference/deletewebhooksubscription.md): Given a `webhookSubscriptionId` this endpoint deletes a webhook subscription. - [Test a webhook event](https://docs.data.one/reference/testwebhookevent.md): Tests a webhook event to verify that the webhook targetUrl works. Sends a sample delivery payload to the targetUrl matching the corresponding event delivery webhook schema. - [Successful account connection by user](https://docs.data.one/reference/eventaccounttransactionsuserinitiatedsucceeded.md): POSTed by D•One to the subscribed targetUrl after a user connects their bank account and Open Banking data for an account is ready for consumption. Emitted once per account. - [Successful scheduled refresh of user accounts](https://docs.data.one/reference/eventaccounttransactionsscheduledrefreshsucceeded.md): POSTed by D•One to the subscribed targetUrl when a scheduled refresh of Open Banking data for a connected account completes. Emitted once per account. - [Successful on-demand refresh of user accounts](https://docs.data.one/reference/eventaccounttransactionsondemandrefreshsucceeded.md): POSTed by D•One to the subscribed targetUrl when a partner-requested on-demand refresh completes for an account. Emitted once for each account that a user has connected. The payload `jobId` matches the value returned when initially triggering the on-demand refresh ([POST /v1/users/{userId}/accounts-refresh](https://docs.data.one/reference/refreshuseraccounts)). [See here for details](https://docs.data.one/reference/refreshuseraccounts) on triggering this refresh type. - [Get Job](https://docs.data.one/reference/getjob.md): Gets an asynchronous job by `jobId`. The response includes the current job status and job-type-specific metadata, where available, to provide additional context about the job. ## Pages - [Test](https://docs.data.one/page/test.md) ## Changelog - [5th August 2026](https://docs.data.one/changelog/20260805.md) - [6th July 2026](https://docs.data.one/changelog/20260706.md) - [19th June 2026](https://docs.data.one/changelog/20260619.md) - [22nd May 2026](https://docs.data.one/changelog/20260522.md) - [21st May 2026](https://docs.data.one/changelog/20260521.md) - [2nd April 2026](https://docs.data.one/changelog/20260402.md) - [27th March 2026](https://docs.data.one/changelog/20260327.md) - [16th January 2026](https://docs.data.one/changelog/20260116.md) - [2nd December 2025](https://docs.data.one/changelog/20251202.md) - [12th August 2025](https://docs.data.one/changelog/20250822.md)