Categorisation-as-a-Service

Categorisation-as-a-service (CaaS) is a fantastic solution for when you already hold banking data for a user, but you'd like to utilise our categorisation engine and other services in order to gain deeper insight into the data.

ℹ️

Schema conformity
When providing DataOne with Open Banking data to be categorised, the data must be transformed so that it conforms with the DataOne schemas.

Step-by-step flow

Create a user

If a user data object does not already exist in DataOne for this individual because you have sourced this data independently then the first step is to create a user, with the POST /v2/users endpoint. If the user already exists in the DataOne ecosystem, then you can skip this step.

Add an account

Just as in the real world, all transactions must belong to a bank account, therefore before DataOne can receive the transactions, first a bank account data object associated with the user must be created. To do this, you must call the POST /v1/users/USERID/accounts endpoint to create a CaaS account for the user. More specific details can be found in the API specification.

Inserting transactions

Now that we have a user, and an account associated with that user, we can insert transactions into that bank account. Ensure you have transformed your transactions collection into the correct schema, and then make a call with that data to POST /v1/users/USERID/accounts/{accountId}/transactions.

This endpoint creates a categorisation job and returns the job details, including a jobId. You can use this ID to monitor the job's progress via GET /v1/jobs/{jobId}.

Next steps

When the job status changes from IN PROGRESS to COMPLETED, the transaction data is ready to use across our platform. For example, you can retrieve one of our reports or explore the categorised transactions in detail.

ℹ️

Account segmentation
There exists a concept of a "CaaS account", that is to say an account which contains data sourced from outside of DataOne's own Open Banking platform. Any account that has been sourced via our Open Banking platform cannot have transactions inserted into it via the POST endpoints; you can only use accounts you have created for this.
Users can conceivably have a mixture of CaaS and non-CaaS accounts associated with them. You can identify the source of the data by looking at the dataOrigin property on the data returned from the accounts endpoint.


Did this page help you?