Creditlinker
For developers

Build with
verified financial
identity data.

The Creditlinker API gives you access to six-dimensional financial identities, feature store metrics, and platform events for verified businesses. Every query requires explicit consent from the business you're querying.

QUICKSTART
quickstart.tsTypeScript
// 1. Install the SDK
npm install @creditlinker/sdk

// 2. Initialize with your API key
import { Creditlinker } from '@creditlinker/sdk'

const cl = new Creditlinker({
  apiKey: process.env.CREDITLINKER_API_KEY,
})

// 3. Fetch a business financial identity
const identity = await cl.partner.getProfile(businessToken)

console.log(identity.score)        // 742
console.log(identity.dimensions)   // { revenueStability: 85, ... }
console.log(identity.riskProfile)  // "low"

Response

score:742
riskProfile:"low"
revenueStability:85
cashflowPredict.:78
expenseDiscipline:81
liquidityStrength:74
financialConsist.:88
riskProfileScore:91
dataQualityScore:94
dataCoverageMonths:18
Partner access tiers

Three tiers.
One consent model.

All partner integrations require explicit business consent. The tier determines what you can do with the data you're granted access to.

Read

Read tier

Query a business's financial identity — score, dimensions, profile — within the scope of their consent grant. Ideal for embedding creditworthiness signals into your own products.

GET /partner/profile/:business_token
GET /partner/consent/status
View identity score and 6 dimensions
View financial profile (permitted fields only)
Check data quality score
Read capital readiness assessment
Signal

Signal tier

Subscribe to webhook notifications when a business's financial identity changes. Build reactive systems that respond to score updates, pipeline completions, and consent events.

All Read tier capabilities
FINANCIAL_PROFILE_UPDATED events
SCORE_RECALCULATED events
CONSENT_GRANTED / REVOKED events
FINANCING_GRANTED events
Configurable webhook endpoints
Build

Build tier

Submit verified financial data into the Creditlinker pipeline on behalf of a business. Extend the platform's data coverage with your own verified data streams.

All Signal tier capabilities
POST /partner/submit/submit_bank_transactions
POST /partner/submit/submit_identity_signals
POST /partner/submit/submit_operational_data
Data acceptance + rejection reporting
Submission audit trail
REST API

Clean, predictable
endpoints.

Bearer JWT auth via Keycloak. All endpoints return typed JSON. Full OpenAPI spec available in the developer portal.

Partner API

GET
/partner/consent/status

Check consent status and permitted fields for a business token

partner
GET
/partner/profile/:business_token

Fetch the scoped financial identity profile (permitted fields only)

partner
POST
/partner/submit/:submission_type

Submit verified bank transactions, identity signals, or operational data

partner · Build

Business API

GET
/business/score

Retrieve current identity score and all six financial dimensions

business_owner
POST
/business/mono/initiate

Initiate Mono Open Banking link flow. Returns a link URL.

business_owner
POST
/business/mono/callback

Exchange Mono auth code for account link

business_owner
POST
/business/upload/csv

Import transaction data from CSV with configurable column mapping

business_owner
GET
/business/readiness

Get capital readiness assessments across all 14 financing categories

business_owner
GET
/business/snapshots

Retrieve historical financial identity snapshots

business_owner
POST
/business/consent/grant

Grant a capital provider access to financial identity data

business_owner
POST
/business/consent/revoke

Immediately revoke an active consent grant

business_owner

Institution API

GET
/institution/score/:fid

Fetch a business's identity score (requires can_view_score consent)

institution
GET
/institution/profile/:fid

Fetch filtered financial profile based on consent permissions

institution
GET
/institution/profile/:fid/provenance

Retrieve full metric provenance: source data, account, and period

institution
GET
/institution/discovery

List anonymized businesses matching your criteria

institution
POST
/institution/discovery/criteria

Post or update your matching criteria

institution

BASE URL

https://api.creditlinker.io/v1

AUTHENTICATION

Authorization: Bearer <token>

// Token from Keycloak password grant:
POST /auth/realms/creditlinker/
  protocol/openid-connect/token

Sandbox environment

Test all API calls against realistic synthetic business data — including pre-seeded identities, pipeline events, and consent flows — without touching production data.

Open sandbox

Rate limits

Read tier1,000 req / min
Signal tier1,000 req / min
Build tier500 req / min
Webhooks

React to identity
changes in real time.

