Frequently Asked Questions
General Questions
What is the FINIO data hub?
The FINIO data hub provides access to financial data. It allows developers to integrate financial information into their applications seamlessly.
How do I onboard to receive FINIO data?
- Sign an NDA to receive sample files.
- Complete the data transmission form (for whitelisting, contacts, credentials).
- Then we'll be in touch to talk you through the process and help with your integration! For live data, you must obtain the firms' specific credentials for each platform, but we will give you access to our demo data (under the firm name Acme Advisors) once you have completed the above two steps.
Data Questions
What entities are available?
The available entities depend on your subscription. Entities include:
- Adviser
- Client
- Wrapper
- Client Wrapper
- Client Adviser
- Asset
- Transaction
- Transaction Type
- Transaction History (only available on bulk via SFTP)
You can view your specific entities in the subscription endpoint of the API after authentication. Exact entity availability varies by platform.
Other notes on the entities:
- Only assets that are currently held will have a current price. Historical assets included without a current price are present to maintain integrity with historic transactions.
- Only live clients/wrappers are included.
- When a client’s holding of an asset is entirely sold out, the Investment record is removed from the next day’s feed.
- Where a platform has the concept of policies and sub policies, this is represented by the parent policy being shown in the Account field.
- Where we provide transactions, the most recent 7 days of transactions are delivered. This includes back dated transaction changes/deletes, however old the transaction date, that we detect in the last 7 days of data we receive. Full transaction history is available (when we receive it from the platforms) but only via SFTP.
Do all platforms supply the same fields?
Not necessarily, entity structures are consistent but the field population varies between platforms. See the API Entities tab for more.
When is data made available?
Platforms deliver data to us at different times each day. We make it available to you as soon as our processing is complete. Because we depend on the platforms, we cannot guarantee exact delivery times, although in most cases all data is available by midday.
You can check for new data by querying the API (using the lastUpdated field on the subscription endpoint) or by monitoring the SFTP.
While data is typically updated once per day, any revised or late data received from platforms is passed on as soon as possible. For this reason, using the checks above ensures you always have access to the most up-to-date data from FINIO.
Update days also vary by platform. Most provide refreshed valuations (and recent transactions) either Monday–Friday or Tuesday–Saturday.
How up to date is the data?
Data is accurate to close of business the previous day.
Do you include FCA number in your data?
Within the data package, FCA number is only included in the Adviser entity, which currently isn't widely populated by platforms. If you are using our API you can see the FCA number for a particular subscription in the subscription endpoint, but for SFTP integrations this isn't included, we recommend using the Firm Name which is included in the file name (see FAQ below for SFTP file naming convention).
Are all IDs unique?
Each core entity (Adviser, Client, Investment, Asset, Wrapper, Transaction) includes an internal FINIO generated ID that is immutable. This ID will be unique within that subscription or file, and will persist across the lifetime of that subscription, but will not be unique (or persist) across your entire integration. So for example, you may have a client who owns policies on two different platforms, they will (likely) have different Client_IDs across the two files/subscriptions, and the Client_ID they have on platform 1 could be used by a different client on platform 2.
How can I better understand the data fields within each entity?
Help on all entity fields is available by appending help=true to the entity request URL. This returns detailed information for every field of the entity available to a subscription.
General API Questions
How is data differentiated by platform and firm?
For each firm-platform combination that you are receiving data for, you will receive a different subscriptionID from the API. This subscriptionID will allow you to differentiate between all firms and platforms you are receiving data for. No subscriptionID will return data for more than one firm or platform.
What data formats are supported?
The API supports multiple data formats:
- JSON
- XML
- CSV
- PSV
What authentication method is used?
The API uses bearer token authentication. You can generate a token through the API Guide wizard.
How long do tokens last?
Authentication tokens are valid for 59 minutes. After expiration, you'll need to generate a new token.
How often should I call the API?
You should never poll more often than every 15 minutes. Once you have collected data that day the polling frequency can be reduced even further to every hour, or longer. Our suggested cycle is as follows:
1. Call the subscription API method.
2. Save the new lastUpdated timestamp for every subscriptionID.
3. For each subscription where the new lastUpdated timestamp is more recent than the previous lastUpdated timestamp, collect the entities you are interested in and save them to local storage. Subscriptions that have not been updated should not have entity data downloaded, as it will not have changed.
API Technical Questions
What are the rate limits?
The API has been carefully designed such that downloading entity data to be sure of having the latest values is not needed. Each subscription includes a lastUpdated element. If the lastUpdated timestamp has not advanced since your last request for that subscriptionID’s entities, no new data exists for any entity in that subscription. Please note that rate limits will be applied, and calling the subscription or entity APIs too often may result in a ‘rate limit exceeded’ error, until sufficient time has passed to make another call.
How do I handle errors?
The API returns standard HTTP status codes:
- 200 - Success
- 400 - Bad Request
- 401 - Unauthorized
- 404 - Not Found
- 500 - Server Error
Can I use this in production?
Yes, the API is production-ready. Make sure to:
- Store your tokens securely
- Implement proper error handling
- Follow best practices for API integration
SFTP Questions
How are the folders structured?
We structure our folders based on your package, this depends on the sort of data you are receiving. In general this will be a 'BASIC-TRANSACTION' folder if you are receiving transactions for a particular platform or a 'VALUATIONS' folder if you aren't. If you are receiving data for multiple platforms on the same package, you will find the data in the same folder. We will always inform you of your package for each platform as part of the onboarding process.
How is data differentiated by platform and firm?
Files for different firms and platforms can land in the same folder, so it is the file naming convention that differentiates which platform and firm the file's data is for. The naming convention is FirmName_PlatformName_Entity_Datetime. Where the datetime provided is when the file was generated (not the date of the file contents). No file will contain more than one platform or firms data.
How does archiving work?
If you are utilising SFTP PULL, then all files will be archived when the following days data is provided, so only a single days data will ever be available in the root folder at a given time. Archived files are retained for 14 days by default on our server, but this can be configured to suit if required. If you are using SFTP PUSH (i.e. FINIO is pushing data to your server) any archiving architecture decisions are left to you, we will just push the data to your root folder as provided.
What is the file format?
Although the files carry a csv file extension, they are in fact pipe delimited.
Support
How do I get help?
If you need assistance:
- Review this FAQ
- Check the API Demo for step-by-step instructions
- Contact our support team for additional help
Where can I report issues?
Please report any issues or bugs through our support portal.