Blnk Finance · Authentication Profile

Blnkfinance Authentication

Authentication

Blnk Finance secures its APIs with apiKey, http, and oauth2 across 0 declared security schemes, as derived from its OpenAPI definitions.

FintechFinancial-ServicesLedgerdouble-entry-accountingPaymentsWalletsLendingBanking InfrastructureOpen-SourceMCPAI AgentsDeveloper Tools
Methods: apiKey, http, oauth2 Schemes: 0 OAuth flows: API key in:

Security Schemes

Source

Authentication Profile

Raw ↑
generated: '2026-08-27'
method: searched
source: >-
  https://docs.blnkfinance.com/advanced/configuration/server-security,
  https://docs.blnkfinance.com/api-keys/overview, https://docs.blnkfinance.com/api-keys/scopes,
  https://docs.blnkfinance.com/cloud/auth/api-keys, https://docs.blnkfinance.com/cloud/reference/mcp,
  https://api.cloud.blnkfinance.com/.well-known/oauth-authorization-server (HTTP 200),
  openapi/blnkfinance-core-openapi.json
note: >-
  UPGRADED FROM DERIVED. The published OpenAPI declares a single securityScheme -- http/basic -- and
  applies it nowhere. That is wrong about the shipped product: every documented Core call authenticates
  with the X-Blnk-Key header, and Blnk Cloud uses Bearer with API keys or OAuth 2.0. The spec's
  http/basic scheme is recorded below as spec_declares for provenance, but the surfaces[] block is what
  an integrator should read.
summary:
  types: [apiKey, http, oauth2]
  primary: X-Blnk-Key header (Core), Bearer token (Cloud)
spec_declares:
  file: openapi/blnkfinance-core-openapi.json
  schemes:
  - {name: basic, type: http, scheme: basic}
  applied_to_operations: 0
  discrepancy: >-
    The spec neither declares the X-Blnk-Key apiKey scheme nor applies any security requirement to its
    18 operations. Generated clients built from this spec will emit no auth header at all.
surfaces:
- surface: Blnk Core REST API (self-hosted)
  base: http://localhost:5001 (default; operator-chosen in production)
  schemes:
  - name: blnk-key
    type: apiKey
    in: header
    header: X-Blnk-Key
    accepts:
    - kind: master key
      value_source: BLNK_SERVER_SECRET_KEY
      privileges: full access; the only key that can manage hooks or act across owners
    - kind: scoped API key
      value_source: created via the API key endpoints
      privileges: 'resource:action scopes (see scopes/blnkfinance-scopes.yml)'
      expiry: supported (expires_at)
      owner_context: 'keys carry an owner; non-master keys are confined to their own owner_id'
      storage: hashed at rest since Core 0.12.0; encrypted with AES-256-GCM per the security page
  enforcement_flag:
    key: BLNK_SERVER_SECURE
    default: false
    behavior: >-
      When false Blnk SKIPS authentication checks entirely. Authentication is only enforced when the
      operator sets it to true, which the docs call out as a required step for "any real deployment".
      This is the single most important thing an integrator must know about Blnk Core auth: the shipped
      default is open.
  errors:
  - {code: AUTH_MISSING_API_KEY, status: 401}
  - {code: AUTH_INVALID_API_KEY, status: 401}
  - {code: AUTH_EXPIRED_API_KEY, status: 401}
  - {code: AUTH_INSUFFICIENT_PERMISSIONS, status: 403}
  - {code: AUTH_MASTER_KEY_REQUIRED, status: 403}
  - {code: AUTH_CROSS_OWNER_ACCESS, status: 403}
  - {code: AUTH_SCOPE_ESCALATION, status: 403}
  docs: https://docs.blnkfinance.com/api-keys/overview
- surface: Blnk Cloud REST API
  base: https://api.cloud.blnkfinance.com
  schemes:
  - name: bearer-api-key
    type: http
    scheme: bearer
    header: 'Authorization: Bearer <api key>'
    docs: https://docs.blnkfinance.com/cloud/auth/api-keys
  - name: oauth2
    type: oauth2
    flows:
      authorizationCode:
        authorizationUrl: https://api.cloud.blnkfinance.com/oauth/authorize
        tokenUrl: https://api.cloud.blnkfinance.com/oauth/token
        refreshUrl: https://api.cloud.blnkfinance.com/oauth/token
        pkce: [S256, plain]
    grant_types: [authorization_code, refresh_token]
    client_auth: [client_secret_post, client_secret_basic]
    metadata:
      rfc8414: https://api.cloud.blnkfinance.com/.well-known/oauth-authorization-server
      openid_configuration: https://api.cloud.blnkfinance.com/.well-known/openid-configuration
      http_status: 200
      probed: '2026-08-27'
      note: >-
        The two documents are byte-identical and neither advertises an id_token, jwks_uri, userinfo
        endpoint or scopes_supported -- so despite the /.well-known/openid-configuration path this is
        plain OAuth 2.0 authorization-code, not OpenID Connect. Do not treat it as an OIDC provider.
    docs: https://docs.blnkfinance.com/cloud/auth/oauth
  unauthenticated_behavior:
    status: 401
    body: '{"error":"Authorization header is required"}'
    note: Every path on api.cloud.blnkfinance.com returns this except the two OAuth metadata documents.
- surface: Blnk Cloud MCP (ledger)
  base: https://api.cloud.blnkfinance.com/mcp/{instance_id}
  schemes:
  - name: bearer
    type: http
    scheme: bearer
    accepts: [Blnk Cloud API key, OAuth 2.0 access token]
    required_scopes: ['mcp:read', 'mcp:write']
  docs: https://docs.blnkfinance.com/cloud/reference/mcp
- surface: Blnk docs MCP
  base: https://docs.blnkfinance.com/mcp
  schemes:
  - {name: none, type: none}
  note: Open, no authentication. Documentation search only.
- surface: Prometheus metrics
  base: GET /metrics on the Core API port and worker monitoring port
  schemes:
  - name: metrics-bearer
    type: http
    scheme: bearer
    value_source: BLNK_METRICS_BEARER_TOKEN
  access_matrix:
  - {secure: false, token_set: false, access: open}
  - {secure: false, token_set: true, access: bearer required}
  - {secure: true, token_set: true, access: bearer required}
  - {secure: true, token_set: false, access: blocked}
  docs: https://docs.blnkfinance.com/advanced/configuration/server-security#metrics-endpoint
secrets_note: >-
  BLNK_SERVER_SECRET_KEY is BOTH the master API key and the HMAC signing secret for outgoing webhooks
  and hook callbacks. Rotating it invalidates request auth and breaks webhook signature verification on
  every receiver at the same time.
mtls: false
openid_connect: false

Work with this as data

Every security artifact 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 security posture

4 MCP tools reach this
  • find_securityBrowse and filter every security artifact 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 security artifact
curl "https://apis.io/api/v1/security/blnkfinance-authentication"
All security posture
curl "https://apis.io/api/v1/security?limit=25"

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

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.