Akahu · Schema

Connection

CompanyFinanceOpen BankingNew ZealandAPI

Properties

Name Type Description
_id object
_classic string The ID of the corresponding classic connection for this institution. This is only present for official open banking connections (Read more [here](/docs/official-open-banking)).
name string Display name for the connected institution.
logo string A URL pointing to an image of the institution's logo.
connection_type object
new_connections_enabled boolean Whether new connections to this institution are allowed. This may be `false` if your app is configured to migrate users to the official open banking connection for this provider.
mode string The migration mode of this connection. This is only present for official open banking connections (Read more [here](/docs/official-open-banking)). The `mode` will be one of: - `strict` The classic equ
deadline string The deadline date for users to migrate from classic to official open banking connections. This is only present for official open banking connections in `migration` or `developer` mode (Read more [here
View JSON Schema on GitHub

JSON Schema

akahu-connection-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/akahu/main/json-schema/akahu-connection-schema.json",
  "title": "Connection",
  "x-generated": "2026-10-27",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/akahu-enduring-api-openapi.yml#/components/schemas/Connection",
  "type": "object",
  "properties": {
    "_id": {
      "$ref": "#/$defs/ConnectionId"
    },
    "_classic": {
      "type": "string",
      "format": "cuid",
      "pattern": "^conn_[a-z0-9]{25,27}$",
      "description": "The ID of the corresponding classic connection for this institution.\n\nThis is only present for official open banking connections (Read more [here](/docs/official-open-banking))."
    },
    "name": {
      "type": "string",
      "description": "Display name for the connected institution."
    },
    "logo": {
      "type": "string",
      "format": "uri",
      "description": "A URL pointing to an image of the institution's logo."
    },
    "connection_type": {
      "$ref": "#/$defs/ConnectionType"
    },
    "new_connections_enabled": {
      "type": "boolean",
      "description": "Whether new connections to this institution are allowed.\n\nThis may be `false` if your app is configured to migrate users to the official open banking connection for this provider."
    },
    "mode": {
      "type": "string",
      "description": "The migration mode of this connection.\n\nThis is only present for official open banking connections (Read more [here](/docs/official-open-banking)).\n\nThe `mode` will be one of:\n\n- `strict` The classic equivalent of this connection is not available to your users. This mode can only be configured for new apps or apps that have successfully migrated all users away from their existing classic connections for this provider.\n\n- `migration` Any existing classic connections to this provider will continue to operate, but users will be unable to set up a new classic connection for this provider. New connections can only be established using this official open banking connection.\n\n- `side_by_side` Your users will be able to choose when setting up a new connection whether they wish to use the classic or official open banking connection for this provider. This mode is useful for apps that want to enable an official open banking connection where possible, but provide a fallback for users with account types that are not yet supported by the official open banking connection.\n\n- `developer` This is like migration mode, but will allow developers to continue to connect classic connections, so that they can test the migration process. This mode can only be enabled in non-production environments.",
      "enum": [
        "strict",
        "migration",
        "side_by_side",
        "developer"
      ]
    },
    "deadline": {
      "type": "string",
      "description": "The deadline date for users to migrate from classic to official open banking connections.\n\nThis is only present for official open banking connections in `migration` or `developer` mode (Read more [here](/docs/official-open-banking))."
    }
  },
  "required": [
    "_id",
    "name",
    "logo",
    "connection_type",
    "new_connections_enabled"
  ],
  "$defs": {
    "ConnectionId": {
      "type": "string",
      "format": "cuid",
      "pattern": "^conn_[a-z0-9]{25,27}$",
      "description": "The connected financial institution's unique identifier. This will always be prefixed with `conn_`."
    },
    "ConnectionType": {
      "type": "string",
      "description": "The type of integration used to connect to this institution.\n\nThis will be one of:\n- `classic` A classic Akahu connection, which uses Akahu's custom built integration to connect to the institution.\n- `official` An official open banking connection, which uses the institution's official open banking APIs.",
      "enum": [
        "classic",
        "official"
      ]
    }
  }
}

Work with this as data

Every JSON Schema 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 schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • 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 JSON Schema
curl "https://apis.io/api/v1/json-schemas/akahu-connection"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.