CreditPassport
API Reference
Sandbox
Ready

CreditPassport API Reference

Everything you need to create companies, connect their bank data and pull a Credit Passport score — with every request runnable straight from this page.

Services
Endpoints
AuthOAuth2 · client credentials
Before you try a request: open Environment (top right) and fetch an access token, then open Variables to fill in the IDs your sandbox uses. Live calls run directly from your browser to the API base URL — if your network blocks cross-origin requests to it, use the generated cURL command instead.

Getting Started

The CreditPassport API is a set of four services — Companies, Bank Service, Score and Insights — all sitting behind one API base URL and one OAuth2 login. This page walks through a first end-to-end call: authenticate, create a company, connect its bank data, then pull a score.

Base URL

https://<your-environment>.azure-api.net

Auth model

OAuth2 client credentials grant. One token, sent as a Bearer header, works across all four services.

1

Authenticate

Exchange your client ID and secret for an access token. Send them as HTTP Basic auth on the request, along with the scopes your client has been granted — the token you get back is a Bearer token good for every other call below.

curl -X POST "https://your-env.azure-api.net/auth/connect/token" \
  -u "YOUR_CLIENT_ID:YOUR_CLIENT_SECRET" \
  -H "Content-Type: application/x-www-form-urlencoded" \
  -d "grant_type=client_credentials&scope=companies companies:read score score:read bank insights insights:read"

Every request below adds Authorization: Bearer <access_token>.

See full reference →
2

Create (or fetch) a company

Give it an official registry number and country, and CreditPassport pulls in the rest from the companies registry. Calling this again for a number you've already created just returns the existing company.

curl -X POST "https://your-env.azure-api.net/companies/" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "X-Country: GB" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "EXAMPLE DIGITAL LTD",
    "number": "11138735"
  }'

Keep the id from the response — that's the companyId every other service uses to refer to this company.

See full reference →
3

Connect its bank data

Bank data lives under a subject. Create one for the company, then open a connection on it — either an Open Banking consent journey for a real bank, or the Upload provider if you're pushing statement data yourself.

curl -X POST "https://your-env.azure-api.net/bank/subjects" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{ "CompanyId": "COMPANY_ID_FROM_STEP_2" }'

curl -X POST "https://your-env.azure-api.net/bank/subjects/SUBJECT_ID/connections" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "ProviderId": "Upload:Api",
    "SubjectIp": "0.0.0.0",
    "SubjectAgent": "Mozilla/5.0",
    "RedirectUri": "https://your-app.example.com/"
  }'

For a real Open Banking provider, the connection response includes a consent URL to redirect the company's owner to.

See full reference →
4

Get a score

Once there's bank (and optionally accounting) data attached to the company, ask for a score. If one hasn't been computed yet, this triggers the calculation; call it again later to get the up-to-date figure.

curl -X POST "https://your-env.azure-api.net/score" \
  -H "Authorization: Bearer $ACCESS_TOKEN" \
  -H "X-Country: GB" \
  -H "Content-Type: application/json" \
  -d '{
    "companyId": "COMPANY_ID_FROM_STEP_2",
    "components": [ { "type": "accounting" }, { "type": "banking" } ]
  }'

Want the full breakdown behind the number? The Insights service has the underlying analysis, verifications and PDF reports.

See full reference →
Try it on this page: open Environment (top right) to paste your own client ID/secret and fetch a real token, then open Variables to set the company/subject/score IDs — every endpoint below is live and pre-filled from those two places.

Environment

Your credentials never leave your browser — they're used to call the API directly and kept in local storage on this device.

Space-separated. Trim this down to just the scopes your client has been granted.

Variables

These fill in the {{placeholders}} you'll see in every URL and body below.