FISKIL Common API
Identity and data-freshness endpoints shared across sectors.
Identity and data-freshness endpoints shared across sectors.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/fiskil:fiskil-common-api"
curl "https://apis.io/api/v1/apis?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Fiskil Common API
version: '2026-08-22'
summary: Consumer-permissioned banking, lending and energy data for Australia and New Zealand, through one API.
description: Fiskil is the market leader in open data infrastructure, providing open banking, open finance and energy-data connectivity.
contact:
name: Fiskil
url: https://www.fiskil.com/contact
termsOfService: https://www.fiskil.com/legal/terms-of-service
servers:
- url: https://api.fiskil.com
description: Production
security:
- bearerAuth: []
tags:
- name: Common
description: Identity and data-freshness endpoints shared across sectors.
paths:
/v1/common/identity:
get:
description: Returns detailed information about the consumer identities from the most recent consent
tags:
- Common
summary: Get customer details
operationId: getCustomerIdentity
parameters:
- example: eu_abcdef1234
description: A unique identifier for the End User object.
name: end_user_id
in: query
required: true
schema:
type: string
- example: inst_abcdef1234
description: A unique identifier for the Institution object.
name: institution_id
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/fiskil_identity.IdentityBody_V2'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/http_handler.ErrorBody'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/http_handler.ErrorBody'
externalDocs:
description: Reference page for this operation
url: https://docs.fiskil.com/data-api/api-reference/getCustomerIdentity
security:
- bearerAuth: []
/v1/data-freshness:
get:
description: Returns freshness information for datasets such as banking.transactions
tags:
- Common
summary: Get Data Freshness
operationId: getDataFreshness
parameters:
- example: eu_123
description: A unique identifier for the End User object.
name: end_user_id
in: query
required: true
schema:
type: string
- example: banking.transactions
description: The dataset identifier to check freshness for (e.g. banking.transactions).
name: dataset
in: query
schema:
type: string
- example: bank_account_123
description: Filter by account ID
name: account_id
in: query
schema:
type: string
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/fiskil_freshness.DataFreshnessResponse'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/http_handler.ErrorBody'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/http_handler.ErrorBody'
externalDocs:
description: Reference page for this operation
url: https://docs.fiskil.com/data-api/api-reference/getDataFreshness
security:
- bearerAuth: []
components:
schemas:
http_handler.ErrorBody:
type: object
properties:
id:
type: string
message:
type: string
name:
type: string
fiskil_identity.Identity:
type: object
required:
- arrangement_id
- customer
- fiskil_id
- institution_id
properties:
arrangement_id:
description: The ID of the CDR arrangement that was used to fetch the identity data
type: string
example: f41bb11b-0bdf-4b7c-9e24-a0d6cad0b3e6
customer:
description: The customer details
allOf:
- $ref: '#/components/schemas/fiskil_identity.Customer'
fiskil_id:
description: The Fiskil identifier for this identity record
type: string
example: abcdef1234xyz
institution_id:
description: The Fiskil ID of the institution that provided the identity data
type: string
example: '140'
fiskil_identity.CommonEmailAddress:
type: object
required:
- address
- purpose
properties:
address:
description: A correctly formatted email address.
type: string
example: jane.doe@example.com
is_preferred:
description: May be true for one and only one email record in the collection.
type: boolean
example: true
purpose:
description: The purpose of the email, as specified by the customer.
type: string
enum:
- HOME
- OTHER
- UNSPECIFIED
- WORK
example: WORK
fiskil_freshness.DataFreshnessResponse:
type: object
properties:
data:
type: array
items:
$ref: '#/components/schemas/fiskil_freshness.DataFreshnessEntry'
fiskil_freshness.DataFreshnessEntry:
type: object
properties:
account_id:
type: string
example: bank_account_123
dataset:
type: string
example: banking.transactions
updated_at:
type: string
example: '2026-08-17T10:30:00Z'
fiskil_identity.CommonOrganisationDetailV2:
type: object
required:
- agent_last_name
- agent_role
- business_name
- organisation_type
- physical_addresses
properties:
abn:
description: Australian Business Number for the organisation.
type: string
example: '12345678901'
acn:
description: Australian Company Number for the organisation. Required only if an ACN is applicable for the organisation type.
type: string
example: '987654321'
agent_first_name:
description: The first name of the individual providing access on behalf of the organisation.
type: string
example: John
agent_last_name:
description: The last name of the individual providing access on behalf of the organisation.
type: string
example: Doe
agent_role:
description: The role of the individual identified as the agent who is providing authorisation.
type: string
example: Manager
business_name:
description: Name of the organisation.
type: string
example: Tech Corp
establishment_date:
description: The date the organisation described was established.
type: string
example: '2010-01-01'
industry_code:
description: A valid ANZSIC code for the organisation.
type: string
example: '5420'
industry_code_version:
description: The applicable ANZSIC release version of the industry code provided.
type: string
example: ANZSIC_1292.0_2006_V2.0
is_acnc_registered:
description: True if registered with the ACNC. False if not. Absent or null if not confirmed.
type: boolean
example: true
last_update_time:
description: The date and time that this record was last updated by the customer.
type: string
example: '2023-08-15T10:30:00Z'
legal_name:
description: Legal name, if different from the business name.
type: string
example: Tech Solutions Ltd
organisation_type:
description: Legal organisation type.
type: string
enum:
- COMPANY
- GOVERNMENT_ENTITY
- OTHER
- PARTNERSHIP
- SOLE_TRADER
- TRUST
example: COMPANY
physical_addresses:
description: Array of physical addresses.
type: array
items:
$ref: '#/components/schemas/fiskil_identity.CommonPhysicalAddressWithPurpose'
registered_country:
description: Enumeration with values from ISO 3166 Alpha-3 country codes. Assumed to be AUS if absent.
type: string
example: AUS
short_name:
description: Short name used for communication, if different from the business name.
type: string
example: TechCo
fiskil_banking.CommonSimpleAddress:
type: object
required:
- address_line1
- city
- state
properties:
address_line1:
description: First line of the standard address object.
type: string
example: 42 Wallaby Way
address_line2:
description: Second line of the standard address object.
type: string
address_line3:
description: Third line of the standard address object.
type: string
city:
description: Name of the city or locality.
type: string
example: SYDNEY
country:
description: A valid [ISO 3166 Alpha-3](https://www.iso.org/iso-3166-country-codes.html) country code. Australia (`AUS`) is assumed if country is not present.
type: string
example: AUS
mailing_name:
description: Name of the individual or business formatted for inclusion in an address used for physical mail.
type: string
example: Shiny Dental
postcode:
description: Mandatory for Australian addresses.
type: string
example: '2000'
state:
description: Free text if the country is not Australia. If country is Australia then must be one of the values defined by the [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf) in the PAF file format. `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`.
type: string
example: NSW
fiskil_identity.Customer:
type: object
required:
- customer_u_type
properties:
customer_u_type:
description: The type of customer object that is present
type: string
enum:
- organisation
- person
example: person
organisation:
description: The identity details for organisation consumers. Only present if `customer_u_type` is `"organisation"`
allOf:
- $ref: '#/components/schemas/fiskil_identity.CommonOrganisationDetailV2'
person:
description: The identity details for human consumers. Only present if `customer_u_type` is `"person"`
allOf:
- $ref: '#/components/schemas/fiskil_identity.CommonPersonDetailV2'
fiskil_identity.IdentityBody_V2:
type: object
required:
- identities
properties:
identities:
description: Identities contains all the customer identities for the provided end user ID
type: array
items:
$ref: '#/components/schemas/fiskil_identity.Identity'
fiskil_identity.CommonPersonDetailV2:
type: object
required:
- email_addresses
- last_name
- middle_names
- phone_numbers
- physical_addresses
properties:
email_addresses:
description: Array of email addresses. May be empty.
type: array
items:
$ref: '#/components/schemas/fiskil_identity.CommonEmailAddress'
first_name:
description: First name of the person.
type: string
example: Jane
last_name:
description: Last name of the person.
type: string
example: Doe
last_update_time:
description: The date and time that this record was last updated by the customer.
type: string
example: '2023-08-10T09:00:00Z'
middle_names:
description: Middle names of the person. Field is mandatory but the array may be empty.
type: array
items:
type: string
occupation_code:
description: A valid ANZSCO Standard Occupation classification code.
type: string
example: '2613'
occupation_code_version:
description: The applicable ANZSCO release version of the occupation code provided.
type: string
example: ANZSCO_1220.0_2013_V1.2
phone_numbers:
description: Array of phone numbers.
type: array
items:
$ref: '#/components/schemas/fiskil_identity.CommonPhoneNumber'
physical_addresses:
description: Array of physical addresses.
type: array
items:
$ref: '#/components/schemas/fiskil_identity.CommonPhysicalAddressWithPurpose'
prefix:
description: Prefix (e.g., Mr, Mrs, Ms, etc.).
type: string
example: Ms
suffix:
description: Suffix (e.g., Jr, Sr).
type: string
example: Jr
fiskil_banking.CommonPAFAddress:
type: object
required:
- locality_name
- postcode
- state
properties:
building_name_1:
description: Building/Property name 1.
type: string
example: Castle
building_name_2:
description: Building/Property name 2.
type: string
dpid:
description: Unique identifier for an address as defined by Australia Post. Also known as Delivery Point Identifier.
type: string
example: '34567890'
flat_unit_number:
description: Unit number (including suffix, if applicable).
type: string
example: 12B
flat_unit_type:
description: Type of flat or unit for the address.
type: string
example: U
floor_level_number:
description: Floor or level number (including alpha characters).
type: string
example: '7'
floor_level_type:
description: Type of floor or level for the address.
type: string
example: FL
locality_name:
description: Full name of locality.
type: string
example: SYDNEY
lot_number:
description: Allotment number for the address.
type: string
example: '42'
postal_delivery_number:
description: Postal delivery number if the address is a postal delivery type.
type: integer
example: 2
postal_delivery_number_prefix:
description: Postal delivery number prefix related to the postal delivery number.
type: string
example: N
postal_delivery_number_suffix:
description: Postal delivery number suffix related to the postal delivery number.
type: string
example: A
postal_delivery_type:
description: Postal delivery type. (e.g., PO BOX). Valid enumeration defined by Australia Post PAF code file.
type: string
example: PO BOX
postcode:
description: Postcode for the locality.
type: string
example: '2000'
state:
description: State in which the address belongs. Valid enumeration defined by Australia Post PAF code file [State Type Abbreviation](https://auspost.com.au/content/dam/auspost_corp/media/documents/australia-post-data-guide.pdf). `NSW`, `QLD`, `VIC`, `NT`, `WA`, `SA`, `TAS`, `ACT`, `AAT`.
type: string
example: NSW
street_name:
description: The name of the street.
type: string
example: WALLABY
street_suffix:
description: The street type suffix. Valid enumeration defined by Australia Post PAF code file.
type: string
example: S
street_type:
description: The street type. Valid enumeration defined by Australia Post PAF code file.
type: string
example: WAY
thoroughfare_number1:
description: Thoroughfare number for a property (first number in a property ranged address).
type: integer
example: 40
thoroughfare_number1_suffix:
description: Suffix for the thoroughfare number. Only relevant is _thoroughfareNumber1_ is populated.
type: string
example: A
thoroughfare_number2:
description: Second thoroughfare number (only used if the property has a ranged address, e.g., 23-25).
type: integer
example: 44
thoroughfare_number2_suffix:
description: Suffix for the second thoroughfare number. Only relevant is _thoroughfareNumber2_ is populated.
type: string
example: A
fiskil_identity.CommonPhysicalAddressWithPurpose:
type: object
required:
- address_u_type
- purpose
properties:
address_u_type:
description: The type of address object present.
type: string
enum:
- paf
- simple
example: paf
paf:
description: Australian address formatted according to the PAF file format. Only present if `address_u_type` is `"paf"`
allOf:
- $ref: '#/components/schemas/fiskil_banking.CommonPAFAddress'
purpose:
description: Enumeration of values indicating the purpose of the physical address.
type: string
enum:
- MAIL
- OTHER
- PHYSICAL
- REGISTERED
- WORK
example: REGISTERED
simple:
description: Simple address. Only present if `address_u_type` is `"simple"`
allOf:
- $ref: '#/components/schemas/fiskil_banking.CommonSimpleAddress'
fiskil_identity.CommonPhoneNumber:
type: object
required:
- full_number
- number
- purpose
properties:
area_code:
description: Required for non-mobile phones. If present and refers to an Australian code, the leading 0 should be omitted.
type: string
example: '2'
country_code:
description: If absent, assumed to be Australia (+61). The + should be included.
type: string
example: '+61'
extension:
description: An extension number (if applicable).
type: string
example: '1234'
full_number:
description: Fully formatted phone number with country code, area code, number, and extension incorporated.
type: string
example: +61 2 9876 5432
is_preferred:
description: May be true for one and only one entry to indicate the preferred phone number.
type: boolean
example: true
number:
description: The actual phone number, with leading zeros as appropriate.
type: string
example: '98765432'
purpose:
description: The purpose of the number as specified by the customer.
type: string
enum:
- HOME
- INTERNATIONAL
- MOBILE
- OTHER
- UNSPECIFIED
- WORK
example: MOBILE
securitySchemes:
bearerAuth:
type: http
scheme: bearer
description: 'Exchange a client_id and client_secret at POST /v1/token for an access token, then send it as `Authorization: Bearer <token>`. See https://docs.fiskil.com/data-api/guides/getting-started/authentication'
externalDocs:
description: Fiskil API documentation
url: https://docs.fiskil.com
x-products:
- name: Data API
role: data recipient
summary: Consumer-permissioned access to banking, lending and energy data through one API.
audience: Fintechs, lenders, accounting and proptech platforms, energy retailers and comparison services.
surfaces:
- Banking API
- Energy API
selfServe: true
sandbox:
available: true
free: true
selfServe: true
note: Sandbox only. Production access starts on the Launch plan.
specification: Enumerated in the `paths` object of this document.
documentation: https://docs.fiskil.com/data-api
apiReference: https://docs.fiskil.com/data-api/api-reference
- name: Data Provider
role: data holder
summary: Managed platform for institutions to share customer and product data with consent and meet their regulatory obligations.
audience: Banks, non-bank lenders, energy retailers and enterprises.
surfaces:
- Consent management
- Product Portal
- Regulatory reporting
selfServe: false
specification: Published per regime — see `x-specifications`.
documentation: https://docs.fiskil.com/data-holder
x-specifications:
- name: Data Holder — CDR
description: 'Consumer Data Right data holder APIs for Australia: consent, authorisation, banking and energy resource endpoints.'
regime: AU CDR
url: https://docs.fiskil.com/openapi/holder-cdr.json
- name: Data Holder — Authentication
description: Authentication and authorisation for data holder surfaces.
regime: AU CDR
url: https://docs.fiskil.com/openapi/holder-auth.json
- name: Data Holder — Bring Your Own Data
description: Expose an existing internal API as a compliant data holder surface.
regime: Cross-regime
url: https://docs.fiskil.com/openapi/holder-byod.json
- name: Data Holder — FDX
description: Financial Data Exchange APIs, the standard used to meet CFPB Section 1033 in the United States.
regime: US Section 1033 / FDX
url: https://docs.fiskil.com/openapi/holder-fdx.json
- name: Data Holder — PSD2
description: PSD2 open banking APIs for the European Union.
regime: EU PSD2
url: https://docs.fiskil.com/openapi/holder-psd2.json
- name: Data Holder — Platform API
description: Platform administration and configuration.
regime: Cross-regime
url: https://docs.fiskil.com/openapi/holder-platform-api.json
- name: Data Holder — LATAM Colombia
description: Open finance data holder APIs for Colombia.
regime: CO open finance
url: https://docs.fiskil.com/openapi/holder-latam-colombia.json
- name: Data Holder — LATAM Chile
description: Open finance data holder APIs for Chile.
regime: CL open finance
url: https://docs.fiskil.com/openapi/holder-latam-chile.json
x-specifications-translated:
- name: Data Holder — Authentication (es)
url: https://docs.fiskil.com/openapi/holder-auth.es.json
- name: Data Holder — Platform API (es)
url: https://docs.fiskil.com/openapi/holder-platform-api.es.json
- name: Data Holder — LATAM Colombia (es)
url: https://docs.fiskil.com/openapi/holder-latam-colombia.es.json
- name: Data Holder — LATAM Chile (es)
url: https://docs.fiskil.com/openapi/holder-latam-chile.es.json
x-machine-readable:
llms: https://www.fiskil.com/llms.txt
llmsFull: https://www.fiskil.com/llms-full.txt
sitemapIndex: https://www.fiskil.com/sitemap-index.xml
docsIndex: https://docs.fiskil.com/llms.txt
agentSkill: https://docs.fiskil.com/skill.md
mcpServer: https://docs.fiskil.com/api/ai/mcp
dataApiReference: https://docs.fiskil.com/data-api/api-reference
specCatalogue: https://docs.fiskil.com/openapi/index.json
x-schema-source: Merged from the published Data API specifications at docs.fiskil.com/openapi.