### Install Basiq SDK via CLI Source: https://api.basiq.io/reference/developer-hub Uses the 'api' CLI tool to install an SDK based on an OpenAPI definition. Supports registry UUIDs, remote URLs, and local file paths. ```shell npx api install ``` -------------------------------- ### Basiq IO 404 Not Found Error Example (JSON) Source: https://api.basiq.io/reference/updatewebhook An example of a 404 Not Found error response from the Basiq IO API. This typically occurs when a requested resource, such as a webhook, does not exist. The response includes a correlation ID and error details. ```json { "type": "list", "correlationId": "9b27dbd7-d397-428a-9eff-5048d2bed5eb", "data": [ { "type": "error", "code": "resource-not-found", "title": "Requested resource is not found", "detail": "Webhook with provided id doesn't exist." } ] } ``` -------------------------------- ### Bad Request Error Example (JSON) Source: https://api.basiq.io/reference/enrich Provides an example of a 'Bad Request' error response (HTTP 400) as returned by the Basiq IO API. This example demonstrates how the error structure is populated when a request contains invalid parameters, such as an invalid ID or filter format. ```json { "type": "list", "correlationId": "ac5ah5i", "data": [ { "type": "error", "title": "Parameter not valid.", "code": "parameter-not-valid", "detail": "ID value is not valid.", "source": { "parameter": "id" } } ] } ``` ```json { "type": "list", "correlationId": "ac5ah55", "data": [ { "type": "error", "code": "parameter-not-valid", "title": "Parameter value is not valid", "detail": "The provided filter parameter is in invalid format or unsupported", "source": { "parameter": "filter" } } ] } ``` -------------------------------- ### Service Unavailable Error Example Source: https://api.basiq.io/reference/listappwebhooks An example of a 'Service Unavailable' error response. This indicates a temporary issue with the API service and suggests retrying the request later. ```json { "type": "error", "code": "service-unavailable", "title": "Service Unavailable", "detail": "Service Unavailable. Try again later." } ``` -------------------------------- ### Service Unavailable Example Source: https://api.basiq.io/reference/getwebhook An example of a 'Service Unavailable' error response, including a correlation ID for tracking. ```APIDOC ## Service Unavailable Example ### Description This example demonstrates the structure of a 'Service Unavailable' error response. ### Response Example ```json { "type": "list", "correlationId": "9b27dbd7-d397-428a-9eff-5048d2bed5eb", "data": [ { "type": "error", "code": "service-unavailable", "title": "Service Unavailable", "detail": "Service Unavailable. Try again later." } ] } ``` ``` -------------------------------- ### GET /websites/api_basiq_io_reference Source: https://api.basiq.io/reference/getconnectors Retrieves a list of available connectors. This endpoint requires authentication. ```APIDOC ## GET /websites/api_basiq_io_reference ### Description Retrieves a list of available connectors. This endpoint requires authentication. ### Method GET ### Endpoint /websites/api_basiq_io_reference ### Parameters #### Query Parameters (No query parameters defined) #### Request Body (No request body defined) ### Request Example (No request body example provided) ### Response #### Success Response (200) - **connectors** (array) - A list of connector objects. - **id** (string) - The unique identifier for the connector. - **name** (string) - The name of the connector. - **description** (string) - A brief description of the connector. - **type** (string) - The type of the connector (e.g., 'bank', 'credit_card'). - **logo_url** (string) - The URL of the connector's logo. #### Response Example { "connectors": [ { "id": "123e4567-e89b-12d3-a456-426614174000", "name": "Example Bank", "description": "Connects to Example Bank accounts.", "type": "bank", "logo_url": "https://example.com/logos/example_bank.png" } ] } #### Error Response (401) - **error** (object) - An error object indicating authentication failure. - **code** (string) - The error code (e.g., 'unauthenticated'). - **message** (string) - A message describing the error. #### Error Response Example (401) { "error": { "code": "unauthenticated", "message": "Authentication credentials were not provided or are invalid." } } ``` -------------------------------- ### GET /webhooks Source: https://api.basiq.io/reference/listappwebhooks Retrieve a list of all webhooks configured for the current account. ```APIDOC ## GET /webhooks ### Description Returns a list of all registered webhooks associated with the authenticated account. ### Method GET ### Endpoint /webhooks ### Parameters #### Query Parameters - **limit** (integer) - Optional - The number of records to return. - **offset** (integer) - Optional - The number of records to skip. ### Request Example GET /webhooks ### Response #### Success Response (200) - **data** (array) - A list of webhook objects. #### Response Example { "data": [ { "id": "wh_12345", "url": "https://api.example.com/webhook", "event": "transaction.created" } ] } ``` -------------------------------- ### GET /affordability Source: https://api.basiq.io/reference/postaffordability Retrieves the affordability summary for a user, including external liabilities and payment patterns. ```APIDOC ## GET /affordability ### Description Retrieves an affordability summary generated over a specific period, detailing external liabilities and payment metrics. ### Method GET ### Endpoint /affordability ### Parameters #### Query Parameters - **fromMonth** (string) - Required - Start month for the period (YYYY-MM). - **toMonth** (string) - Required - End month for the period (YYYY-MM). ### Response #### Success Response (200) - **generatedDate** (string) - Date the summary was generated. - **liabilities** (array) - List of identified external liabilities. - **payments** (object) - Aggregated payment attributes for the source. #### Response Example { "generatedDate": "2020-03-26T06:56:44", "fromMonth": "2019-03", "toMonth": "2020-03", "liabilities": [ { "source": "afterpay", "payments": { "amountAvg": "-50.50", "amountAvgMonthly": "-20.00", "first": "2019-03-15", "last": "2020-03-15", "noOccurrences": 2, "total": "-146.50" } } ] } ``` -------------------------------- ### GET /connectors Source: https://api.basiq.io/reference/getconnectors Retrieves a list of connectors including performance statistics and resource links. ```APIDOC ## GET /connectors ### Description Retrieves a list of available connectors, including performance metrics such as average duration for credential verification and resource links. ### Method GET ### Endpoint /connectors ### Parameters #### Query Parameters - **filter** (string) - Optional - Filter criteria for the connector list. ### Response #### Success Response (200) - **data** (array) - List of connector objects. - **links** (object) - Resource navigation links. #### Error Response (400) - **correlationId** (string) - Unique identifier for the error. - **data** (array) - List of error details including error codes and descriptions. ### Response Example { "type": "list", "data": [ { "id": "connector-123", "performance": { "averageDurationMs": 150 }, "links": { "self": "/connectors/connector-123" } } ] } ``` -------------------------------- ### GET /users/{userId}/affordability Source: https://api.basiq.io/reference/getaffordabilitylist Retrieves a list of affordability summaries that have been generated for a specific user. ```APIDOC ## GET /users/{userId}/affordability ### Description Returns a list of affordability summaries that have been generated for a specific user. Note: This endpoint is deprecated. ### Method GET ### Endpoint https://au-api.basiq.io/users/{userId}/affordability ### Parameters #### Path Parameters - **userId** (string) - Required - The identifier of the user. ### Request Example N/A (No request body required) ### Response #### Success Response (200) - **type** (string) - Always "List". - **data** (array) - An array of affordability resources. #### Response Example { "type": "list", "data": [ { "type": "affordability", "id": "s55bf3", "coverageDays": 392, "fromMonth": "2019-03", "toMonth": "2020-03", "generatedDate": "2020-03-26T06:56:44", "institutions": ["AU00000"], "links": { "expenses": "https://au-api.basiq.io/users/25c8d1ed77/expenses/s55bf5", "income": "...", "self": "..." } } ] } ``` -------------------------------- ### Retrieve Event Type by ID (OpenAPI) Source: https://api.basiq.io/reference/geteventtypebyid Defines the GET operation for retrieving a specific event type using its ID. It specifies the path parameter, expected request and response schemas, and provides examples for a successful response (200 OK) and an error response (400 Bad Request) due to an invalid parameter. ```json { "openapi": "3.0.1", "info": { "title": "Core", "description": "All included utility endpoints for Basiq partners", "version": "3.0.0", "termsOfService": "https://docs.basiq.io/en/collections/440849-privacy-terms-and-common-questions", "license": { "name": "Commercial", "url": "https://basiq.io" } }, "servers": [ { "url": "https://au-api.basiq.io" } ], "paths": { "/events/types/{id}": { "get": { "tags": [ "Events" ], "summary": "Retrieve an event type", "description": "Returns a single event type based on the parameter input.", "operationId": "getEventTypeById", "parameters": [ { "name": "id", "required": true, "schema": { "type": "string" }, "in": "path", "example": "user.created" } ], "responses": { "200": { "description": "OK", "content": { "application/json": { "schema": { "type": "object", "properties": { "type": { "type": "string" }, "id": { "type": "string", "description": "Identifer of the event type", "example": "user.created" }, "description": { "type": "string", "description": "a brief description of the event type", "example": "when a user is created" }, "links": { "type": "object", "properties": { "self": { "type": "string" } } } }, "x-readme-ref-name": "EventType" }, "examples": { "Success": { "value": { "id": "account.updated", "description": "when an account is updated", "links": { "self": "https://au-api.basiq.io/events/types/account.updated" } } } } } } }, "400": { "description": "Error status response code indicates that the request has not been applied because it lacks valid authentication credentials for the target resource.", "content": { "application/json": { "schema": { "properties": { "type": { "type": "string" }, "correlationId": { "type": "string" }, "data": { "type": "array", "items": { "type": "object", "properties": { "type": { "type": "string" }, "code": { "type": "string" }, "title": { "type": "string" }, "detail": { "type": "string" }, "source": { "type": "object", "properties": { "parameter": { "type": "string" } } } } } } }, "x-readme-ref-name": "Error" }, "examples": { "Parameter not valid": { "value": { "type": "list", "correlationId": "9b27dbd7-d397-428a-9eff-5048d2bed5eb", "data": [ { "type": "error", "code": "path-parameter-not-valid", "title": "Parameter value is not valid", "detail": "Event Type ID parameter is not valid", "source": { "parameter": "eventTypeId" } } ] } } } } } }, "401": { "description": "" } } } } } } ``` -------------------------------- ### Initialize and Authenticate Basiq SDK Source: https://api.basiq.io/reference/developer-hub Demonstrates how to import the generated SDK, authenticate using an API key, and perform a request. The SDK automatically manages headers and request body structures. ```javascript const sdk = require('@api/apiversion3'); sdk.auth('Basic '); sdk.postToken({scope: 'SERVER_ACCESS'}, { 'BASIQ-version': '3.0' }) .then(({ data }) => console.log(data)) .catch(err => console.error(err)); ``` -------------------------------- ### Basiq IO API Account Data Example Source: https://api.basiq.io/reference/getaccountinsights This snippet shows a successful response containing account data, including account IDs, numbers, and types. It also includes a self-referencing link. ```json { "accountId": "614b5cf2-1425-481e-8706-610f08c0c7dd", "accountNumber": { "input": "032096658830", "match": false, "confidence": 0 }, "accountType": { "input": "savings", "match": false, "confidence": 0 } }, { "accountId": "88c781ff-104d-4834-bb36-e9428f508017", "accountNumber": { "input": "032096658830", "match": false, "confidence": 0 }, "accountType": { "input": "savings", "match": false, "confidence": 0 } }, { "accountId": "88c781ff-104d-4834-bb36-e9428f508017", "accountNumber": { "input": "032096658830", "match": false, "confidence": 0 }, "accountType": { "input": "savings", "match": false, "confidence": 0 } }], "links": { "self": "https://au-api.basiq.io/users/60a0c24e-07c3-41a2-acdf-be8f1b7dd9f3/insights/ed17a3ce-cf15-4ff2-a9e3-26b50602bd61" } } ``` -------------------------------- ### Account Data Structure Example Source: https://api.basiq.io/reference/retrievereport This snippet shows the structure of account data returned by the Basiq API. It includes details such as account number, name, balance, and associated links. ```json { "id": "a6e4dc76-03e0-46e9-9fb3-04b6623b3392", "accountNo": "600000-9292938", "name": "My Credit Card", "currency": "AUD", "balance": "890.50", "availableFunds": "716.50", "lastUpdated": "2022-02-19T12:00:00Z", "institution": "AU00000", "class": { "type": "credit-card", "product": "Shopper Plus CC" }, "transactionIntervals": [ { "from": "2020-12-31", "to": "2022-02-20" } ], "accountHolder": "GAVIN BELSON", "accountOwnership": "UNKNOWN", "connection": "a59e4077-2626-45f2-ae5a-39ea7ffbf51a", "status": "available", "creditLimit": "2000.00", "links": { "self": "/users/6a52015e/accounts/31eb30a0", "transactions": "/users/6a52015e/transactions?filter=account.id.eq('31eb30a0')", "institution": "/institutions/AU00000" } } ``` -------------------------------- ### Define ErrorResponse JSON Schema Examples Source: https://api.basiq.io/reference/getexpenseratioinsights A collection of JSON examples demonstrating how the API communicates validation errors. These examples follow the ErrorResponse schema structure, providing a correlation ID and specific error details for invalid input parameters. ```json { "type": "list", "correlationId": "bde1a9ce-75e3-45aa-acf1-1299f03baf03", "data": [ { "type": "error", "code": "parameter-not-valid", "title": "Parameter value is not valid", "detail": "The provided expense parameter is in invalid format", "source": { "pointer": "expense-ratio", "parameter": "expense" } } ] } ``` -------------------------------- ### Basiq API: Balance Insight Example Source: https://api.basiq.io/reference/getbalanceinsights This snippet shows a typical response for a balance insight query. It includes account IDs, account number details with input ranges, match status, and confidence scores. The response also contains links to the specific insight. ```json { "created": "2025-09-18T09:20:44Z", "insightType": "balance", "data": [ { "accountId": "155e5916-b4ff-433f-924f-3eca8493de6d", "accountNumber": { "input": { "min": "1", "max": "1.44" }, "match": false, "confidence": 0 } }, { "accountId": "45e79e60-d9f0-440c-bbf0-1e174722215e", "accountNumber": { "input": { "min": "1", "max": "1.44" }, "match": false, "confidence": 0 } }, { "accountId": "c87d0d9e-39d7-4621-8bb4-031f4679abb5", "accountNumber": { "input": { "min": "1", "max": "1.44" }, "match": false, "confidence": 0 } } ], "links": { "self": "https://au-api.basiq.io/users/2fc2691d-a6e5-4d1d-9748-c3b217ad76b0/insights/8ef117bc-6695-4607-ab76-8213c440ee1d" } } ``` -------------------------------- ### Authenticate and Create User with BASIQ SDK Source: https://api.basiq.io/reference/developer-hub Demonstrates the process of authenticating with a BASIQ API key to obtain a server access token, followed by using that token to create a new user entity. This snippet requires the @api/apiversion3 package and handles the asynchronous flow of token retrieval and user creation. ```javascript const sdk = require('@api/apiversion3'); let access; // Authenticate and get access token sdk.auth('Basic { access = data.access_token; console.log('Access token:', access); // Authenticate using the access token sdk.auth(access); // Create a new user return sdk.createUser({ email: 'gavin@hooli.com', mobile: '+61410888666', firstName: 'Gavin', middleName: '', lastName: 'Belson' }); }) .then(({ data }) => { console.log('User created:', data); }) .catch(err => console.error('Error:', err)); ``` -------------------------------- ### POST /websites/api_basiq_io_reference Source: https://api.basiq.io/reference/postaffordability This endpoint is designed to create and return an affordability PDF report. It handles success cases by returning the report and also addresses scenarios with no transactions for the specified period by returning no content. ```APIDOC ## POST /websites/api_basiq_io_reference ### Description Returns a created affordability PDF Report if the operation succeeded. Returns no content if there are no transactions for the requested period. ### Method POST ### Endpoint /websites/api_basiq_io_reference ### Parameters #### Query Parameters - **userId** (string) - Required - The ID of the user for whom the report is generated. - **startDate** (string) - Required - The start date for the report period (YYYY-MM-DD). - **endDate** (string) - Required - The end date for the report period (YYYY-MM-DD). ### Request Body This endpoint does not require a request body. ### Response #### Success Response (200) - **pdfReport** (string) - The generated affordability PDF report. #### Success Response (204) No content is returned if there are no transactions for the requested period. #### Error Response (400) - **correlationId** (string) - Unique identifier for this particular occurrence of the problem. - **type** (string) - Always "list". - **data** (array) - Error data. - **code** (string) - Application-specific error code (e.g., "parameter-not-valid"). - **detail** (string) - Human-readable explanation specific to this occurrence of the problem. - **source** (object) - An object containing references to the source of the error. - **parameter** (string) - URI query parameter that caused the error. - **pointer** (string) - Location to the object or attribute that the error relates to. - **title** (string) - Title of the error. ### Request Example ```json { "example": "POST /websites/api_basiq_io_reference?userId=user123&startDate=2023-01-01&endDate=2023-12-31" } ``` ### Response Example (200) ```json { "pdfReport": "JVBERi0xLjQKJc... (base64 encoded PDF content)" } ``` ### Response Example (204) (No content) ### Response Example (400) ```json { "correlationId": "ac5ah5i", "type": "list", "data": [ { "code": "parameter-not-valid", "detail": "ID value is not valid.", "source": { "parameter": "userId", "pointer": "users/userId" }, "title": "Parameter not valid.", "type": "error" } ] } ``` ``` -------------------------------- ### GET /transactions Source: https://api.basiq.io/reference/gettransactions Retrieve a list of all transactions for a specified user. ```APIDOC ## GET /transactions ### Description List all transactions belonging to a specified user. ### Method GET ### Endpoint /transactions ### Parameters #### Query Parameters - **user_id** (string) - Required - The unique identifier of the user whose transactions are being requested. ### Request Example GET /transactions?user_id=user_12345 ### Response #### Success Response (200) - **data** (array) - A list of transaction objects. #### Response Example { "data": [ { "id": "trans_001", "amount": 50.00, "description": "Grocery Store" } ] } ``` -------------------------------- ### Jobseeker Income Analysis Example Source: https://api.basiq.io/reference/retrievereport Demonstrates the analysis structure for 'Jobseeker' income, detailing transaction summaries, date ranges, and average amounts. This snippet highlights how the API processes and presents financial data for specific user segments. ```json { "id": "INC-016", "title": "Jobseeker", "sections": [ "Income" ], "analysis": { "summary": { "transactionCount": 3, "overallPercentage": { "credit": 0, "debit": 0 } }, "range": { "startDate": "2022-01-01", "endDate": "2022-03-01", "duration": 59 }, "amount": { "total": "300.00", "min": "100.00", "max": "100.00", "average": { "transaction": "100.00", "month": "100.00", "medianTransaction": "20.00", "medianMonth": "20.00", "ongoingMonth": "0.00" }, "stableMonths": 1, "secureMonths": 0 }, "frequency": { "type": "P1M", "amount": "100.00", "display": "Monthly", "next": { "date": "2022-04-01", "amount": "100.00" } } }, "subgroup": [ { "id": "6d97ec2e37e4d1d24a105bdaea33b427", "name": "SAMPLE TRANSACTION", "analysis": { "summary": { "transactionCount": 3, "overallPercentage": { "credit": 0, "debit": 0 } } } } ] } ``` -------------------------------- ### Get Webhook Delivery Statistics (OpenAPI) Source: https://api.basiq.io/reference/getwebhookstats Defines the GET endpoint for retrieving webhook delivery statistics. It specifies the path parameter 'webhookId' and outlines success (200) and error responses (400, 401, 403, 404, 500). ```json { "openapi": "3.0.1", "info": { "description": "Webhooks", "version": "2.4.1", "title": "Webhooks", "termsOfService": "https://docs.basiq.io/en/collections/440849-privacy-terms-and-common-questions", "license": { "name": "Commercial", "url": "https://basiq.io" } }, "servers": [ { "description": "Basiq Webhooks", "url": "https://au-api.basiq.io" } ], "tags": [ { "name": "Webhooks", "description": "Basiq Webhooks" } ], "paths": { "/notifications/webhooks/{webhookId}/stats": { "get": { "tags": [ "Webhooks" ], "summary": "Get webhook delivery statistics", "operationId": "getWebhookStats", "parameters": [ { "name": "webhookId", "in": "path", "description": "webhook Id", "required": true, "schema": { "type": "string" }, "example": "d408cfec-b881-43ee-b5bd-ccea64896ed4" } ], "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WebhookStats" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "401": { "description": "Unauthorized", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "403": { "description": "Forbidden", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/Error" } } } }, "500": { "description": "Internal server error" } } } } }, "components": { "schemas": { "Error": { "properties": { "type": { "type": "string", "description": "Always \"list\"." }, "correlationId": { "type": "string", "description": "Unique identifier for this particular occurrence of the problem." }, "data": { "type": "array", "description": "Error data.", "items": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of the response, always \"error\"." }, "code": { "type": "string", "description": "Application-specific error code, expressed as a string value." }, "title": { "type": "string", "description": "Title of the error." }, "detail": { "type": "string", "description": "Human-readable explanation specific to this occurrence of the problem." }, "source": { "type": "object", "description": "An object containing references to the source of the error.", "properties": { "parameter": { "type": "string", "description": "String indicating which URI query parameter caused the error." } } } } } } }, "x-readme-ref-name": "Error" }, "WebhookStats": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of the response object.", "example": "webhook_stats" }, "applicationId": { "type": "string", "format": "uuid", "description": "unique identifier in the form of uuid for the application." }, "webhookId": { "type": "string", "format": "uuid", "description": "unique identifier in the form of uuid for the webhook." }, "success": { "type": "integer" } } } } } } ``` -------------------------------- ### POST /users Source: https://api.basiq.io/reference/createuser Creates a new user in the system. Supports both standard individual user profiles and business-specific profiles. ```APIDOC ## POST /users ### Description Creates a new user record. You can provide basic user information or include business details for business users. ### Method POST ### Endpoint /users ### Request Body - **email** (string) - Required - The user's email address. - **mobile** (string) - Required - The user's mobile number. - **firstName** (string) - Optional - The user's first name. - **lastName** (string) - Optional - The user's last name. - **businessName** (string) - Optional - The official name of the business. - **businessIdNo** (string) - Optional - Business identification number. - **businessIdNoType** (string) - Optional - Type of business ID (ABN or ACN). ### Request Example { "email": "gavin@hooli.com", "mobile": "+61410888999", "firstName": "Gavin", "lastName": "Belson", "businessName": "Manly Accounting PTY LTD" } ### Response #### Success Response (201) - **id** (string) - A unique identifier for the created user. - **type** (string) - The type of the response, always "user". - **email** (string) - The user's email address. #### Response Example { "id": "e1956419", "type": "user", "email": "gavin@hooli.com", "mobile": "61410888999" } ``` -------------------------------- ### Get a List of All Events Source: https://api.basiq.io/reference/developer-hub Retrieves a list of all events via a GET request to the /events endpoint. Metadata can be provided for filtering or pagination. It can throw various errors (400, 401, 403, 404, 500, 503) upon failure. ```javascript sdk.getEvents(metadata) ``` -------------------------------- ### GET /transactions/{id} Source: https://api.basiq.io/reference/gettransaction Retrieve the details of a specific transaction by its unique identifier. ```APIDOC ## GET /transactions/{id} ### Description Retrieve an existing transaction from the system using its unique transaction ID. ### Method GET ### Endpoint /transactions/{id} ### Parameters #### Path Parameters - **id** (string) - Required - The unique identifier of the transaction to retrieve. ### Request Example GET /transactions/507f1f17bcf86cd799439011 ### Response #### Success Response (200) - **id** (string) - The unique identifier of the transaction. - **amount** (number) - The transaction amount. - **description** (string) - The transaction description. - **status** (string) - The status of the transaction. #### Response Example { "id": "507f1f17bcf86cd799439011", "amount": 120.50, "description": "Grocery Store", "status": "posted" } ``` -------------------------------- ### GET /affordability/summary Source: https://api.basiq.io/reference/postaffordability Retrieves the financial summary for a user, including assets, liabilities, and monthly income/expense data. ```APIDOC ## GET /affordability/summary ### Description Retrieves a comprehensive summary of a user's financial position, including total assets, credit limits, monthly expenses, and liabilities. ### Method GET ### Endpoint /affordability/summary ### Parameters #### Query Parameters - **user_id** (string) - Required - The unique identifier for the user. ### Request Example { "user_id": "user_12345" } ### Response #### Success Response (200) - **assets** (string) - Total of cash based assets. - **creditLimit** (string) - Total credit limit across all credit cards and overdrafts. - **expenses** (string) - Average of monthly expenses calculated for the period. - **liabilities** (object) - Total of account based liabilities split into credit and loan liabilities. #### Response Example { "assets": "59983.11", "creditLimit": "20000.00", "expenses": "-12046.00", "liabilities": { "loanLiabilities": { "currency": "AUD", "institution": "Hooli", "previous6Months": { "arrears": "true" } } } } ``` -------------------------------- ### GET /reports Source: https://api.basiq.io/reference/listallreports Retrieves a paginated list of financial reports generated for users. ```APIDOC ## GET /reports ### Description Retrieves a collection of reports. This endpoint supports pagination via the 'next' link provided in the response. ### Method GET ### Endpoint /reports ### Parameters #### Query Parameters - **next** (string) - Optional - The pagination cursor to fetch the next set of results. ### Request Example GET https://au-api.basiq.io/reports ### Response #### Success Response (200) - **type** (string) - The resource type, always "list". - **count** (integer) - Number of items in the current page. - **size** (integer) - Total size of the page. - **data** (array) - List of report objects. - **links** (object) - Pagination links including 'self' and 'next'. #### Response Example { "type": "list", "count": 2, "size": 2, "data": [ { "type": "report", "id": "b1824ad0-73f1-0138-3700-0a58a9feac09", "title": "John Smith Affordability Report 2022-03-26", "reportType": "CON_AFFOR_01", "createdDate": "2022-03-26T06:56:44" } ], "links": { "self": "https://au-api.basiq.io/reports", "next": "https://au-api.basiq.io/reports?next=bf1ec9d4" } } ``` -------------------------------- ### POST /reports Source: https://api.basiq.io/reference/createreport Initiates the creation of a financial report. The server returns a job link that can be polled to track the progress of the report generation. ```APIDOC ## POST /reports ### Description Initiates the creation of a financial report. The server returns a job link that can be polled to track the progress of the report generation. ### Method POST ### Endpoint /reports ### Parameters #### Request Body - **reportType** (string) - Required - The type of report to generate (e.g., 'CON_AFFOR_01', 'STATEMENT_01'). - **title** (string) - Required - A descriptive title for the report. - **filters** (array) - Required - A list of filter objects containing 'name' and 'value' to define report scope (e.g., fromDate, toDate, accounts, users). ### Request Example { "reportType": "CON_AFFOR_01", "title": "John Smith Affordability Report 2022-03-26", "filters": [ { "name": "fromDate", "value": "2022-01-01" }, { "name": "toDate", "value": "2023-01-01" }, { "name": "includeMetrics", "value": ["ME002", "ME003"] } ] } ### Response #### Success Response (202) - **type** (string) - The resource type, usually 'job'. - **id** (string) - The unique identifier for the job. - **links** (object) - Contains the 'self' URL to poll for job status. #### Response Example { "type": "job", "id": "b1824ad0-73f1-0138-3700-0a58a9feac09", "links": { "self": "https://au-api.basiq.io/jobs/a3dgf4567a89" } } ``` -------------------------------- ### GET /payees Source: https://api.basiq.io/reference/getpayees Retrieve a paginated list of payees associated with the user account. ```APIDOC ## GET /payees ### Description Retrieves a list of all payees available for the authenticated user. The response includes pagination metadata and an array of payee objects. ### Method GET ### Endpoint /payees ### Parameters #### Query Parameters - **limit** (integer) - Optional - Number of records to return per page. - **offset** (integer) - Optional - Number of records to skip for pagination. ### Request Example GET /payees ### Response #### Success Response (200) - **type** (string) - Always 'list'. - **count** (integer) - Total number of payees available. - **size** (integer) - Number of payees returned in this response. - **data** (array) - List of PayeeSummary objects. - **links** (object) - Pagination links (self, next). #### Response Example { "type": "list", "count": 50, "size": 25, "data": [ { "type": "payee", "id": "payee_123", "nickname": "My Electricity Bill", "payeeType": "biller", "links": { "self": "/payees/payee_123" } } ], "links": { "self": "/payees?offset=0", "next": "/payees?offset=25" } } ``` -------------------------------- ### GET /connectors Source: https://api.basiq.io/reference/getconnectors Retrieve a list of available connectors. This endpoint requires authentication. ```APIDOC ## GET /connectors ### Description Retrieves a list of connectors available in the Basiq system. This endpoint supports advanced filtering to narrow down results by status, stage, institution type, and more. ### Method GET ### Endpoint https://au-api.basiq.io/connectors ### Parameters #### Query Parameters - **filter** (string) - Optional - A comma-separated list of filter statements. Format: `entity.property.operator('value')`. Example: `filter=connector.stage.eq('live'),connector.institution.tier.in('1','2')` ### Request Example GET /connectors?filter=connector.stage.eq('live') ### Response #### Success Response (200) - **type** (string) - Type identifies response data format (e.g., "list") - **totalCount** (integer) - Total count of connectors - **data** (array) - List of connector objects #### Response Example { "type": "list", "totalCount": 328, "data": [ { "type": "connector", "id": "AU00001", "institution": { "name": "Example Bank" }, "method": "web", "stage": "live", "stats": {}, "status": "operational", "scopes": ["accounts", "transactions"], "authorization": { "type": "user" } } ] } ``` -------------------------------- ### GET /affordability/summaries Source: https://api.basiq.io/reference/getaffordabilitylist Retrieves a list of affordability summaries for a specific user. Note that this is a legacy endpoint and users are encouraged to use the Reporting (Insights) API instead. ```APIDOC ## GET /affordability/summaries ### Description Returns a list of affordability summaries that have been generated for a specific user. ### Method GET ### Endpoint /affordability/summaries ### Parameters #### Query Parameters - **userId** (string) - Required - The unique identifier of the user to retrieve summaries for. ### Request Example GET /affordability/summaries?userId=user_123 ### Response #### Success Response (200) - **data** (array) - A list of affordability summary objects. #### Response Example { "data": [ { "id": "sum_001", "userId": "user_123", "status": "completed" } ] } ``` -------------------------------- ### Get List of User Consents Source: https://api.basiq.io/reference/developer-hub Retrieves a list of consents associated with a user via a GET request to the /consents endpoint. Metadata can be provided to filter or paginate the results. It can throw various errors (400, 401, 403, 404, 500) upon failure. ```javascript sdk.getConsents(metadata) ``` -------------------------------- ### Account Type Information Source: https://api.basiq.io/reference/postaffordability Retrieves details about account types, including their descriptions and examples. ```APIDOC ## GET /accounts/types ### Description Retrieves a list of available account types supported by the Basiq API. ### Method GET ### Endpoint /accounts/types ### Parameters #### Query Parameters None ### Request Example (No request body for GET requests) ### Response #### Success Response (200) - **type** (object) - Information about the account type. - **description** (string) - Description of the account type. - **example** (string) - Example of the account type. #### Response Example ```json { "type": { "type": "string", "description": "Identifies the Account type defined by institution", "example": "transaction" } } ``` ```