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
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.
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.