Credit profile widget
Help users improve their finanical health with credit profile information directly from your website.

The widget is responsive to adapt to the space you assign.
Pre-requisites
To successfully show a widget, the company must be a limited company and have a valid Companies House number.
Therefore it's recommended only show the widget if you have a valid Companies House number.
Examples
Size | Min width | Example |
---|---|---|
Small | 320px | ![]() |
Medium | 740px | ![]() |
Large | 1024px | ![]() |
Environments
Environment | Base URL | Description |
---|---|---|
Demo | https://demo.capitalise.com | Get started with test credentials and life-like data |
Production | https://capitalise.com | Launch your app with unlimited live credentials |
For account setup, please contact our Commercial Director Olly Cummings at olly@capitalise.com.
- Data and credentials (e.g.
Logins
,API Key
,API Token
) CANNOT be moved between Production and Demo - Always double check if you've got the right credentials configured before production release
Setup your account for Capitalise.com
Once you've signed MOU, your Partner Manager will send the invite so that you can complete the registration. If in doubt, please reach out to your Partner Manager.
Sever-side
On the server-side, you will be calling two sets of APIs:
API | Base Path | Description |
---|---|---|
Platform V1 | /api/platform/v1 | Generating API Key that unique identifies your application |
Marketplace V2 | /api/marketplace/v2 | The suite of APIs to create tenants, set up profile and get credit profile |
Generate API key
Generate a platform access token
using your environment login to Capitalise.com.
- Demo
- Production
curl --location --request POST 'https://demo.capitalise.com/api/platform/v1/auth/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "YOUR_EMAIL",
"password": "YOUR_PASSWORD"
}'
curl --location --request POST 'https://capitalise.com/api/platform/v1/auth/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "YOUR_EMAIL",
"password": "YOUR_PASSWORD"
}'
Upon Successful 200, you will get the access_token
in the response.
{
"access_token": "eyJhbGciOiJSUz...",
"expires_in": 86400,
"scope": "read:current_user update:current_user_metadata delete:current_user_metadata create:current_user_metadata create:current_user_device_credentials delete:current_user_device_credentials update:current_user_identities",
"token_type": "Bearer"
}
You can use this access_token
to generate an API key
for your application.
- Demo
- Production
curl --location --request POST 'https://demo.capitalise.com/api/platform/v1/api-key' \
--header 'Authorization: Bearer eyJhbGciOiJSUz...' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "YOUR_API_KEY_NAME",
"scopes": [
"profile:multiples",
"profile:read",
"profile:write",
"questionnaire:read",
"questionnaire:write",
"funding:read",
"funding:write",
"insights:read",
"scoring:read",
"offline_access"
],
}'
curl --location --request POST 'https://capitalise.com/api/platform/v1/auth/login' \
--header 'Content-Type: application/json' \
--data-raw '{
"email": "YOUR_EMAIL",
"password": "YOUR_PASSWORD"
}'
Upon Successful 200, you will get your API Key
in the response.
{
"key": "e6b6fefbd0c0762ab707c211923781985651a47ad323b0faec1d5ed58996026e40"
}
Please securely store your API key and do not share your with anyone as it's your credential to access Capitalise
Generate Marketplace master access token
To generate your API Key
, you would need to use the platform access_token
as your bearer token.
- Demo
- Production
curl --location --request POST 'https://demo.capitalise.com/api/platform/v1/api-key' \
--header 'Authorization: Bearer eyJhbG...{{PLATFORM_ACCESS_TOKEN}}...puwv4f2KGadrMwq681u_RQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Widget testing", # This string needs to be unique
"scopes": [
"profile:multiples",
"profile:read",
"profile:write",
"questionnaire:read",
"questionnaire:write",
"funding:read",
"funding:write",
"insights:read",
"scoring:read",
"offline_access"
],
"expiresAt": "2022-07-26T13:29:11.631Z"
}'
curl --location --request POST 'https://capitalise.com/api/platform/v1/api-key' \
--header 'Authorization: Bearer eyJhbG...{{PLATFORM_ACCESS_TOKEN}}...puwv4f2KGadrMwq681u_RQ' \
--header 'Content-Type: application/json' \
--data-raw '{
"name": "Widget testing", # This string needs to be unique
"scopes": [
"profile:multiples",
"profile:read",
"profile:write",
"questionnaire:read",
"questionnaire:write",
"funding:read",
"funding:write",
"insights:read",
"scoring:read",
"offline_access"
],
"expiresAt": "2022-07-26T13:29:11.631Z"
}'
Now we move onto Marketplace APIs to generate master access token
. You will need to use your API Key
to do this.
curl --location --request POST 'https://bravo.dev.capitalise.com/api/marketplace/v2/auth/authorize' \
--header 'X-API-Key: e6b6fefbd0c0762ab707c211923781b86f51a47ad323b0faec1d5ed58996026e40'
Upon Successful 201, you will get two Marketplace tokens:
access_token
: This is the token that you will use to access the Marketplace API. It will expire in 10 hours. You can use this token to access/tenants
; but it will not be able to acccess/profile
.refresh_token
: This is the token that allow you refresh youraccess_token
without using anAPI Key
for extra security. This token will be expired once you've used it to refresh `access_token.
{
"access_token": "eyJhbGciO...{{MARKETPLACE_MASTER_ACCESS_TOKEN}}...V0GiDrY9sVzbZjQMDc1znR77Q",
"expires_in": 36000,
"refresh_token": "eyJhbGciO...{{MARKETPLACE_MASTER_REFRESH_TOKEN}}...zfoV3Ek3RxZZOSIl_IvULkIA",
"scope": "profile:multiples profile:read profile:write questionnaire:read questionnaire:write funding:read funding:write insights:read scoring:read offline_access",
"token_type": "Bearer"
}
Create a tenant
Now we move onto Marketplace APIs to generate master access token
. You will need to use your API Key
to do this.
- Demo
- Production
curl --location --request POST 'https://demo.capitalise.com/api/marketplace/v2/tenants' \
--header 'Authorization: Bearer eyJhbGciO...{{MARKETPLACE_MASTER_ACCESS_TOKEN}}...V0GiDrY9sVzbZjQMDc1znR77Q' \
--header 'Content-Type: application/json' \
--data-raw '{
"referenceId": "Unique Tenant ID" # Optional but recommended - needs to be unique
}'
curl --location --request POST 'https://capitalise.com/api/marketplace/v2/tenants' \
--header 'Authorization: Bearer eyJhbGciO...{{MARKETPLACE_MASTER_ACCESS_TOKEN}}...V0GiDrY9sVzbZjQMDc1znR77Q' \
--header 'Content-Type: application/json' \
--data-raw '{
"referenceId": "Unique Tenant ID" # Optional but recommended - needs to be unique
}'
Upon Successful 201, you will get the tenant ID.
{
"id": "5ccaa9ba-e3d4-4c1b-865a-26ac02c2717d",
"referenceId": "Unique Tenant ID",
"createdDateTime": "2022-04-25T00:16:28.000Z",
"updatedDateTime": "2022-04-25T00:16:28.000Z"
}
Genenrate tenant access token
Once a tenant is created, you can generate a tenant access token
to manage the tenant.
- Demo
- Production
curl --location --request POST 'https://demo.capitalise.com/api/marketplace/v2/auth/tenants/authorize' \
--header 'Capitalise-tenant-id: 5ccaa9ba-e3d4-4c1b-865a-26ac02c2717d' \
--header 'Authorization: Bearer eyJhbGciO...{{MARKETPLACE_MASTER_ACCESS_TOKEN}}...3Fj_LK_-V0GiDrY9sVzbZjQMDc1znR77Q'
curl --location --request POST 'https://capitalise.com/api/marketplace/v2/auth/tenants/authorize' \
--header 'Capitalise-tenant-id: 5ccaa9ba-e3d4-4c1b-865a-26ac02c2717d' \
--header 'Authorization: Bearer eyJhbGciO...{{MARKETPLACE_MASTER_ACCESS_TOKEN}}...3Fj_LK_-V0GiDrY9sVzbZjQMDc1znR77Q'
Upon Successful 201, you will get the tenant access_token
.
{
"access_token": "eyJhbGciOi...{{MARKETPLACE_TENANT_ACCESS_TOKEN}}...tRtpiO1aayuWslZ3_ssOQ5rxqGOYZQooBDICrJGVHcF2gg",
"expires_in": 36000,
"scope": "profile:read profile:write sign_up",
"token_type": "Bearer"
}
Set up profile
Now you can set up the profile for the tenant. The widget only need a valid Companies House number.
- Demo
- Production
curl --location --request POST 'https://demo.capitalise.com/api/marketplace/v2/profile' \
--header 'Authorization: Bearer eyJhbGciOi...{{MARKETPLACE_TENANT_ACCESS_TOKEN}}...tRtpiO1aayuWslZ3_ssOQ5rxqGOYZQooBDICrJGVHcF2gg' \
--header 'Content-Type: application/json' \
--data-raw '{
"companyInformation": {
"registrationNumber": "11391321"
}
}'
curl --location --request POST 'https://capitalise.com/api/marketplace/v2/profile' \
--header 'Authorization: Bearer eyJhbGciOi...{{MARKETPLACE_TENANT_ACCESS_TOKEN}}...tRtpiO1aayuWslZ3_ssOQ5rxqGOYZQooBDICrJGVHcF2gg' \
--header 'Content-Type: application/json' \
--data-raw '{
"companyInformation": {
"registrationNumber": "11391321"
}
}'
If you get a 201 Successful response, it means you've set up the profile correctly for the tenant.
Client-side (mobile app or webapp)
Now the exciting part - we will show the widget on the client-side so your end-user can see the credit profile at your site.
Embed widget using JavaScript
By using JavaScript, you will be able to catch erros from the UI.
Add the following script before </body>
tag. The script will look for the element with class name capFundingSearch
and will create the widget within the element.
- Demo
- Production
<script>
!(function (e, t, n, i, a, c, s) {
(e[(a = a || "capitalise")] =
e[a] ||
function () {
(e[a].q = e[a].q || []).push(arguments);
}),
(e[a].l = 1 * new Date()),
(c = t.createElement(n)),
(s = t.getElementsByTagName(n)[0]),
(c.id = a),
(c.src = "https://demo.capitalise.com/app/ui/widget/widget.js"),
(c.async = 1),
s.parentNode.insertBefore(c, s);
})(window, document, "script");
capitalise("init", {
element: ".capFundingSearch",
accessToken: "REPLACE_WITH_TENANT_ACCESS_TOKEN",
onError: console.error,
});
</script>
<script>
!(function (e, t, n, i, a, c, s) {
(e[(a = a || "capitalise")] =
e[a] ||
function () {
(e[a].q = e[a].q || []).push(arguments);
}),
(e[a].l = 1 * new Date()),
(c = t.createElement(n)),
(s = t.getElementsByTagName(n)[0]),
(c.id = a),
(c.src = "https://capitalise.com/app/ui/widget/widget.js"),
(c.async = 1),
s.parentNode.insertBefore(c, s);
})(window, document, "script");
capitalise("init", {
element: ".capFundingSearch",
accessToken: "REPLACE_WITH_MARKETPLACE_TENANT_ACCESS_TOKEN",
onError: console.error,
});
</script>
Create an empty div
with capitalise
class at the place you want to show the widget.
<div class="capFundingSearch"></div>
Embed widget using iframe
Alternatively, you can embed the widget using an iframe. The implementation is simplerl; but you won't be able to catch errors from the UI.
Insert the following code into your website and replace TENANT_ACCESS_TOKEN
with your tenant access token. Also, change the height
and width
to match your needs.
- Demo
- Production
<iframe
src="https://demo.capitalise.com/app/ui/widget/embed.html?accessToken=REPLACE_WITH_MARKETPLACE_TENANT_ACCESS_TOKEN"
height="320px"
width="100%"
title="Credit profile"
frameborder="0"
scrolling="no" />
<iframe
src="https://capitalise.com/app/ui/widget/embed.html?accessToken=REPLACE_WITH_MARKETPLACE_TENANT_ACCESS_TOKEN"
height="320px"
width="100%"
title="Credit profile"
frameborder="0"
scrolling="no" />