# Basiq API Documentation ## Guides - [Agent Integration Overview](https://api.basiq.io/docs/agent-integration-overview.md) - [MCP Server](https://api.basiq.io/docs/mcp-4.md) - [Account Verification](https://api.basiq.io/docs/account-verification.md) - [Statements](https://api.basiq.io/docs/bank-statements.md): Bank Statements - [Connections](https://api.basiq.io/docs/data-connections.md) - [Data governance](https://api.basiq.io/docs/data-governance.md) - [Energy Data](https://api.basiq.io/docs/energy.md) - [Enrich](https://api.basiq.io/docs/enrichment.md): Enrich converts your banking transaction data into actionable insights by securely applying advanced tagging, cleaning, and enrichment processes to help you manage your finances effectively. - [Identity](https://api.basiq.io/docs/identity.md) - [Business Affordability Report ](https://api.basiq.io/docs/business-affordability.md): Business Affordability Report API - [Consumer Affordability Report](https://api.basiq.io/docs/consumer-affordability.md): Consumer Affordability Report - [Frequently asked questions](https://api.basiq.io/docs/frequently-asked-questions.md) - [Quickstart](https://api.basiq.io/docs/getting-started.md) - [Quickstart: API](https://api.basiq.io/docs/quickstart-api.md): Make your first call to the Basiq API. - [Quickstart: Basiq dashboard](https://api.basiq.io/docs/quickstart-basiq-dashboard.md) - [Welcome to Basiq](https://api.basiq.io/docs/guides.md): Basiq is a Consumer Data Right accredited API platform that provides the building blocks of financial services. - [Activate your Account](https://api.basiq.io/docs/activate-your-account.md): The following steps provide a guide on how to set up and activate your Basiq account. This preparation not only sets up your company's presence on the platform but also secures it, ensuring you're ready to utilise Basiq's extensive range of services. - [Application Setup](https://api.basiq.io/docs/application-management.md): Setting up your application within the Basiq Dashboard is an essential first step to effectively interact with the Basiq platform. Each application you create serves as a unique operational space, where API integrations are managed, settings are configured, and user permissions are controlled. Importantly, each application also acts as a boundary for the data it handles, ensuring data integrity and security. - [Consent UI Customisation](https://api.basiq.io/docs/consent-ui-customisation.md): Discover how the Consent UI from Basiq simplifies and streamlines user consent management for your application, ensuring seamless integration, compliance, and an enhanced user experience. - [Integration Overview](https://api.basiq.io/docs/integration-overview.md): Welcome to the Basiq Dashboard Integration guide. Configuring your environment on our dashboard is a vital step for effectively leveraging Basiq services and protecting your customers data. - [Navigating the Dashboard](https://api.basiq.io/docs/navigating-the-dashboard.md): The Basiq Dashboard is an intuitive and comprehensive interface designed for effective management and observation of financial data. Here's a guide to help you navigate through its various functionalities. - [Create Permission Sets](https://api.basiq.io/docs/permission-sets.md): Permission Sets in the Basiq Dashboard are essential tools for ensuring security and operational efficiency. These sets allow you to control access to various features and data within the platform, making sure team members have access aligned with their roles. - [Access Methods](https://api.basiq.io/docs/access-method.md) - [API key management](https://api.basiq.io/docs/api-key-management.md) - [API Rate Limiting](https://api.basiq.io/docs/api-rate-limiting.md): Learn about Basiq's API rate limiting policies and guidelines to ensure stable platform access and avoid potential errors or account suspension. - [Basiq best practices](https://api.basiq.io/docs/best-practices.md) - [Pending transactions](https://api.basiq.io/docs/pending-transactions.md): Understand what is the difference between a pending transaction and a posted transaction. - [Business Consumer Consent](https://api.basiq.io/docs/business-consumer-consent.md) - [Connecting Business accounts via CDR](https://api.basiq.io/docs/connecting-business-accounts-via-cdr.md) - [CDR Receipts](https://api.basiq.io/docs/cdr-receipts.md) - [CDR Compliance](https://api.basiq.io/docs/cdr-compliance.md): An overview - [Trusted Advisor](https://api.basiq.io/docs/trusted-advisor.md) - [Consent Actions](https://api.basiq.io/docs/consent-actions.md): Consent Actions in Basiq Consent UI - [Consent Events](https://api.basiq.io/docs/consent-events.md) - [Consent Parameters](https://api.basiq.io/docs/consent-parameters.md) - [Consent Scopes](https://api.basiq.io/docs/consent-scopes.md) - [Consent Management](https://api.basiq.io/docs/consent.md): For a data recipient (Basiq) to collect, use and disclose CDR data, they must have consent from the consumer to do so. For this reason, *partners wishing to access v3.0 of the Basiq API are required to use the Basiq Consent UI in their application.* - [Overview](https://api.basiq.io/docs/overview.md): For a data recipient (Basiq) to collect, use and disclose CDR data, they must have consent from the consumer to do so. For this reason, partners wishing to access v3.0 of the Basiq API are required to use the Basiq Consent UI in their application. - [Application Management](https://api.basiq.io/docs/application-setup.md): Setting up your application within the Basiq Dashboard is an essential first step to effectively interact with the Basiq platform. Each application you create serves as a unique operational space, where API integrations are managed, settings are configured, and user permissions are controlled. Importantly, each application also acts as a boundary for the data it handles, ensuring data integrity and security. - [Customise UI](https://api.basiq.io/docs/basiq-customise-ui.md): Customise your ConsentUI effortlessly to tailor the user experience according to your preferences and requirements. - [Dashboard](https://api.basiq.io/docs/dash-configuration.md): Easily customise and fine-tune your application's settings using our user-friendly Dashboard configuration. - [Connections](https://api.basiq.io/docs/platform-connections.md) - [User Management](https://api.basiq.io/docs/user-management.md): The User Management functionality allows you to create, retrieve, update, and delete user objects representing end-users of your application. These user objects encapsulate financial details and institution relationships. This guide provides detailed instructions on how to perform user management operations via the Basiq API. - [Codes](https://api.basiq.io/docs/codes.md) - [Go live checklist](https://api.basiq.io/docs/go-live-checklist.md) - [Web to OpenBanking](https://api.basiq.io/docs/migrating-users-from-web-to-openbanking-connection.md): This guide outlines the process for transitioning users from a Web connection to an OpenBanking (OB) connection. - [Institutions EP to Connectors EP](https://api.basiq.io/docs/migration-guide-from-institutions-ep-to-connectors-ep.md) - [Migration checklist](https://api.basiq.io/docs/upgrading-to-v3-0.md): Quick Guide to Upgrading to Basiq API 3.0 - [Security](https://api.basiq.io/docs/security.md) - [Delivery Schedule and Retries](https://api.basiq.io/docs/delivery-schedule-and-retries.md) - [Webhooks](https://api.basiq.io/docs/webhooks.md) - [Webhooks Security](https://api.basiq.io/docs/webhooks-security.md) - [Personal Finance Management (PFM)](https://api.basiq.io/docs/demo-pfm.md) - [Account Verification (IAV)](https://api.basiq.io/docs/starter-kit-account-verification.md): Instant Account Verification Starter Kit - [Income/Expense Verification (IEV)](https://api.basiq.io/docs/verification-iav.md) ## API Reference - [Retrieve an affordability summary](https://api.basiq.io/reference/getaffordability.md): Retrieves a specific, pre existing affordability summaries - [List affordability summaries](https://api.basiq.io/reference/getaffordabilitylist.md): Returns a list of affordability summaries that have been generated for a specific user. - [List affordability summary transactions](https://api.basiq.io/reference/getaffordabilitysnapshottransactions.md): Use this endpoint to retrieve a paginated list of transactions associated with an affordability summary. - [Create an affordability summaries](https://api.basiq.io/reference/postaffordability.md): Create an affordability summaries for a user - [Retrieve an expense summary](https://api.basiq.io/reference/getexpenses.md): Retrieve an existing expense summary for a specific user - [Create an expense summary](https://api.basiq.io/reference/postexpenses.md): Create a new expense summary for a user - [Retrieve an income summary](https://api.basiq.io/reference/getincome.md): Retrieve an existing income summary for a specific user - [Create an income summary](https://api.basiq.io/reference/postincome.md): Create an income summary for a specific user - [Overview](https://api.basiq.io/reference/ai-tools-overview.md) - [LLM Resources](https://api.basiq.io/reference/llm-resources.md) - [MCP Server](https://api.basiq.io/reference/mcp-server.md) - [OpenAPI](https://api.basiq.io/reference/openapi.md) - [Developer Hub](https://api.basiq.io/reference/developer-hub.md): Basiq simplifies finance with an Open Finance API platform that empowers businesses to create innovative financial solutions and connect consumers with their financial data. - [Introduction to Basiq](https://api.basiq.io/reference/introduction.md) - [Testing](https://api.basiq.io/reference/testing.md) - [Create an Insight](https://api.basiq.io/reference/createinsight.md): Creates a new insight for one or more users. Supported insight types are EXPENSE_RATIO_VERIFICATION, BALANCE_VERIFICATION, ACCOUNT_VERIFICATION, IDENTITY_VERIFICATION, and INCOME_VERIFICATION. Multi-user requests (1β10 users) are currently supported only for EXPENSE_RATIO_VERIFICATION.A single insight object is created referencing all users. The self link in the response uses the first userId from the users array. - [Account Insights](https://api.basiq.io/reference/getaccountinsights.md): Retrieve account insights for a specific user based on account number - [Account Balance Insights](https://api.basiq.io/reference/getbalanceinsights.md): Retrieve balance insights for a user's accounts based on specified minimum and maximum balance criteria - [Expense Ratio Insights](https://api.basiq.io/reference/getexpenseratioinsights.md): Calculate and return the expense-to-income ratio. - [Identity Insights](https://api.basiq.io/reference/getidentityinsights.md): Retrieve identity insights for a specific user by comparing provided personal details (name, phone, email, address). - [Retrieve an Insight](https://api.basiq.io/reference/getinsightbyid.md): Returns detailed information for a specific insight by ID - [Retrieve Insight Type](https://api.basiq.io/reference/getinsighttype.md): Returns the definition of a single supported CDR Insight type identified by `{typeId}`. - [List Insight Types](https://api.basiq.io/reference/getinsighttypes.md): Returns the list of supported CDR Insight types and the Insight-specific input schema (`data`) each type expects. - [List all Insights](https://api.basiq.io/reference/listuserinsights.md): Returns a paginated list of previously generated insights for the specified user. Supports filtering by creation date and insight type. Maximum 20 insights per page. - [Income Insights](https://api.basiq.io/reference/verifyincomeinsight.md): Verifies if a user's income falls within a specified range. Returns a match result with confidence level based on the user's financial data. - [Retrieve an account](https://api.basiq.io/reference/getaccount.md): Retrieve a specific account belonging to a user - [List all accounts](https://api.basiq.io/reference/getaccounts.md): List all accounts belonging to a user - [Generate an auth token](https://api.basiq.io/reference/posttoken.md): Use this endpoint to retrieve a token that will be passed as authorization header for Basiq API - [Delete a connection](https://api.basiq.io/reference/deleteconnection.md): Permanently deletes a connection. This does not include the existing account and transaction data associated with it. This can not be undone. - [Retrieve a connection](https://api.basiq.io/reference/getconnection.md): Use this to retrieve details of a specific connection. Note that due to security the loginId, password, securityCode are never returned. - [List all connections](https://api.basiq.io/reference/getconnections.md): Returns a list of connections belonging to this user. Each entry in the array is a separate object. If no data is returned, the resulting array will be empty. - [Purge connection data](https://api.basiq.io/reference/purgeconnectiondata.md): Use this endpoint to remove all user data related to a specific institution. Purging is only applicable for active user connections. When Enrich data is updated, the Enrich results under transactions wonβt automatically reflect these updates. To ensure the latest Enrich results are available, partners should first purge and then refresh connections. Without this step, any new insight reports generated will not include the latest enriched data. > π **Note:** Remember to purge and refresh connections to keep Enrich insights current. - [Refresh a connection](https://api.basiq.io/reference/refreshconnection.md): Use this to refresh an existing connection. This will not return a new connection. Instead will return a job resource which is resonsible for refreshing the connection and fetching data asynchronously. Use this job resource to track the connections progress. - [Refresh all connections](https://api.basiq.io/reference/refreshconnections.md): Use this to refresh all connections belonging to the specified user. - [Delete a consent](https://api.basiq.io/reference/deleteconsent.md): Permanently deletes a users consent, this action cannot be undone. - [Retrieve consents](https://api.basiq.io/reference/getconsents.md): Retrieves a list of the user consents - [Retrieve a job](https://api.basiq.io/reference/getjobs.md): Retrieves the details of an existing job. You need only supply the unique job identifier that was returned upon job creation. - [Get user jobs](https://api.basiq.io/reference/getuserjobs.md): Retrieves the details of all existing and previous jobs associated with a user. **Note:** This endpoint only returns jobs that are less than 7 days old. - [Create MFA response](https://api.basiq.io/reference/postjobmfa.md): Ensure that you generate an authentication token with scope = CLIENT_ACCESS and basiq-version = 3.0 to create this resource - [Retrieve a transaction](https://api.basiq.io/reference/gettransaction.md): Retrieve an existing transaction - [List all transactions](https://api.basiq.io/reference/gettransactions.md): List all transactions belonging to a specified user - [Create a user](https://api.basiq.io/reference/createuser.md): Creates a new Basiq user object - [Delete a user](https://api.basiq.io/reference/deleteuser.md): Permanently deletes a user along with all of their associated connection details. All data associated with this user will deleted. You need only supply the unique user identifier that was returned upon user creation. - [Retrieve a user](https://api.basiq.io/reference/getuser.md): Retrieves the details of an existing user. You need only supply the unique user identifier that was returned upon user creation. - [Update a user](https://api.basiq.io/reference/updateuser.md): Updates the specified user by setting the values of the parameters passed. Any parameters not provided will be left unchanged. - [Enrich](https://api.basiq.io/reference/enrich.md): The Enrich resource enables you to retrieve details by passing in a search query containing a bank transaction description. The service enriches transaction data with multiple attributes, returning a transaction classification and three metadata components. The transaction classification will first determine if the transaction is of type payment, transfer, cash-withdrawal, bank-fee etc. The engine then derives merchant information, purchase location and prescribes an industry standard categorisation for each payment transaction. - [Retrieve a merchant](https://api.basiq.io/reference/getmerchantbyid.md): Retrieves a single merchant's details using its unique ID. - [Search Merchants](https://api.basiq.io/reference/merchantsearch.md): Retrieves merchant details. At least one of `abn` or `merchantName` is required for a successful search. Optional filters for suburb and entity type can also be applied. - [Retrieve identities](https://api.basiq.io/reference/getuseridentities.md): Returns a list with a data property that contains an array of user identities. Each entry in the array is a separate object. If no data is returned, the resulting array will be empty. - [Retrieve an identity](https://api.basiq.io/reference/getuseridentity.md): Returns a specific identity object. - [Connection Analytics](https://api.basiq.io/reference/getconnectionanalytics.md): Retrieve connection analytics, including connection creation, status distribution, method distribution, and disruption rates over a given time interval. - [User Analytics](https://api.basiq.io/reference/getuseranalytics.md): Retrieve user analytics, such as number of users and connections created for an application over a given time interval. - [Delete an auth_link](https://api.basiq.io/reference/deleteauthlink.md):
Note that this action cannot be undone.
The auth_link is a URL that directs a User to Basiq's hosted consent workflow to link banks and securely share data. When the user selects 'I have disclosed all my accounts' the auth_link is automatically deleted.Returns an empty body if the delete succeeded. Otherwise, this call returns an error in the event of a failure. - [Retrieve an auth_link](https://api.basiq.io/reference/getauthlink.md): Returns the latest/last auth_link generated for the specified user. Returns an error otherwise. - [Create an auth_link](https://api.basiq.io/reference/postauthlink.md): Create a new auth_link object by making a POST request to the auth_link endpoint. The new auth_link will effectively delete previous auth_link for that user, rendering the previous URL(s) invalid. The 'mobile' attribute is used for 2FA SMS verification and is conditionally required. If it is not specified, we will look up the mobile on the user object; if that is not specified either, you will get an error. If both are specified, the mobile number on the auth_link will take precedence. - [Retrieve a connector](https://api.basiq.io/reference/getconnector.md): NOTE: This end point requires authentication. - [Retrieve connectors](https://api.basiq.io/reference/getconnectors.md): NOTE: This end point requires authentication. - [List all events](https://api.basiq.io/reference/getevents.md): Returns a list of all events that have taken place. - [Retrieve an event type](https://api.basiq.io/reference/geteventtypebyid.md): Returns a single event type based on the parameter input. - [Retrieve an event](https://api.basiq.io/reference/gettypebyid.md): Returns a single event type based on the parameter input. - [List event types](https://api.basiq.io/reference/listeventtypes.md): Returns a list of event types. - [Get Payee Details](https://api.basiq.io/reference/getpayeedetails.md): Retrieves detailed information for a specific payee. The response includes type-specific details based on the payee type (domestic, biller, international, or digitalWallet). - [List Payees](https://api.basiq.io/reference/getpayees.md): Retrieves a paginated list of payees for a specific user. Supports filtering by payee type, connection ID, and creation date. - [Create a statement](https://api.basiq.io/reference/createstatement.md): Create a new statement by uploading an official PDF bank statement or CSV file. The server will create a job that processes the following steps: 1. **verify-credentials**: Verify the file, validate the layout, and attempt to parse the statement. 2. **retrieve-accounts**: Retrieve the list of accounts and their details (account number, name, balances). 3. **retrieve-transactions**: Fetch the transactions for each account. The status of each step can be checked by querying the Retrieve a job. > Note that this function is not supported in sandbox environments (AU00000). For CSV file format specifications, please contact our support team. > π§ > > Note that the time it takes to complete the processes above will vary depending on the volume of data along with the complexity of the bank statement. As a rough guide this entire process could take anywhere between 10 - 30 secs. Upload multiple statements in parallel to provide the best user experience - [Create a report](https://api.basiq.io/reference/createreport.md): Use this endpoint to create a new report. Report creation is an asynchronous task, meaning a job will be returned to let you know the progress of the report generation. You can poll the job to know when the report has been generated. You can create any supported report (see reportTypes for a list of supported reports). Ensure you provide the necessary filters when generating a report. All created reports, will store a copy of the data as a snapshot - this ensures that you have access to the raw data that was used to create the report. This API allows generating reports with various filters. The `filters` field in the report request enables you to specify parameters for customizing the report content. > π Note: The report title cannot be longer than 50 characters. > π **Reminder:** When Enrich data is updated, the transactions' Enrich results wonβt automatically reflect these updates. To ensure your report reflects the latest Enrich data, purge and refresh connections before generating a new report. ### Filters Filters are used to narrow down the data included in the report. The available filters are: - `fromDate`: Specifies the start date for the report data (format: YYYY-MM-DD). - `toDate`: Specifies the end date for the report data (format: YYYY-MM-DD). - `accounts`: List of account IDs to include in the report. - `users`: List of user IDs to include in the report. - `includeMetrics`: List of metric codes to include in the report. Supported values are specific to the report type. Rules for `includeMetrics`: - If the array is empty (`"value": []`), all metrics will be shown. - If no filter is provided, all metrics will be shown. - If an array of codes is provided, only these specific metrics will be shown. - If the value is `null`, no metrics will be shown. - `includeGroups`: List of group codes to include in the report. Supported values are specific to the report type. Rules for `includeGroups`: - If the array is empty (`"value": []`), all groups will be shown. - If no filter is provided, all groups will be shown. - If an array of codes is provided, only these specific groups will be shown. - If the value is `null`, no groups will be shown. - [Delete a report](https://api.basiq.io/reference/deletereport.md): Permanently deletes a report and all associated snapshot data. - [List all reports](https://api.basiq.io/reference/listallreports.md): Use this endpoint to retrieve a list of created reports. Each report is stored as a snapshot and remains available for up to 14 days after creation. To view the list of supported report types, you can call the reports/types endpoint. - [List report types](https://api.basiq.io/reference/listreporttypes.md): Use this endpoint to retrieve a list of supported reports. This identifies the complete list of supported reports, which can be used to create reports on. - [Retrieve a report](https://api.basiq.io/reference/retrievereport.md): Use this endpoint to retrieve a specific report. Ensure you check the documentation for the schema of each report type. | Request Header | Description | |----------------|-----------------------------------------------------------------------------| | Accept | Specifies the format of the response. Use `application/json` or `application/pdf` | If you want to generate the PDF, make sure to change `content-type` in the CURL request to `application/pdf` for PDF generation. - [Retrieve Report transactions](https://api.basiq.io/reference/retrievereporttransactions.md): Retrieve transactions belonging to the report identified by {reportId}. - [Retrieve a report type](https://api.basiq.io/reference/retrievespecificreporttype.md): Retrieve information about a specific report type identified by {reportId}. - [Delete a webhook](https://api.basiq.io/reference/deletewebhook.md) - [Retrieve a webhook](https://api.basiq.io/reference/getwebhook.md) - [Retrieve a message](https://api.basiq.io/reference/getwebhookmessage.md) - [Get webhook delivery statistics](https://api.basiq.io/reference/getwebhookstats.md) - [List all webhooks](https://api.basiq.io/reference/listappwebhooks.md) - [List all messages](https://api.basiq.io/reference/listmessages.md) - [Post a test message](https://api.basiq.io/reference/testmessage.md) - [Update a webhook](https://api.basiq.io/reference/updatewebhook.md) ## Changelog - [May'26 - AI Tools: llms.txt, MCP Server, and OpenAPI](https://api.basiq.io/changelog/may26-ai-tools-llmstxt-mcp-server-and-openapi.md) - [May'26 - Basiq Consent UI Improvement](https://api.basiq.io/changelog/may26-basiq-platform-improvement.md) - [May'26 - CDR Insights API Updates](https://api.basiq.io/changelog/may26-insights.md) - [April'26 - Improved validation errors in Customise UI](https://api.basiq.io/changelog/april26-improved-validation-errors-in-customise-ui.md) - [ANZ New Zealand (NZ00101) - End of Support](https://api.basiq.io/changelog/anz-new-zealand-nz00101-end-of-support.md)