Work with this as data
Every API here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for apis
7 MCP tools reach this
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.
Call it yourself
curl for this page
This API
curl "https://apis.io/api/v1/apis/fiskil:fiskil-end-users-api"
All apis
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.
Get an API 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 Specification
openapi: 3.2.0
info:
title: Fiskil End users 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: End users
description: The people whose data is shared.
paths:
/end-users:
post:
tags:
- End users
summary: Create end user
description: Creates a new end user
operationId: create-end-user
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateEndUserRequestBody'
example:
abn: 51 824 753 556
email: john_starmer@gmail.com
name: John Starmer
phone: '+614123456789'
responses:
'200':
description: OK response.
content:
application/json:
schema:
$ref: '#/components/schemas/Createenduser'
example:
end_user_id: eu_2yRHN2ag2y4p8kCtm5DOeccZEXB
'400':
description: 'end_user_already_exists: user with that email already exists'
content:
application/vnd.goa.error:
schema:
$ref: '#/components/schemas/Error'
'401':
description: 'unauthorized: Unauthorized response.'
content:
application/vnd.goa.error:
schema:
$ref: '#/components/schemas/Error'
'403':
description: 'insufficient_scopes: token doesn''t have enough scope to access the resource'
content:
application/vnd.goa.error:
schema:
$ref: '#/components/schemas/Error'
security:
- bearerAuth: []
externalDocs:
description: Reference page for this operation
url: https://docs.fiskil.com/data-api/api-reference/create-end-user
get:
tags:
- End users
summary: List end users
description: List end users belonging to a client.
operationId: list-end-users
parameters:
- name: email
in: query
description: Email address to filter end users by.
required: false
schema:
type: string
- name: page[before]
in: query
description: When page[before] is specified, backwards pagination is achieved.
required: false
schema:
type: string
- name: page[after]
in: query
description: When page[after] is specified, forwards pagination is achieved.
required: false
schema:
type: string
- name: page[size]
in: query
description: When page[size] is specified, no more than page[size] resources will be included in the response. It is capped at 1000.
required: false
schema:
type: integer
responses:
'200':
description: OK
content:
application/json:
schema:
$ref: '#/components/schemas/front_door.EndUsersBodyV3'
'400':
description: Bad Request
content:
application/json:
schema:
$ref: '#/components/schemas/front_door.ErrorBody'
'500':
description: Internal Server Error
content:
application/json:
schema:
$ref: '#/components/schemas/front_door.ErrorBody'
security:
- bearerAuth: []
externalDocs:
description: Reference page for this operation
url: https://docs.fiskil.com/data-api/api-reference/list-end-users
/end-users/{id}:
post:
tags:
- End users
summary: Update end user
description: Update an end user
operationId: update-end-user
parameters:
- name: end_user_id
in: path
description: ID of the end user
required: true
schema:
type: string
description: ID of the end user
example: eu_2yRHN2ag2y4p8kCtm5DOeccZEXB
example: eu_2yRHN2ag2y4p8kCtm5DOeccZEXB
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/UpdateEndUserRequestBody'
example:
abn: 51 824 753 556
email: john_starmer@gmail.com
phone: '+614123456789'
session_id: ses-123
responses:
'204':
description: No Content response.
'400':
description: 'end_user_already_exists: user with that email already exists'
content:
application/vnd.goa.error:
schema:
$ref: '#/components/schemas/Error'
'404':
description: 'end_user_not_found: end user not found'
content:
application/vnd.goa.error:
schema:
$ref: '#/components/schemas/Error'
security:
- bearerAuth: []
externalDocs:
description: Reference page for this operation
url: https://docs.fiskil.com/data-api/api-reference/update-end-user
delete:
tags:
- End users
summary: Delete end user
description: Allows a client to delete an end user
operationId: delete-end-user
parameters:
- name: id
in: path
description: The id of the end user to delete.
required: true
schema:
type: string
description: The id of the end user to delete.
example: 482c0e2b-5866-46b1-b795-220b7bba45b5
example: 482c0e2b-5866-46b1-b795-220b7bba45b5
responses:
'204':
description: No Content response.
'404':
description: 'end_user_not_found: End user not found'
content:
application/vnd.goa.error:
schema:
$ref: '#/components/schemas/Error'
security:
- bearerAuth: []
externalDocs:
description: Reference page for this operation
url: https://docs.fiskil.com/data-api/api-reference/delete-end-user
get:
tags:
- End users
summary: Get end user by id
description: Finds an end user by end user id
operationId: get-end-user-by-id
parameters:
- name: id
in: path
description: ID of the end user to fetch.
required: true
schema:
type: string
description: ID of the end user to fetch.
example: 482c0e2b-5866-46b1-b795-220b7bba45b5
example: 482c0e2b-5866-46b1-b795-220b7bba45b5
responses:
'200':
description: OK response.
content:
application/json:
schema:
$ref: '#/components/schemas/Enduser'
example:
email: john_starmer@gmail.com
id: 482c0e2b-5866-46b1-b795-220b7bba45b5
name: John Starmer
phone: '+614123456789'
'401':
description: 'unauthorized: Unauthorized response.'
content:
application/vnd.goa.error:
schema:
$ref: '#/components/schemas/Error'
'404':
description: 'end_user_not_found: end user not found'
content:
application/vnd.goa.error:
schema:
$ref: '#/components/schemas/Error'
security:
- bearerAuth: []
externalDocs:
description: Reference page for this operation
url: https://docs.fiskil.com/data-api/api-reference/get-end-user-by-id
components:
schemas:
Enduser:
type: object
properties:
email:
type: string
description: An End Users email address. This should be their primary email, as it is used for notifying the End User about their consents.
example: john_starmer@gmail.com
id:
type: string
description: A unique identifier for the End User object.
example: 482c0e2b-5866-46b1-b795-220b7bba45b5
name:
type: string
description: An End Users name.
example: John Starmer
phone:
type: string
description: An End Users Phone. It is used for notifying the End User about their consents.
example: '+614123456789'
example:
email: john_starmer@gmail.com
id: 482c0e2b-5866-46b1-b795-220b7bba45b5
name: John Starmer
phone: '+614123456789'
required:
- id
UpdateEndUserRequestBody:
type: object
properties:
abn:
type: string
description: Australian Business Number (ABN) of the end user if they represent a business
example: 51 824 753 556
email:
type: string
description: An End Users email address. This should be their primary email, as it is used for notifying the End User about their consents.
example: john_starmer@gmail.com
phone:
type: string
description: An End Users Phone number in E.164 format
example: '+614123456789'
session_id:
type: string
description: ID of the session
example: ses-123
example:
abn: 51 824 753 556
email: john_starmer@gmail.com
phone: '+614123456789'
session_id: ses-123
required:
- session_id
Error:
type: object
properties:
fault:
type: boolean
description: Is the error a server-side fault?
example: true
id:
type: string
description: ID is a unique identifier for this particular occurrence of the problem.
example: 123abc
message:
type: string
description: Message is a human-readable explanation specific to this occurrence of the problem.
example: parameter 'p' must be an integer
name:
type: string
description: Name is the name of this class of errors.
example: bad_request
temporary:
type: boolean
description: Is the error temporary?
example: true
timeout:
type: boolean
description: Is the error a timeout?
example: false
example:
fault: true
id: 123abc
message: parameter 'p' must be an integer
name: bad_request
temporary: true
timeout: false
required:
- name
- id
- message
- temporary
- timeout
- fault
authapi.paginationLinks:
type: object
properties:
next:
type: string
prev:
type: string
server.EnduserResponse:
type: object
properties:
email:
description: 'An End Users email address. This should be their primary email, as it is
used for notifying the End User about their consents.'
type: string
id:
description: A unique identifier for the End User object.
type: string
name:
description: An End Users name.
type: string
phone:
description: 'An End Users Phone. It is used for notifying the End User about their
consents.'
type: string
front_door.ErrorBody:
type: object
properties:
id:
description: Unique identifier for this error.
type: string
message:
description: Details about the error that occurred.
type: string
name:
description: The name of the error.
type: string
CreateEndUserRequestBody:
type: object
properties:
abn:
type: string
description: Australian Business Number (ABN) of the end user if they represent a business
example: 51 824 753 556
email:
type: string
description: An End Users email address. This should be their primary email, as it is used for notifying the End User about their consents.
example: john_starmer@gmail.com
name:
type: string
description: Name of the end user
example: John Starmer
phone:
type: string
description: An End Users Phone number in E.164 format
example: '+614123456789'
example:
abn: 51 824 753 556
email: john_starmer@gmail.com
name: John Starmer
phone: '+614123456789'
front_door.EndUsersBodyV3:
type: object
properties:
end_users:
description: A list of end users belonging to the client.
type: array
items:
$ref: '#/components/schemas/server.EnduserResponse'
links:
description: Links to be used for pagination.
allOf:
- $ref: '#/components/schemas/authapi.paginationLinks'
Createenduser:
type: object
properties:
end_user_id:
type: string
description: A unique identifier for the End User object.
example: eu_2yRHN2ag2y4p8kCtm5DOeccZEXB
example:
end_user_id: eu_2yRHN2ag2y4p8kCtm5DOeccZEXB
required:
- end_user_id
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.