Guide

Distribute Credicorp

Earn from lending you don't underwrite. Send borrowers our way as tracked introductions, attribute every resulting application back to you, and read your revenue-share payouts through the API.

Roadmap — not yet available. The introduction tracking and payout endpoints (/partner/v1/introductions, /partner/v1/payouts) are planned but not yet built and return 503 Service Unavailable. This guide documents the planned shape. The live surface today is the token + MCP tier; availability will be announced on the changelog.

Distribution suits accountants, brokers, marketplaces, ERPs and any platform whose customers are UK limited companies needing finance. You bring the demand; Credicorp underwrites, funds and services the loan. Two models cover almost every partner — pick the one that matches how much of the experience you want to own.

Refer vs resell

ReferResell
Who runs the journeyCredicorp (hosted)You (white-label)
Borrower-facing brandCredicorpYours
Integration effortA link + a webhookFull lending integration
Compliance footprintIntroducer onlyYou own the front end
CommercialsReferral fee on fundingRevenue share on the book

Both models pivot on one primitive: the introduction. An introduction is a tracked, attributable handle that ties applications — and therefore payouts — back to you. Create it once, carry its id onto every application, and the platform does the accounting.

Distribution needs the introductions:write and payouts:read scopes. It does not require lending scopes — you never touch decisioning or money movement.

1 · Create a tracked introduction

POST/partner/v1/introductions

Create an introduction when a borrower expresses intent. It returns an id (prefixed intro_) and a ready-to-use apply_url for the refer model. Pass your own reference to thread your CRM record through to the payout.

Body parameters

FieldTypeDescription
business.company_numberstringoptCompanies House number, if known. Pre-fills the journey.
channelstringoptweb, email, in_app — for your own attribution reporting.
campaignstringoptFree-text campaign tag, surfaced on payout lines.
referencestringoptYour CRM/lead id, echoed on the application & payout.
bash
curl -s https://hub.credicorp.co.uk/partner/v1/introductions \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: intro-lead_4471" \
  -d '{
    "business": { "company_number": "16093826" },
    "channel": "in_app",
    "campaign": "q3-cashflow",
    "reference": "lead_4471"
  }'
javascript
import { Credicorp } from '@credicorp/sdk';
const cc = new Credicorp({ token: process.env.CREDICORP_TOKEN });

const intro = await cc.introductions.create({
  business: { company_number: '16093826' },
  channel: 'in_app',
  campaign: 'q3-cashflow',
  reference: 'lead_4471',
}, { idempotencyKey: 'intro-lead_4471' });

// Refer model: send the borrower here
redirect(intro.apply_url);
php
use Credicorp\Client;

$cc = new Client(getenv('CREDICORP_TOKEN'));

$intro = $cc->introductions->create([
    'business'  => ['company_number' => '16093826'],
    'channel'   => 'in_app',
    'campaign'  => 'q3-cashflow',
    'reference' => 'lead_4471',
], idempotencyKey: 'intro-lead_4471');

header('Location: ' . $intro->apply_url);

Response 201 Created

json
{
  "id": "intro_Q7m2Za",
  "object": "introduction",
  "status": "open",
  "channel": "in_app",
  "campaign": "q3-cashflow",
  "reference": "lead_4471",
  "apply_url": "https://apply.credicorp.co.uk/i/Q7m2Za…",
  "created_at": "2026-06-29T11:20:00Z"
}

2 · Attribute the application

Attribution is what turns a lead into a payable deal. There are two ways the introduction_id gets onto the application:

  • Refer. Send the borrower to the apply_url. The hosted journey carries the introduction_id automatically — you do nothing further.
  • Resell. You create the application yourself (per Integrate lending roadmap) and set introduction_id explicitly on the create call.
POST/partner/v1/applications
bash
curl -s https://hub.credicorp.co.uk/partner/v1/applications \
  -H "Authorization: Bearer $TOKEN" \
  -H "Idempotency-Key: app-lead_4471" \
  -d '{
    "business": { "company_number": "16093826" },
    "amount_pence": 1800000,
    "term_months": 18,
    "introduction_id": "intro_Q7m2Za"
  }'

Attribution is set at application create time and is immutable thereafter. If you omit introduction_id on a resell create, that deal cannot be back-attributed — the payout is lost. Set it on the very first call.

3 · Track conversion

You don't need to poll. The same lifecycle webhooks you'd use for a lending integration carry the introduction_id, so you can watch a lead move from introduced to funded in your own dashboard. The introduction's status follows the deal:

Introduction statusMeaning
openCreated; no application yet.
appliedAn application was created against it.
fundedThe application disbursed — payout accrues.
expiredNo application within the attribution window (90 days).

Listen for application.funded and read data.introduction_id to mark the lead converted:

json
{
  "id": "evt_9Pq",
  "type": "application.funded",
  "data": {
    "application_id": "app_3Rb7",
    "introduction_id": "intro_Q7m2Za",
    "amount_pence": 1800000,
    "reference": "lead_4471"
  }
}

4 · Read revenue-share payouts

GET/partner/v1/payouts

Payouts are settled monthly and exposed as a cursor-paginated list (see Pagination). Each payout aggregates the lines that funded in the period; every line carries the originating introduction_id and your reference, so your finance team can reconcile to the penny against your CRM.

bash
curl "https://hub.credicorp.co.uk/partner/v1/payouts?period=2026-06" \
  -H "Authorization: Bearer $TOKEN"

Response 200 OK

json
{
  "object": "list",
  "data": [{
    "id": "po_2026_06",
    "period": "2026-06",
    "status": "paid",
    "currency": "GBP",
    "gross_pence": 412500,
    "lines": [{
      "introduction_id": "intro_Q7m2Za",
      "application_id": "app_3Rb7",
      "reference": "lead_4471",
      "basis": "revenue_share",
      "amount_pence": 90000
    }],
    "paid_at": "2026-07-07T09:00:00Z"
  }]
}

Subscribe to payout.paid to trigger your own bookkeeping the moment a remittance settles — the event mirrors the object above. Your commercial rate, attribution window and minimum payout threshold are set in your partner agreement; the API simply reports what those terms produced.

One stable reference — carried from introduction → application → payout line — lets you join the whole funnel with a single key. Use your CRM lead id and reconciliation becomes a one-liner.