Creditlinker fires events whenever something meaningful changes in a business's financial identity. Subscribe to the events you care about and build reactive systems that respond automatically.

Platform events

DATA_INGESTEDNew financial data received and queued
FEATURES_GENERATEDFeature store updated with new metrics
FINANCIAL_PROFILE_UPDATEDIdentity profile changed after pipeline run
SCORE_RECALCULATEDAll 6 dimensions re-scored
CONSENT_GRANTEDBusiness granted you data access
CONSENT_REVOKEDBusiness revoked your access
FINANCING_GRANTEDFinancing offer accepted
SETTLEMENT_CONFIRMEDRepayment verified against bank data
DISPUTE_OPENEDFinancing dispute initiated
WEBHOOK HANDLER
webhook.tsTypeScript
// Listen for identity update events
app.post('/webhooks/creditlinker', async (req, res) => {
  const { event_type, payload } = req.body

  switch (event_type) {
    case 'FINANCIAL_PROFILE_UPDATED':
      // Score or dimension changed
      await updateLoanDecision(payload.business_id)
      break

    case 'SCORE_RECALCULATED':
      // New pipeline run completed
      await notifyUnderwriter(payload)
      break

    case 'CONSENT_REVOKED':
      // Business revoked your access
      await removeBusinessFromPipeline(payload.business_id)
      break
  }

  res.json({ received: true })
})
BUILD TIER — DATA SUBMISSION
submit-data.tsTypeScript
// Submit operational data (Build tier)
const result = await cl.partner.submitData({
  submissionType: 'submit_bank_transactions',
  businessToken: businessToken,
  data: [
    {
      date: '2026-03-14',
      amount: 420000,
      direction: 'credit',
      description: 'CUSTOMER PAYMENT REF-0042',
      currency: 'NGN',
    },
  ],
})

console.log(result.accepted)        // true
console.log(result.recordsAccepted) // 1
Developer tools

Everything you need to ship.

SDKs, a sandbox environment, interactive API reference, and configurable webhook testing — all in the developer portal.

TypeScript SDK

Full type coverage, auto-pagination, retry logic, and typed webhook event handlers. npm install @creditlinker/sdk.

Sandbox

Pre-seeded synthetic businesses with realistic identity data, consent flows, and pipeline events. No production data ever touched.

API reference

Interactive OpenAPI reference with try-it-now, request/response examples, and schema documentation for every endpoint.

Webhook testing

Trigger any platform event manually in the developer portal. Inspect payloads, test handlers, and verify delivery in real time.

API key management

Create scoped API keys per environment with configurable permissions. Rotate keys without downtime. Full usage analytics.

Consent debugger

Inspect active consent grants, permitted fields, and access logs for any business token in your sandbox or production environment.

Usage analytics

Per-endpoint call volumes, latency percentiles, error rates, and consent event frequency — dashboarded by API key and environment.

Event log

Full searchable history of all SDK events, webhook deliveries, retries, and failures — with payload inspection and replay.

Event-driven architecture

Built on events.
Everything is observable.

Creditlinker runs on an event-driven architecture. Every meaningful state change in the platform fires an event, making your integrations reactive, auditable, and debuggable.

Data pipeline

DATA_INGESTEDTRANSACTION_NORMALIZEDFEATURES_GENERATED

Identity

FINANCIAL_PROFILE_UPDATEDSCORE_RECALCULATEDIDENTITY_VERSION_CREATED

Consent

CONSENT_GRANTEDCONSENT_REVOKEDCONSENT_RENEWEDCONSENT_EXPIRED

Financing

FINANCING_GRANTEDSETTLEMENT_CONFIRMEDDISPUTE_OPENEDDISPUTE_RESOLVED

Discovery

DISCOVERY_MATCH_CREATEDACCESS_REQUESTEDACCESS_GRANTEDACCESS_DENIED

System

PIPELINE_RUN_STARTEDPIPELINE_RUN_COMPLETEDRISK_FLAG_RAISED

Start building in
minutes.

Get your API key, spin up the sandbox, and make your first identity query before your coffee goes cold. The SDK ships with full TypeScript types and complete OpenAPI docs.

Getting started checklist

Sign up and create your developer account
Generate an API key in the developer portal
Install the SDK: npm install @creditlinker/sdk
Run your first query against the sandbox
Configure webhook endpoints for identity events
Test consent flows with synthetic business tokens
Go live: switch to your production API key
3 of 7 steps complete