FISKIL End users API

The people whose data is shared.

Operations 5

POST /end-users Create end user #
GET /end-users List end users #
POST /end-users/{id} Update end user #
DELETE /end-users/{id} Delete end user #
GET /end-users/{id} Get end user by id #

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.
All 92 tools →

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

fiskil-end-users-api-openapi.yml Raw ↑
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.