API reference

Public API public read-only

The public/v1 ring is an unauthenticated, read-only surface that publishes Credit Corp’s product catalogue, figures, loyalty ladder and a live health probe. It backs the hosted apply journey, the marketing estate and AI agents — and you can call the read endpoints directly, no token required.

This is distinct from partner/v1, the token-gated integration API for taking applications, reading decisions and moving money (see the API reference overview). Everything on this page is public, safe to cache, and returns published figures only — there is no customer data here.

Base URL

The public/v1 handlers are served from the hub host. There is no separate sandbox for the public ring — it only ever returns published, non-sensitive data.

Base URL
https://hub.credicorp.co.uk/public/v1
Auth
None for the read endpoints below. Higher-risk capabilities are token-gated — see partner terms.
Format
application/json, UTF-8. Amounts are labelled with their unit (pounds or pence) in the payload.

Because these endpoints are public and read-only, they are ideal for AI agents and comparison tools. For a structured, tool-callable view of the same product/pricing/quote data, use the MCP server, which exposes it over JSON-RPC 2.0.

Capabilities

The public ring covers the following capabilities. Endpoints marked confirmed are documented with their exact path below; the remainder are surfaced through the hosted journeys and the MCP tools rather than as separately published REST paths — treat those as capability-level and confirm exact paths under your partner terms.

CapabilityAccessHow to reach it
Health probepublic, read-onlyGET /public/v1/healthz — see below.
Products & figurespublic, read-onlyGET /public/v1/products — see below. Also via MCP list_products / product_details.
Loyalty tierspublic, read-onlyGET /public/v1/loyalty/tiers — see below. Also via MCP loyalty_tiers.
Representative quotespublic, read-onlyVia the MCP get_quote tool (live quote engine). See MCP.
Eligibility criteriapublic, read-onlyVia the MCP eligibility_criteria / how_to_apply tools.
Pricing figurespublic, read-onlyCarried inside the products payload (figures) and in product_details.
Enquiries / support widgettoken-gated / hostedSubmitted through the hosted apply and help journeys; not a public write path. See partner terms.
CMS / contenttoken-gatedContent publishing is gated behind partner credentials, not a public endpoint.

Health probe

An unauthenticated ops/status probe for the live platform. Use it in monitors and pre-flight checks. It returns HTTP 200 with status: "ok" when healthy, and a non-200 when a dependency (database, migrations, queue) is unhealthy.

bash
curl -s https://hub.credicorp.co.uk/public/v1/healthz
json
{
  "status": "ok",
  "app": "hub",
  "db": { "up": true, "latencyMs": 1 },
  "migrations": { "applied": 208, "onDisk": 208, "inSync": true },
  "queue": { "reachable": true, "pending": 0 },
  "time": "2026-07-03T13:06:50Z"
}
FieldMeaning
statusok when every dependency is healthy.
db.up / db.latencyMsDatabase reachability and round-trip latency.
migrations.inSynctrue when applied migrations match those on disk (no pending drift).
queue.reachable / queue.pendingBackground-queue reachability and backlog depth.
timeServer time in RFC 3339 UTC.

Products & figures

Returns the published product catalogue — Business Loan, Flex and Slice — each with its kind, availability and the live figures that drive pricing. Figures are published, representative values; a real quote comes from the quote engine (see MCP get_quote).

bash
curl -s https://hub.credicorp.co.uk/public/v1/products
json
{
  "currency": "GBP",
  "products": {
    "business_loan": {
      "id": "business_loan",
      "name": "Business Loan",
      "kind": "fixed_sum_loan",
      "enabled": true,
      "is_credit": true,
      "currency": "GBP",
      "description": "A short-term business loan for a one-off, small sum…",
      "figures": {
        "amount_min_pounds": 50, "amount_max_pounds": 500,
        "term_min_days": 14, "term_max_days": 84,
        "daily_rate": 0.0025, "establishment_fee_pounds": 5,
        "total_cost_cap_multiple": 1.0, "late_fee_pounds": 12
      }
    },
    "flex":  { "kind": "revolving_credit", "enabled": true,  },
    "slice": { "kind": "fixed_fee_instalments", "is_credit": false,  }
  }
}

All money in the figures block is labelled by unit in its key name (*_pounds). Rates are decimals (daily_rate: 0.0025 = 0.25%/day). Read the key suffix rather than assuming a unit.

Loyalty tiers

Returns the loyalty ladder — Bronze through Platinum — with each tier’s qualification thresholds and the arrangement-fee discount it earns.

bash
curl -s https://hub.credicorp.co.uk/public/v1/loyalty/tiers
json
{
  "tiers": [
    {
      "slug": "bronze", "label": "Bronze", "is_top_tier": false,
      "thresholds": { "min_repaid_loans": 0, "min_tenure_months": 0,  },
      "benefits": { "arrangement_fee_discount_pct": 0.0 }
    },
    { "slug": "silver", "benefits": { "arrangement_fee_discount_pct": 0.25 } },
    … gold, platinum …
  ]
}

Platform status

The health probe is the machine-readable source of truth for live platform health. For a human view, see the developer status page and the platform at hub.credicorp.co.uk. Release rings (staging / pre-prod) are explained on the Environments page.

Errors

Read endpoints return 200 on success and a JSON error envelope on failure. Unknown paths under public/v1 return 404. The envelope matches the platform-wide shape documented on the Errors page.

Where to go next