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: /token: post: tags: - Authentication summary: Generate an auth token description: >- Use this endpoint to retrieve a token that will be passed as authorization header for Basiq API. operationId: postToken parameters: - name: basiq-version in: header required: true schema: type: string example: '3.0' requestBody: content: application/x-www-form-urlencoded: schema: properties: scope: type: string userId: type: string examples: client_access: summary: For all client side requests value: scope: CLIENT_ACCESS userId: 6dd30ce4-d4ba-11ec-9d64-0242ac120002 server_access: summary: For all server side requests value: scope: SERVER_ACCESS responses: '200': description: 'Return token object that will be used for Basiq API requests. ' content: application/json: schema: $ref: '#/components/schemas/TokenPostResponse' '400': description: >- Returns error that server cannot or will not process the request as it does not conform. content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' security: - api_key: [] /users: post: tags: - Users summary: Create a user description: Creates a new Basiq user object operationId: createUser requestBody: content: application/json: schema: $ref: '#/components/schemas/createUser' examples: user: summary: For All Users value: email: gavin@hooli.com mobile: "+61410888666" firstName: Gavin middleName: "" lastName: Belson Bcc: summary: For Business Users value: email: gavin@hooli.com mobile: "+61410888999" firstName: Gavin middleName: middle name lastName: Belson businessName: Manly Accounting PTY LTD businessIdNo: 16 7645 892 businessIdNoType: ABN businessAddress: addressLine1: 21 Sydney Rd addressLine2: '' suburb: Manly state: NSW postcode: '2095' countryCode: AUS verificationStatus: true verificationDate: 12/01/2024 required: true responses: '201': description: Returns the user object if the creation succeeded. content: application/json: schema: $ref: '#/components/schemas/UserPostResponse' '400': description: >- Returns error that server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' security: - services_token: [] /users/{userId}: get: tags: - Users summary: Retrieve a user description: >- Retrieves the details of an existing user. You need only supply the unique user identifier that was returned upon user creation. operationId: getUser parameters: - name: userId in: path description: The identifier of the user to be retrieved. required: true schema: type: string responses: '200': description: Returns a user if a valid user ID was provided. content: application/json: schema: $ref: '#/components/schemas/UserGetResponse' '400': description: >- Returns error that server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' security: - services_token: [] post: tags: - Users summary: Update a user description: >- Updates the specified user by setting the values of the parameters passed. Any parameters not provided will be left unchanged. operationId: updateUser parameters: - name: userId in: path description: The identifier of the user to be retrieved. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/updateUser' required: true responses: '200': description: Returns the user object if the update succeeded. content: application/json: schema: $ref: '#/components/schemas/UserPostResponse' '400': description: >- Returns error that server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' security: - services_token: [] delete: tags: - Users summary: Delete a user description: >- 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. operationId: deleteUser parameters: - name: userId in: path description: User identification. required: true schema: type: string responses: '204': description: Deletion succeeded. content: {} '400': description: >- Returns error that server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' '503': description: >- Returns error response code indicates that the server is not ready to handle the request. content: application/json: schema: $ref: '#/components/schemas/StatusServiceUnavailableError' security: - services_token: [] /users/{userId}/consents: get: tags: - Consents summary: Retrieve consents description: Retrieves a list of the user consents operationId: getConsents parameters: - name: userId in: path description: The identifier of the user required: true schema: type: string responses: '200': description: Returns a list of user consents if they exist. content: application/json: schema: type: object properties: type: type: string example: "list" size: type: integer example: 2 data: type: array items: $ref: '#/components/schemas/UserConsentGetResponses' links: type: object properties: self: type: string example: "https://au-api.basiq.io/users/79ce620b-e7a6-4d49-8053-e5a0acfbbb77/consents" example: type: "list" size: 2 data: - type: "consent" id: "69d00245-1048-471a-902b-6cdc5d3d07a7" created: "2024-09-26T12:12:01Z" updated: "2024-09-26T12:12:01Z" expiryDate: "2025-09-26T12:12:01Z" origin: "user" status: "active" purpose: primary: title: "Share your financial data" description: "We need to connect to your bank to collect some information about your finances" other: null data: retainData: true initialRetrievalDays: 730 organisation: null permissions: - scope: "account.basic" required: true consented: true entity: "account" information: name: "Account name, type and balance" description: "This allows access to a list of your accounts and their current balance." attributeList: - "Name of account" - "Type of account" - "Account balance" purpose: title: "Account name, type and balance" description: "We need to capture your list of accounts." - scope: "customer.person.detail" required: true consented: true entity: "connection" information: name: "Name, occupation, contact details" description: "This allows access to personally identifiable information. Specifically your name, occupation, address(es) and contact details." attributeList: - "Name" - "Occupation" - "Phone" - "Email address" - "Mail address" - "Residential address" purpose: title: "Name, occupation, contact details" description: "This allows access to personally identifiable information." - scope: "transaction.detail" required: true consented: true entity: "transaction" information: name: "Transaction details" description: "This allows access to transaction data for your accounts." attributeList: - "Incoming and outgoing transactions" - "Amounts" - "Dates" - "Descriptions of transactions" - "Who you have sent money to and received money from" purpose: title: "Transaction details" description: "This allows access to transaction data for your accounts." - scope: "account.detail" required: true consented: true entity: "account" information: name: "Account balance and details" description: "This allows access to detailed information of your accounts." attributeList: - "Name of account" - "Type of account" - "Account balance" - "Account number" - "Interest rates" - "Fees" - "Discounts" - "Account terms" - "Account mail address" purpose: title: "Account balance and details" description: "We need to capture your account details." links: self: "https://au-api.basiq.io/users/79ce620b-e7a6-4d49-8053-e5a0acfbbb77/consents/69d00245-1048-471a-902b-6cdc5d3d07a7" consentPolicy: "https://au-api.basiq.io/policies/94c17e2f-c452-442d-b097-37064447fddd" latestConsentPolicy: "https://au-api.basiq.io/policies/94c17e2f-c452-442d-b097-37064447fddd" - type: "consent" id: "cd3a0120-e1d3-4646-ac49-70e4a2b13dfb" created: "2024-03-08T14:32:06Z" updated: "2024-09-24T12:19:35Z" expiryDate: "2025-03-08T14:32:06Z" origin: "user" status: "revoked" purpose: primary: title: "Share your financial data" description: "We need to connect to your bank to collect some information about your finances" other: null data: retainData: true initialRetrievalDays: 730 organisation: null permissions: - scope: "account.basic" required: true consented: true entity: "account" information: name: "Account name, type and balance" description: "This allows access to a list of your accounts and their current balance." attributeList: - "Name of account" - "Type of account" - "Account balance" purpose: title: "Account name, type and balance" description: "We need to capture your list of accounts." - scope: "customer.person.detail" required: true consented: true entity: "connection" information: name: "Name, occupation, contact details" description: "This allows access to personally identifiable information." attributeList: - "Name" - "Occupation" - "Phone" - "Email address" - "Mail address" - "Residential address" purpose: title: "Name, occupation, contact details" description: "This allows access to personally identifiable information." - scope: "transaction.detail" required: true consented: true entity: "transaction" information: name: "Transaction details" description: "This allows access to transaction data for your accounts." attributeList: - "Incoming and outgoing transactions" - "Amounts" - "Dates" - "Descriptions of transactions" - "Who you have sent money to and received money from" purpose: title: "Transaction details" description: "This allows access to transaction data for your accounts." - scope: "account.detail" required: true consented: true entity: "account" information: name: "Account balance and details" description: "This allows access to detailed information of your accounts." attributeList: - "Name of account" - "Type of account" - "Account balance" - "Account number" - "Interest rates" - "Fees" - "Discounts" - "Account terms" - "Account mail address" purpose: title: "Account numbers and features" description: "We need to capture your account details." revoked: "2024-09-24T12:19:35Z" links: self: "https://au-api.basiq.io/users/79ce620b-e7a6-4d49-8053-e5a0acfbbb77/consents/cd3a0120-e1d3-4646-ac49-70e4a2b13dfb" consentPolicy: "https://au-api.basiq.io/policies/0c89969d-48e9-4dae-9525-9613efb13338" latestConsentPolicy: "https://au-api.basiq.io/policies/94c17e2f-c452-442d-b097-37064447fddd" '400': description: >- Returns error that server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' security: - services_token: [] /users/{userId}/consents/{consentId}: delete: tags: - Consents summary: Delete a consent description: Permanently deletes a users consent, this action cannot be undone. operationId: deleteConsent parameters: - name: userId in: path description: User identification. required: true schema: type: string - name: consentId in: path description: Consent identification. required: true schema: type: string responses: '204': description: Deletion succeeded. content: {} '400': description: >- Returns error that server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' '503': description: >- Returns error response code indicates that the server is not ready to handle the request. content: application/json: schema: $ref: '#/components/schemas/StatusServiceUnavailableError' security: - services_token: [] /users/{userId}/auth_link: post: tags: - AuthLinks summary: Create an auth_link description: |- 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. operationId: postAuthLink parameters: - name: userId in: path required: true schema: type: string requestBody: content: application/json: schema: type: object properties: mobile: type: string required: false responses: 201: description: Returns a created auth_link resource, if the operation succeeded content: application/json: schema: $ref: '#/components/schemas/AuthLinksPostResponseResource' 400: description: Returns error that server cannot or will not process the request due to something that is perceived to be a client error content: application/json: schema: $ref: '#/components/schemas/BadRequestError' 401: 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: $ref: '#/components/schemas/UnauthorizedError' 403: description: Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' 404: description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' 500: description: Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' security: - services_token: [] get: tags: - AuthLinks summary: Retrieve an auth_link description: Returns the latest/last auth_link generated for the specified user. Returns an error otherwise. operationId: getAuthLink parameters: - name: userId in: path description: The identifier of the user. required: true schema: type: string responses: 200: description: Returns details of a connection. content: application/json: schema: $ref: '#/components/schemas/AuthLinksResponseResource' 400: description: Returns error that server cannot or will not process the request due to something that is perceived to be a client error content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' 403: description: Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' 404: description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' 410: description: Returns error indicating that access to the target resource is no longer available at the origin server and that this condition is likely to be permanent. content: application/json: schema: $ref: '#/components/schemas/GoneError' 500: description: Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' 503: description: Returns error response code indicates that the server is not ready to handle the request. content: application/json: schema: $ref: '#/components/schemas/StatusServiceUnavailableError' security: - services_token: [] delete: tags: - AuthLinks summary: Delete an auth_link description: |-
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. operationId: deleteAuthLink parameters: - name: userId in: path description: The identifier of the user. required: true schema: type: string responses: 204: description: Returns an empty body if the delete succeeded. content: {} 400: description: Returns error that server cannot or will not process the request due to something that is perceived to be a client error content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' 404: description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' 500: description: Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' 503: description: Returns error response code indicates that the server is not ready to handle the request. content: application/json: schema: $ref: '#/components/schemas/StatusServiceUnavailableError' security: - services_token: [] /events: get: tags: - Events summary: List all events description: Returns a list of all events that have taken place. operationId: getEvents parameters: - name: filter in: query description: | Retrieves the details of all events associated with a user. **Note:** This endpoint only returns events that happened in the last 7 days. **Filtering Options:** - `userId`: User ID for the specific user you wish to retrieve events for. e.g., `user.id.eq(userId)` - `entity`: Filter events by entity type. e.g., `event.entity.eq(entity)` - `type`: Filter events by event type. e.g., `event.type.eq(type)` schema: type: string example: user.id.eq(userId) OR event.entity.eq(entity), event.type.eq(type) responses: '200': description: Returns details of events. content: application/json: schema: $ref: '#/components/schemas/EventsGetResponseResource' '400': description: >- Returns error that server cannot or will not process the request due to something that is perceived to be a client error. content: application/json: schema: $ref: '#/components/schemas/BadRequestError' examples: Bad Request: value: type: list correlationId: ac5ah5i data: - type: error title: Parameter not valid. code: parameter-not-valid detail: ID value is not valid. source: parameter: id Invalid Filters: value: 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 '401': 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: $ref: '#/components/schemas/UnauthorizedError' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' '503': description: >- Returns error response code indicates that the server is not ready to handle the request. content: application/json: schema: $ref: '#/components/schemas/StatusServiceUnavailableError' security: - services_token: [] /events/{id}: get: tags: - Events summary: Retrieve an event description: >- Returns a single event type based on the parameter input. operationId: getTypeById parameters: - name: id required: true schema: type: string in: path example: 'a0fa1d01e0c9a1032e29ac74ade5f786e880ae04f4e3788144c6d13b53e5d29b' responses: '200': description: Returns the ID of an event. content: application/json: schema: $ref: '#/components/schemas/RetrieveEvent' examples: Success: value: type: event id: 5a47115a7eed80a3b68761b725b78c75892e94cef06810ecc0e2e7b856738371 createdDate: '2024-04-17T23:57:17Z' entity: connection eventType: updated userId: 84e33255-f65f-4f05-953b-1b12e1e4d90b dataRef: >- https://au-api.basiq.io/users/84e33255-f65f-4f05-953b-1b12e1e4d90b/connections/8bd4f752-c218-4e41-af28-0c42ae982d35 data: createdDate: '2024-04-17T23:57:16Z' id: 8bd4f752-c218-4e41-af28-0c42ae982d35 institution: id: AU00000 links: self: https://au-api.basiq.io/institutions/AU00000 type: institution lastUsed: '2024-04-17T23:57:17Z' links: accounts: >- https://au-api.basiq.io/users/84e33255-f65f-4f05-953b-1b12e1e4d90b/accounts?filter=institution.id.eq('AU00000') self: >- https://au-api.basiq.io/users/84e33255-f65f-4f05-953b-1b12e1e4d90b/connections/8bd4f752-c218-4e41-af28-0c42ae982d35 transactions: >- https://au-api.basiq.io/users/84e33255-f65f-4f05-953b-1b12e1e4d90b/transactions?filter=institution.id.eq('AU00000') mfaEnabled: false status: active type: connection links: self: >- https://au-api.basiq.io/events/5a47115a7eed80a3b68761b725b78c75892e94cef06810ecc0e2e7b856738371 '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: $ref: '#/components/schemas/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: >- 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: $ref: '#/components/schemas/Error' examples: Unauthorized: value: type: 'list' correlationId: '9b27dbd7-d397-428a-9eff-5048d2bed5eb' data: - type: 'error' code: 'unauthorized-access' title: 'Unauthorized Access' detail: 'You are not authorized to access this resource' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: 'Not Found' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error: value: type: 'list' correlationId: '9b27dbd7-d397-428a-9eff-5048d2bed5eb' data: - type: 'error' code: 'resource-not-found' title: 'Requested resource is not found' detail: 'Requested event type does not exist.' '429': description: 'Too many requests' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Too many requests: value: type: 'list' correlationId: '9b27dbd7-d397-428a-9eff-5048d2bed5eb' data: - type: 'error' code: 'too-many-requests' title: 'Too many requests' detail: 'Query limit reached.' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' '503': description: >- Returns error response code indicates that the server is not ready to handle the request. content: application/json: schema: $ref: '#/components/schemas/StatusServiceUnavailableError' security: - services_token: [] /events/types: get: tags: - Events summary: List event types description: >- Returns a list of event types. operationId: listEventTypes responses: '200': description: OK content: application/json: schema: $ref: '#/components/schemas/EventTypes' examples: Success: value: type: list size: 15 count: 15 data: - type: eventType id: account.updated description: when an account is updated links: self: https://au-api.basiq.io/events/types/account.updated - type: eventType id: connection.activated description: when a connection is activated links: self: https://au-api.basiq.io/events/types/connection.activated - type: eventType id: connection.created description: when a connection is created links: self: https://au-api.basiq.io/events/types/connection.created - type: eventType id: connection.deleted description: when a connection is deleted links: self: https://au-api.basiq.io/events/types/connection.deleted - type: eventType id: connection.invalidated description: when a connection is invalidated links: self: https://au-api.basiq.io/events/types/connection.invalidated - type: eventType id: consent.created description: when a consent is created links: self: https://au-api.basiq.io/events/types/consent.created - type: eventType id: consent.expired description: when a consent is expired links: self: https://au-api.basiq.io/events/types/consent.expired - type: eventType id: consent.reminder description: when a consent has been active for 90 days since the last update links: self: https://au-api.basiq.io/events/types/consent.reminder - type: eventType id: consent.revoked description: when a consent is revoked links: self: https://au-api.basiq.io/events/types/consent.revoked - type: eventType id: consent.updated description: when a consent is updated links: self: https://au-api.basiq.io/events/types/consent.updated - type: eventType id: consent.warning description: when a consent is about to expire links: self: https://au-api.basiq.io/events/types/consent.warning - type: eventType id: transactions.updated description: when transactions are updated links: self: https://au-api.basiq.io/events/types/transactions.updated - type: eventType id: user.created description: when an user is created links: self: https://au-api.basiq.io/events/types/user.created - type: eventType id: user.deleted description: when an user is deleted links: self: https://au-api.basiq.io/events/types/user.deleted - type: eventType id: user.updated description: when an user is updated links: self: https://au-api.basiq.io/events/types/user.updated links: self: 'https://au-api.basiq.io/events/types/' '401': 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: $ref: '#/components/schemas/Error' examples: Unauthorized: value: type: 'list' correlationId: '9b27dbd7-d397-428a-9eff-5048d2bed5eb' data: - type: 'error' code: 'unauthorized-access' title: 'Unauthorized Access' detail: 'You are not authorized to access this resource' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '429': description: 'Too many requests' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Too many requests: value: type: 'list' correlationId: '9b27dbd7-d397-428a-9eff-5048d2bed5eb' data: - type: 'error' code: 'too-many-requests' title: 'Too many requests' detail: 'Query limit reached.' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' '503': description: >- Returns error response code indicates that the server is not ready to handle the request. content: application/json: schema: $ref: '#/components/schemas/StatusServiceUnavailableError' security: - services_token: [] /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: $ref: '#/components/schemas/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: $ref: '#/components/schemas/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: >- 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: $ref: '#/components/schemas/Error' examples: Unauthorized: value: type: 'list' correlationId: '9b27dbd7-d397-428a-9eff-5048d2bed5eb' data: - type: 'error' code: 'unauthorized-access' title: 'Unauthorized Access' detail: 'You are not authorized to access this resource' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: 'Not Found' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Error: value: type: 'list' correlationId: '9b27dbd7-d397-428a-9eff-5048d2bed5eb' data: - type: 'error' code: 'resource-not-found' title: 'Requested resource is not found' detail: 'Requested event type does not exist.' '429': description: 'Too many requests' content: application/json: schema: $ref: '#/components/schemas/Error' examples: Too many requests: value: type: 'list' correlationId: '9b27dbd7-d397-428a-9eff-5048d2bed5eb' data: - type: 'error' code: 'too-many-requests' title: 'Too many requests' detail: 'Query limit reached.' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' '503': description: >- Returns error response code indicates that the server is not ready to handle the request. content: application/json: schema: $ref: '#/components/schemas/StatusServiceUnavailableError' security: - services_token: [] /users/{userId}/jobs: get: tags: - Jobs summary: Get user jobs description: | 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. operationId: getUserJobs parameters: - name: userId in: path description: User identifier required: true schema: type: string - name: filter in: query description: Connection identification filter. e.g. connection.id.eq('ab63cd') schema: type: string responses: '200': description: Returns a list of jobs with details. content: application/json: schema: $ref: '#/components/schemas/JobsResponseResource' '400': description: >- Returns error that server cannot or will not process the request due to something that is perceived to be a client error content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' security: - services_token: [] /jobs/{jobId}: get: tags: - Jobs summary: Retrieve a job description: >- Retrieves the details of an existing job. You need only supply the unique job identifier that was returned upon job creation. operationId: getJobs parameters: - name: jobId in: path description: The identifier of the job to be retrieved. required: true schema: type: string responses: '200': description: Returns a job details if a valid job ID was provided. content: application/json: schema: oneOf: - $ref: '#/components/schemas/job' - $ref: '#/components/schemas/StatementJobs' - $ref: '#/components/schemas/ReportsJob' examples: data-in-progress: value: type: job id: "248b2883-2a6b-4e8a-9591-76565d23ba5a" created: "2024-09-25T04:15:59Z" updated: "2024-09-25T04:15:59Z" jobType: "connection" steps: - title: "verify-credentials" status: "in-progress" result: null - title: "retrieve-accounts" status: "pending" result: null - title: "retrieve-transactions" status: "pending" result: null links: self: "https://au-api.basiq.io/jobs/248b2883-2a6b-4e8a-9591-76565d23ba5a" data-failed: value: type: "job" id: "5c50a2d1-561c-48c4-a186-b763bdf5502a" created: "2024-09-25T04:22:25Z" updated: "2024-09-25T04:22:38Z" jobType: "connection" steps: - title: "verify-credentials" status: "failed" result: code: "authorization-failed" title: "Authorization failed" detail: "access_denied" - title: "retrieve-accounts" status: "pending" result: null - title: "retrieve-transactions" status: "pending" result: null links: self: "https://au-api.basiq.io/jobs/5c50a2d1-561c-48c4-a186-b763bdf5502a" source: "https://au-api.basiq.io/users/b2afc9cd-0f3c-41f0-9e19-d18482abc9fc/connections/60612323-9c42-478a-8ff2-640445dbe64a" data-success: value: type: job id: "a03e4df4-dc05-4cd3-9af0-0f28a13ea614" created: "2024-09-25T04:14:48Z" updated: "2024-09-25T04:14:50Z" jobType: "connection" steps: - title: "verify-credentials" status: "success" result: type: "link" url: "/users/b540e803-91dd-4ff9-a89e-ef8ecf65833d/connections/214974bb-56d6-466a-9034-ba0a6b810eed" - title: "retrieve-accounts" status: "success" result: type: "link" url: "/users/b540e803-91dd-4ff9-a89e-ef8ecf65833d/accounts?filter=institution.id.eq('AU00000')" - title: "retrieve-transactions" status: "success" result: type: "link" url: "/users/b540e803-91dd-4ff9-a89e-ef8ecf65833d/transactions?filter=institution.id.eq('AU00000')" links: self: "https://au-api.basiq.io/jobs/a03e4df4-dc05-4cd3-9af0-0f28a13ea614" source: "https://au-api.basiq.io/users/b540e803-91dd-4ff9-a89e-ef8ecf65833d/connections/214974bb-56d6-466a-9034-ba0a6b810eed" statement-in-progress: value: type: job id: "248b2883-2a6b-4e8a-9591-76565d23ba5a" created: "2024-09-25T04:15:59Z" updated: "2024-09-25T04:15:59Z" jobType: "connection" steps: - title: "verify-credentials" status: "in-progress" result: null - title: "retrieve-accounts" status: "pending" result: null - title: "retrieve-transactions" status: "pending" result: null links: self: "https://au-api.basiq.io/jobs/248b2883-2a6b-4e8a-9591-76565d23ba5a" statement-failed: value: type: job id: f14de1bb-ddbe-4c16-add0-efab65aab13d created: "2024-09-25T04:28:59Z" updated: "2024-09-25T04:29:09Z" jobType: connection steps: - title: verify-credentials status: failed result: code: bank-statement-not-supported title: Statement not supported. detail: Statement is not currently supported for this institution - check statement uploaded against correct bank. - title: retrieve-accounts status: pending result: null - title: retrieve-transactions status: pending result: null links: self: https://au-api.basiq.io/jobs/f14de1bb-ddbe-4c16-add0-efab65aab13d statement-success: value: type: job id: "248b2883-2a6b-4e8a-9591-76565d23ba5a" created: "2024-09-25T04:15:59Z" updated: "2024-09-25T04:16:29Z" jobType: "connection" steps: - title: "verify-credentials" status: "success" result: type: "link" url: "/users/b540e803-91dd-4ff9-a89e-ef8ecf65833d/connections/30dfc31c-7107-40a4-bd94-237554726a4d" - title: "retrieve-accounts" status: "success" result: type: "link" url: "/users/b540e803-91dd-4ff9-a89e-ef8ecf65833d/accounts?filter=institution.id.eq('AU00601')" - title: "retrieve-transactions" status: "success" result: type: "link" url: "/users/b540e803-91dd-4ff9-a89e-ef8ecf65833d/transactions?filter=institution.id.eq('AU00601')" links: self: "https://au-api.basiq.io/jobs/248b2883-2a6b-4e8a-9591-76565d23ba5a" Mygov-in-progress: value: type: job id: b4b51f7c-e5f0-4767-bc6f-0025a66bd4f9 created: "2024-09-25T04:34:59Z" updated: "2024-09-25T04:34:59Z" jobType: connection steps: - title: verify-credentials status: in-progress result: null - title: mfa-challenge status: pending result: null - title: retrieve-accounts status: pending result: null - title: retrieve-transactions status: pending result: null - title: retrieve-statements status: pending result: null links: self: https://au-api.basiq.io/jobs/b4b51f7c-e5f0-4767-bc6f-0025a66bd4f9 source: https://au-api.basiq.io/users/bfa52043-e154-4adf-94d1-7f0544affc45/connections/05b14a4a-189a-412a-a8c3-88adf2fc47f4 Mygov-failed: value: type: job id: 57d6ab28-1fd4-4851-b9d2-81ca2884de21 created: "2024-09-25T04:40:41Z" updated: "2024-09-25T04:40:50Z" jobType: connection steps: - title: verify-credentials status: failed result: code: invalid-credentials title: Cannot login to target institution, check credentials. detail: Cannot login to target institution using supplied credentials. Please check credentials and try again. - title: mfa-challenge status: pending result: null - title: retrieve-accounts status: pending result: null - title: retrieve-transactions status: pending result: null - title: retrieve-statements status: pending result: null links: self: https://au-api.basiq.io/jobs/57d6ab28-1fd4-4851-b9d2-81ca2884de21 source: https://au-api.basiq.io/users/bfa52043-e154-4adf-94d1-7f0544affc45/connections/326d43c0-b009-4dfc-a7d0-708e5160bde5 Mygov-success: value: type: job id: cd6b8aac-53b3-408d-806e-34b9ef59459e created: "2024-09-25T04:44:38Z" updated: "2024-09-25T04:46:00Z" jobType: connection steps: - title: verify-credentials status: success result: type: link url: /users/bfa52043-e154-4adf-94d1-7f0544affc45/connections/67b38670-4aca-4e1d-a66e-3af4c56a35bc - title: mfa-challenge status: success result: type: mfa method: token description: A SMS code has been sent to your device, please enter valid number. input: - We sent a code by SMS to your mobile number XXXX XXX 178. expiryMs: 120000 links: response: https://au-api.basiq.io/jobs/cd6b8aac-53b3-408d-806e-34b9ef59459e/mfa - title: retrieve-accounts status: success result: type: link url: /users/bfa52043-e154-4adf-94d1-7f0544affc45/accounts?filter=institution.id.eq('AU20700') - title: retrieve-transactions status: success result: type: link url: /users/bfa52043-e154-4adf-94d1-7f0544affc45/transactions?filter=institution.id.eq('AU20700') - title: retrieve-statements status: success result: type: link url: /users/bfa52043-e154-4adf-94d1-7f0544affc45/statements links: self: https://au-api.basiq.io/jobs/cd6b8aac-53b3-408d-806e-34b9ef59459e source: https://au-api.basiq.io/users/bfa52043-e154-4adf-94d1-7f0544affc45/connections/67b38670-4aca-4e1d-a66e-3af4c56a35bc Report-in-progress: value: type: job id: 'b1824ad0-73f1-0138-3700-0a58a9feac09' partnerId: e73ffa09-742f-4be3-9aae-0ad077f041a1 applicationId: 3e2863df-43d1-405d-b104-701bcb34e184 created: '2016-06-08T09:10:32.000Z' updated: '2016-06-08T09:14:28.000Z' status: in-progress jobType: report steps: - title: create-report status: in-progress result: null links: self: /jobs/b1824ad0-73f1-0138-3700-0a58a9feac09 source: /reports/b1824ad0-73f1-0138-3700-0a58a9feac09 Report-failed: value: type: job id: 'b1824ad0-73f1-0138-3700-0a58a9feac09' partnerId: e73ffa09-742f-4be3-9aae-0ad077f041a1 applicationId: 3e2863df-43d1-405d-b104-701bcb34e184 created: '2016-06-08T09:10:32.000Z' updated: '2016-06-08T09:14:28.000Z' status: failed jobType: report steps: - title: create-report status: failed result: null links: null Report-success: value: type: job id: 'b1824ad0-73f1-0138-3700-0a58a9feac09' partnerId: e73ffa09-742f-4be3-9aae-0ad077f041a1 applicationId: 3e2863df-43d1-405d-b104-701bcb34e184 created: '2016-06-08T09:10:32.000Z' updated: '2016-06-08T09:14:28.000Z' status: success jobType: report steps: - title: create-report status: success result: type: link url: "/reports/b1824ad0-73f1-0138-3700-0a58a9feac09" links: self: /jobs/b1824ad0-73f1-0138-3700-0a58a9feac09 source: /reports/b1824ad0-73f1-0138-3700-0a58a9feac09 '400': description: >- Returns error that server cannot or will not process the request due to something that is perceived to be a client error content: application/json: schema: $ref: '#/components/schemas/BadRequestError' '401': 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: $ref: '#/components/schemas/UnauthorizedError' '403': description: >- Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' '404': description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' '500': description: >- Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' security: - services_token: [] /jobs/{jobId}/mfa: post: tags: - Jobs summary: 'Create MFA response' description: |- Ensure that you generate an authentication token with scope = CLIENT_ACCESS and basiq-version = 3.0 to create this resource operationId: postJobMfa parameters: - name: jobId in: path description: The identifier of the job. required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/JobPostRequest' required: true responses: 202: description: Returns a job if MFA response was correct. Returns an error otherwise. content: application/json: schema: $ref: '#/components/schemas/ConnectionResponseResource' 400: description: Returns error that server cannot or will not process the request due to something that is perceived to be a client error content: application/json: schema: $ref: '#/components/schemas/BadRequestError' 401: 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: $ref: '#/components/schemas/UnauthorizedError' 403: description: Error that access is forbidden and tied to the application logic, such as insufficient rights to a resource. content: application/json: schema: $ref: '#/components/schemas/ForbiddenAccessError' 404: description: Returns error indicating that server can't find requested resource. content: application/json: schema: $ref: '#/components/schemas/NotFoundError' 500: description: Returns error response code indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. content: application/json: schema: $ref: '#/components/schemas/InternalServerError' security: - services_token: [] components: schemas: job: type: object properties: type: type: string id: type: string partnerId: type: string status: type: string jobType: type: string applicationId: type: string created: description: date and time in ISO format of when the job request was created type: string format: date-time updated: description: date and time in ISO format of when the job request was updated type: string format: date-time steps: type: array items: type: object properties: title: type: string status: type: string result: type: object nullable: true properties: type: type: string url: type: string code: type: string title: type: string detail: type: string links: type: object properties: link: type: string self: type: string source: type: string StatementJobs: type: object properties: type: type: string id: type: string createdDate: description: date and time in ISO format of when the job request was created type: string format: date-time updatedDate: description: date and time in ISO format of when the job request was updated type: string format: date-time jobType: type: string sourceId: type: string steps: type: array items: type: object properties: title: type: string status: type: string result: type: object nullable: true properties: type: type: string url: type: string links: type: object properties: link: type: string self: type: string source: type: string ReportsJob: type: object properties: type: type: string id: type: string partnerId: type: string applicationId: type: string created: type: string updated: type: string status: type: string jobType: type: string steps: type: array items: type: object properties: title: type: string status: type: string result: type: object properties: type: type: string url: type: string links: type: object properties: self: type: string source: type: string EventTypes: properties: type: type: string count: type: integer size: type: integer data: type: array description: one or more events that the webhook would send messages for. items: $ref: '#/components/schemas/EventType' links: type: object properties: self: type: string next: type: string Error: 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 EventType: 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 RetrieveEvent: type: object properties: type: type: string id: type: string createdDate: type: string entity: type: string eventType: type: string userId: type: string dataRef: type: string data: type: object properties: createdDate: type: string id: type: string institution: type: object properties: id: type: string links: type: object properties: self: type: string type: type: string lastUsed: type: string links: type: object properties: accounts: type: string self: type: string transactions: type: string mfaEnabled: type: boolean status: type: string type: type: string links: type: object properties: self: type: string AuthLinksResponseResource: required: - id - mobile - type - expiresAt - userId type: object properties: id: type: string description: Uniquely identifies the auth link. example: 63448be4 mobile: type: string description: A user's mobile phone, used as for authentication. example: +61410000000 type: type: string description: Type of the response, always "auth_link". example: auth_link userId: type: string description: A string that uniquely identifies the user. example: ec4ea48d expiresAt: type: string description: The date time of auth link expiry. example: 2019-11-21T04:08:50Z links: $ref: '#/components/schemas/AuthLinkLinks' GoneError: required: - correlationId - data - type type: object properties: correlationId: type: string description: Unique identifier for this particular occurrence of the problem. example: ac5ah5i data: type: array description: Error data. items: required: - code - type type: object properties: code: type: string description: Application-specific error code, expressed as a string value. example: resource-no-longer-available enum: - resource-no-longer-available detail: type: string description: Human-readable explanation specific to this occurrence of the problem. title: type: string description: Title of the error type: type: string description: Type of the response, always "error" example: error type: type: string description: Always "list". example: list BadRequestError: required: - correlationId - data - type type: object properties: type: type: string description: Always "list". example: list correlationId: type: string description: Unique identifier for this particular occurrence of the problem. example: ac5ah5i data: type: array description: Error data. items: required: - code - type type: object properties: type: type: string description: Type of the response, always "error" example: error title: type: string description: Title of the error example: Parameter not valid. code: type: string description: Application-specific error code, expressed as a string value. example: parameter-not-valid enum: - parameter-not-supplied - parameter-not-valid - unsupported-accept - invalid-content - institution-not-supported - invalid-credentials detail: type: string description: >- Human-readable explanation specific to this occurrence of the problem. example: ID value is not valid. source: $ref: '#/components/schemas/Source' AuthLinkLinks: required: - public - self type: object properties: public: type: string description: Public URL of auth link. example: https://connect.basiq.io/63448be4 self: type: string description: URL of the resource example: /users/ec4ea48d/auth_link AuthLinksPostResponseResource: required: - mobile - type - userId - expiresAt type: object properties: mobile: type: string description: A user's mobile phone, used as for authentication. example: +61410000000 type: type: string description: Type of the response, always "auth_link". example: auth_link userId: type: string description: A string that uniquely identifies the user. example: ec4ea48d expiresAt: type: string description: The date time of auth link expiry. example: 2019-11-21T04:08:50Z links: $ref: '#/components/schemas/AuthLinkLinks' ConnectionResponseResource: title: ConnectionResponseResource required: - id - links - type type: object properties: type: type: string description: Type, always "job". example: job id: type: string description: Job identification. example: '29523951' links: $ref: '#/components/schemas/ResourceLink' description: Object containing details for connection post. EventsData: required: - createdDate - id - links - type - entity - userId - dataRef - data - eventType type: object properties: type: type: string description: Type, always "event". example: event id: type: string description: Event identification. example: '61723' createdDate: type: string description: Date the event was created. example: '2019-07-29T07:34:09Z' entity: type: string description: The entity associated with the event that has occurred example: consent enum: - consent - connection eventType: type: string description: The type of event that has occurred example: revoked enum: - revoked - expired - updated - created - archived - deleted userId: type: string description: The identifier of the user the event belongs to. example: 266f5849-6ef6-4aae-accf-386470d0598e dataRef: type: string description: URL to the data source the event occurred. example: https://au-api.basiq.io/users/266f5849-6ef6-4aae-accf-386470d0598e data: type: string description: The data associated with the event that has been created. example: - email: max@hooli.com id: 266f5849-6ef6-4aae-accf-386470d0598e links: self: >- https://au-api.basiq.io/users/266f5849-6ef6-4aae-accf-386470d0598e mobile: +614xxxxxxxx type: user links: example: - self: >- https://au-api.basiq.io/events/545ae104289e71bd3da34a063aaf49a5fa17ab6b8e0cab4bc56e019b7cc409e0 EventsGetResponseResource: title: EventsGetResponseResource required: - type type: object properties: type: type: string description: Type, always "list". example: list data: type: array items: $ref: '#/components/schemas/EventsData' links: $ref: '#/components/schemas/ResourceLink' description: Object containing details for connections. ForbiddenAccessError: required: - correlationId - data - type type: object properties: type: type: string description: Always "list". example: list correlationId: type: string description: Unique identifier for this particular occurrence of the problem. example: ac5ah5i data: type: array description: Error data. items: required: - code - source - type type: object properties: type: type: string description: Type of the response, always "error" example: error title: type: string description: Title of the error example: Forbidden Access code: type: string description: Application-specific error code, expressed as a string value. example: forbidden-access enum: - forbidden-access - no-production-access - access-denied detail: type: string description: >- Human-readable explanation specific to this occurrence of the problem. example: Access to this resource is forbidden. source: $ref: '#/components/schemas/Source' GetUserAccount: title: UserGetAccount required: - count - data - type type: object properties: type: type: string description: Always "list". example: list count: type: integer description: Count of accounts. format: int64 example: 7 data: type: array description: Accounts data. items: $ref: '#/components/schemas/GetUserAccountData' description: Container object containing account data. GetUserAccountData: title: UserGetAccountData required: - id - links - type type: object properties: type: type: string description: Always "account". example: account id: type: string description: Account identification. example: aaaf2c3b links: $ref: '#/components/schemas/ResourceLink' description: Object containing account data. GetUserConnection: title: UserGetConnection required: - count - data - type type: object properties: type: type: string description: Always "list". example: list count: type: integer description: Count of accounts. format: int64 example: 5 data: type: array description: Connections data. items: $ref: '#/components/schemas/GetUserConnectionData' description: Container object containing connection data. GetUserConnectionData: title: GetUserConnectionData required: - id - links - type type: object properties: type: type: string description: Always "connection". example: connection id: type: string description: Connection identification. example: aaaf2c3b links: $ref: '#/components/schemas/ResourceLink' description: Object containing connection data. GetUserLinks: title: GetUserLinks required: - accounts - auth_link - connections - self - transactions type: object properties: accounts: type: string description: Accounts reference url. example: https://au-api.basiq.io/users/a3dgf4567a89/accounts connections: type: string description: Connections reference url. example: https://au-api.basiq.io/users/a3dgf4567a89/connections self: type: string description: User self reference url. example: https://au-api.basiq.io/user/a3dgf4567a89 transactions: type: string description: Transactions reference url. example: https://au-api.basiq.io/users/a3dgf4567a89/transactions description: Object containing links to resources. InternalServerError: required: - correlationId - data - type type: object properties: type: type: string description: Always "list". example: list correlationId: type: string description: Unique identifier for this particular occurrence of the problem. example: ac5ah5i data: type: array description: Error data. items: required: - code - type type: object properties: code: type: string description: Application-specific error code, expressed as a string value. example: internal-server-error enum: - internal-server-error detail: type: string description: >- Human-readable explanation specific to this occurrence of the problem. example: Internal Server error. Contact support. title: type: string description: Title of the error example: Internal Server error. type: type: string description: Type of the response, always "error" example: error JobsData: title: JobsData required: - created - id - institution - steps - updated type: object properties: type: type: string description: Value is "job". example: job id: type: string description: A string that uniquely identifies the job. example: e9132638 created: type: string description: The date time when the job was created. example: '2020-06-10T09:59:00Z' updated: type: string description: The date time when the job was last updated. example: '2020-06-10T09:59:00Z' institution: $ref: '#/components/schemas/JobsInstitution' steps: type: array description: List of steps that need to be completed. items: $ref: '#/components/schemas/JobsStep' links: $ref: '#/components/schemas/JobsLinks' description: Container object, containing job details. JobPostRequest: required: - mfa-response type: object properties: mfa-response: type: array description: One time password or answer to a security question/s e.g. ["1234"] example: - "1234" items: type: string JobsInstitution: title: Institution required: - id - links - type type: object properties: id: type: string description: A string that uniquely identifies institution. example: AU00000 links: $ref: '#/components/schemas/JobsLinks' type: type: string description: Always "institution". example: institution description: Institution details. JobsLinks: title: JobsLinks required: - self type: object properties: self: type: string description: URL of the resource example: https://au-api.basiq.io/jobs/61723 source: type: string description: >- Resource that initiated creation of this Job. For example, for operations on Connection, this is a Connection URL. This is only returned for Connection jobs and not for Statement jobs. example: https://au-api.basiq.io/users/ea3a81/connections/8fce3b description: Links to the resources. JobsResponseResource: required: - data - links - size - type type: object properties: type: type: string description: Type of the response, always "list". example: list data: type: array description: Container object, containing job details. items: $ref: '#/components/schemas/JobsData' size: type: integer description: Size of the all the jobs. format: int64 example: 100 links: $ref: '#/components/schemas/ResourceLink' JobsResult: title: JobsResult type: object properties: code: type: string description: In case of failed job, displays error code. enum: - success - user-action-required - system-unavailable - maintenance - connector-error - institution-not-found - institution-not-available - institution-disabled - missing-required-field - missing-required-field-value - invalid-field-value - invalid-csv-row - row-count-exceeded - account-data-differs - empty-file - bank-statement-invalid - bank-statement-new-product - bank-statement-parsing-error - bank-statement-not-supported - txn-after-last-updated-date - invalid-connection - unknown-error - job-timed-out details: type: string description: In case of failed job, displays details of the error. title: type: string description: In case of failed job, displays error title. type: type: string description: In case of success, Always "link". example: link url: type: string description: In case of success, URL of the updated (or created) resources. description: >- Result object containing a list of URLs or null. Otherwise if a step failed contains an error response. JobsStep: title: JobsStep required: - result - status type: object properties: title: type: string description: Name of the step the job needs to complete. example: retrieve-accounts enum: - verify-credentials - retrieve-accounts - retrieve-transactions - retrieve-statements status: type: string description: Status of the job step example: success enum: - pending - in-progress - success - failed result: $ref: '#/components/schemas/JobsResult' description: List of steps that need to be completed. NotFoundError: required: - correlationId - data - type type: object properties: type: type: string description: Always "list". example: list correlationId: type: string description: Unique identifier for this particular occurrence of the problem. example: ac5ah5i data: type: array description: Error data. items: required: - code - type type: object properties: code: type: string description: Application-specific error code, expressed as a string value. example: resource-not-found enum: - resource-not-found detail: type: string description: >- Human-readable explanation specific to this occurrence of the problem. example: Resource not found. title: type: string description: Title of the error example: Requested resource is not found. type: type: string description: Type of the response, always "error" example: error ResourceLink: title: ResourceLink required: - self type: object properties: self: type: string description: URL of the resource. example: https://au-api.basiq.io/link/a3dgf4567a89 description: Link object containing a link to the resource, self reference. Source: title: Source type: object properties: parameter: type: string description: String indicating which URI query parameter caused the error. example: id description: An object containing references to the source of the error. StatusServiceUnavailableError: required: - correlationId - data - type type: object properties: type: type: string description: Always "list". example: list correlationId: type: string description: Unique identifier for this particular occurrence of the problem. example: ac5ah5i data: type: array description: Error data. items: required: - code - type type: object properties: code: type: object description: Application-specific error code, expressed as a string value. example: service-unavailable detail: type: string description: >- Human-readable explanation specific to this occurrence of the problem. example: Service Unavailable. Try again later. title: type: string description: Title of the error example: Service Unavailable type: type: string description: Type of the response, always "error" example: error UnauthorizedError: required: - correlationId - data - type type: object properties: correlationId: type: string description: Unique identifier for this particular occurrence of the problem. example: ac5ah5i data: type: array description: Error data. items: required: - code - type type: object properties: code: type: string description: Application-specific error code, expressed as a string value. example: unauthorized-access enum: - unauthorized-access - invalid-authorization-token detail: type: string description: >- Human-readable explanation specific to this occurrence of the problem. example: You are not authorized to access this resource title: type: string description: Title of the error example: Unauthorized Access type: type: string description: Type of the response, always "error" example: error type: type: string description: Always "list". example: list UserGetResponse: title: UserGetResponse required: - accounts - connections - email - id - links - mobile - name - firstName - middleName - lastName - type type: object properties: type: type: string description: Always "user". example: user id: type: string description: User identification. example: ea3a81 email: type: string description: User email or empty. format: email example: gavin@hooli.com mobile: type: string description: User mobile number, or empty. example: 61410888666 name: type: string description: Name, or empty. example: "" firstName: type: string description: firstName, or empty example: Gavin middleName: type: string description: middleName, or empty example: middleName lastName: type: string description: lastName, or empty example: lastName businessName: type: string description: The official name of the business. example: Manly Accounting PTY LTD businessIdNo: type: string description: This number is used to identify a business when they’re dealing with the government, other businesses, and the public. example: 16 7645 892 businessIdNoType: type: string description: Type of business ID could be ABN Or ACN. enum: - ABN - ACN example: ABN businessAddress: type: object properties: addressLine1: type: string example: 21 Sydney Rd description: The first line of the business address. addressLine2: type: string example: "" description: Additional information about the business address (optional). suburb: type: string example: Manly description: The suburb or locality where the business is located. state: type: string example: NSW description: The state or territory where the business is located. postcode: type: string example: "2095" description: The postal code of the business location. countryCode: type: string example: AUS description: The country code of the business location. verificationStatus: type: boolean description: Indicates if the business information provided is verified against the Australian Business Register. verificationDate: type: string example: 12/01/2024 description: when the verification was done. connections: $ref: '#/components/schemas/GetUserConnection' accounts: $ref: '#/components/schemas/GetUserAccount' links: $ref: '#/components/schemas/GetUserLinks' description: User object with details if the creation succeeded. UserPostResponse: title: UserPostResponse required: - id - links - mobile - type type: object properties: type: type: string description: Type of the response, always "user". example: user id: type: string description: A string that uniquely identifies the user. example: e1956419 email: type: string description: The end-users email address. format: email example: gavin@hooli.com mobile: type: string description: The end-users mobile number. example: 61410888999 firstName: type: string description: The end-users first name as an optional additional parameter. example: Gavin middleName: type: string description: The end-users middle name as an optional additional parameter. example: middle name lastName: type: string description: The end-users last name as an optional additional parameter. example: Belson businessName: type: string description: The official name of the business. example: Manly Accounting PTY LTD businessIdNo: type: string description: This number is used to identify a business when they’re dealing with the government, other businesses, and the public. example: 16 7645 892 businessIdNoType: type: string description: Type of business ID could be ABN Or ACN. enum: - ABN - ACN example: ABN businessAddress: type: object properties: addressLine1: type: string example: 21 Sydney Rd description: The first line of the business address. addressLine2: type: string example: "" description: Additional information about the business address (optional). suburb: type: string example: Manly description: The suburb or locality where the business is located. state: type: string example: NSW description: The state or territory where the business is located. postcode: type: string example: "2095" description: The postal code of the business location. countryCode: type: string example: AUS description: The country code of the business location. verificationStatus: type: boolean description: Indicates if the business information provided is verified against the Australian Business Register. verificationDate: type: string example: 12/01/2024 description: when the verification was done. links: $ref: '#/components/schemas/ResourceLink' description: User object with details if the creation succeeded. createUser: type: object properties: email: type: string description: The end-users email address. Mandatory if mobile is not supplied. example: gavin@hooli.com mobile: type: string description: >- The end-users mobile number, supplied in international format. +[country-code][mobileno]. Mandatory if email is not supplied. example: '+61410888999' firstName: type: string description: The end-users first name as an optional additional parameter. example: Gavin middleName: type: string description: The end-users middle name as an optional additional parameter. example: middle name lastName: type: string description: The end-users last name as an optional additional parameter. example: Belson businessName: type: string description: The official name of the business. example: Manly Accounting PTY LTD businessIdNo: type: string description: This number is used to identify a business when they’re dealing with the government, other businesses, and the public. example: "16 7645 892" businessIdNoType: type: string description: Type of business ID could be ABN Or ACN. enum: - ABN - ACN example: ABN businessAddress: type: object properties: addressLine1: type: string example: 21 Sydney Rd description: The first line of the business address. addressLine2: type: string example: "" description: Additional information about the business address (optional). suburb: type: string example: Manly description: The suburb or locality where the business is located. state: type: string example: NSW description: The state or territory where the business is located. postcode: type: string example: "2095" description: The postal code of the business location. countryCode: type: string example: AUS description: The country code of the business location. verificationStatus: type: boolean description: Indicates if the business information provided is verified against the Australian Business Register. verificationDate: type: string example: 12/01/2024 description: when the verification was done. updateUser: type: object properties: email: type: string description: The end-users email address. example: gavin@hooli.com mobile: type: string description: The end-users mobile number. example: '+61410888666' firstName: type: string description: The end-users first name as an optional additional parameter. example: Malcolm middleName: type: string description: The end-users middle name as an optional additional parameter. example: Malcom middle name lastName: type: string description: The end-users last name as an optional additional parameter. example: Malcolm last name TokenPostResponse: required: - access_token - expires_in - token_type type: object properties: access_token: type: string description: The generated access token. example: >- eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c expires_in: type: integer description: Expires in 3600 seconds format: int64 example: 3600 token_type: type: string description: This value will always be `Bearer`. example: Bearer UserConsentGetResponses: type: object additionalProperties: false properties: type: type: string id: type: string format: uuid created: type: string format: date-time updated: type: string format: date-time expiryDate: type: string format: date-time origin: type: string status: type: string description: active, revoked, and expired purpose: $ref: '#/components/schemas/Purpose' data: $ref: '#/components/schemas/Data' revoked: type: string description: To indicate when a user consent was revoked. links: type: object properties: self: type: string consentPolicy: type: string latestConsentPolicy: type: string required: - created - data - expiryDate - id - purpose - status - type - updated title: UserConsentGetResponse Data: type: object additionalProperties: false properties: retainData: type: boolean initialRetrievalDays: type: integer organisation: type: boolean nullable: true permissions: type: array items: $ref: '#/components/schemas/Permission' required: - permissions - retainData title: Data Permission: type: object additionalProperties: false properties: scope: type: string required: type: boolean consented: type: boolean entity: type: string information: $ref: '#/components/schemas/Information' purpose: $ref: '#/components/schemas/Primary' required: - entity - information - purpose - required - scope title: Permission Information: type: object additionalProperties: false properties: name: type: string description: type: string attributeList: type: array items: type: string required: - attributeList - description - name title: Information Primary: type: object additionalProperties: false properties: title: type: string description: type: string required: - description - title title: Primary Purpose: type: object additionalProperties: false properties: primary: $ref: '#/components/schemas/Primary' other: type: boolean nullable: true required: - primary title: Purpose securitySchemes: api_key: type: apiKey name: Authorization in: header x-default: >- Basic NjMxMjNmMWMtZjYxMy00ZjMyLWFiYzUtYzBhZDdhYTY2YmU1OjQ3NWYwMzhkLTBlZmItNGM1ZS1iMzQ0LTAzMzYxOTkyYTRlMw== services_token: type: http scheme: bearer bearerFormat: JWT security: - api_key: [] - services_token: [] x-readme: explorer-enabled: true proxy-enabled: true samples-enabled: true samples-languages: - curl - node - ruby - javascript - python