Whitelabel Integration Guide

General

Axo Group offers three tech products for whitelabel integration:

  • AXO Whitelabel Form
    An embeddable front-end application for application forms (e.g., unsecured loans, credit cards).
  • AXO Integration API
    An API used to initiate loan applications within Axo Group’s platform.
  • AXO Pre-Check API
    An API used to check whether a lead is likely to be accepted by Axo.

To submit applications to Axo Group’s platform, the use of the AXO Whitelabel Form is required. The two APIs are optional.

This guide outlines how to access and use these products. Integration and usage are consistent across all of Axo Group’s brokering products (unsecured loans and credit cards), brands, and markets (Norway, Sweden, Denmark, and Finland).

All code examples provided in this guide are complete and functional.

Embedding the Form

Embedding the AXO Whitelabel Form involves adding a <script> tag to your HTML. The implementation is the same across all Axo Group markets, brands, and products. For a more detailed explanation of how to use the AXO Whitelabel Form, please see

Example

In this example, we embed the application form for unsecured loans from the brand axofinans.no.

<script
    id="axo-script"
    src="https://embed.axogroup.com/axofinans.no/loan-application/main.js"
    data-has-offers-affiliate-url="<YOUR-TRACKING-URL-PROVIDED-BY-AXO>"
    type="module">
</script>

Note: The data-has-offers-affiliate-url attribute is optional and should only be included when using Method 2: Full Front-End Integration.

Environments & URLs

AXO Whitelabel Forms follow a standard URL pattern:

https://<BASE-URL>/<BRAND>/<PRODUCT-TYPE>/main.js

Where:

  • BASE-URL is the environment:
    • Production: embed.axogroup.com
    • Test: form.axo-test.io
  • BRAND is the domain of the brand (e.g., axofinans.no)
  • PRODUCT-TYPE is either loan-application or credit-card

Production URLs & Supported Product Types / Brand / Markets

To use the test version of a form, replace the base URL with form.axo-test.io.

BrandMarketProduct TypeURL
axofinans.noNOUnsecured Loanshttps://embed.axogroup.com/axofinans.no/loan-application/main.js
axofinans.noNOCredit Cardshttps://embed.axogroup.com/axofinans.no/credit-card/main.js
axofinans.seSEUnsecured Loanshttps://embed.axogroup.com/axofinans.se/loan-application/main.js
axolaina.fiFIUnsecured Loanshttps://embed.axogroup.com/axolaina.fi/loan-application/main.js
lendme.dkDKUnsecured Loanshttps://embed.axogroup.com/lendme.dk/loan-application/main.js
zmarta.noNOUnsecured Loanshttps://embed.axogroup.com/zmarta.no/loan-application/main.js
zmarta.seSEUnsecured Loanshttps://embed.axogroup.com/zmarta.se/loan-application/main.js
zmarta.fiFIUnsecured Loanshttps://embed.axogroup.com/zmarta.fi/loan-application/main.js


Method 1: Partial Front-End Integration

This method is suitable for partners who want to host the initial steps of the customer journey themselves.

Example Scenario

A typical flow:

  1. A lead lands on the partner site.
  2. The lead fills out the partner’s custom form (referred to as the pre-form).
    • We recommend collecting the same fields as the first step of the AXO Form:
      • Loan Amount
      • Loan Duration
      • Email Address
      • Phone Number
    • Missing fields will result in the AXO Form redirecting the lead to complete Step 1, ensuring continuity. However, the best customer journey will be accomplished if the partner includes all necessary data for completing step 1 so the lead lands directly on AXO Form step 2.
  3. Upon form submission, the partner can optionally:
    • Call the AXO Pre-Check API to verify if the lead may be accepted.
  4. The partner calls the AXO Integration API to initiate the application.
  5. The partner stores the returned jwt and applicationID in sessionStorage.
  6. The lead is redirected to a page with the AXO Whitelabel Form embedded.
    1. Please note that in this scenario, you should not include the data-has-offers-affiliate-url-attribute in the script tag. In this scenario, the attribution is handled by the AXO Integration API, and adding the tracking URL to the script-tag may cause duplicate or incorrect attribution.
  7. The lead completes the form and is redirected to Axo Group My Page to view and accept offers.

Example Code

Two files are used in this example for the Danish brand lendme.dk. The example uses URLs to AXOs test environment and can be safely run locally to experiment with the set-up.

  • index.html – is an example of a minimalist partner pre-form which calls the calls the AXO Integration API to initiate the application
  • axo-form.html – Embeds the AXO Whitelabel Form
<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
  <title>My Whitelabel Site</title>
</head>
<body>
  <form>
    <fieldset>
      <legend>Apply for a loan in Denmark</legend>
      <input type="email" name="Email" placeholder="Email"><br><br>
      <input type="text" name="PhoneNumber" placeholder="Phone Number"><br><br>
      <input type="text" name="SocialSecurityNumber" placeholder="SSN"><br><br>
      <input type="number" name="AppliedAmount" placeholder="Amount"><br><br>
      <input type="number" name="LoanDuration" placeholder="Duration"><br><br>
      <input type="submit" value="Continue">
    </fieldset>
  </form>

  <script>
    onsubmit = (e) => {
      e.preventDefault();
      const formData = new FormData(e.target);
      const formProps = Object.fromEntries(formData);

      fetch("https://integration.axo-test.io/v1/loan-application/", {
        method: "POST",
        headers: { "Content-type": "application/json; charset=UTF-8" },
        body: JSON.stringify({
          application: {
            AppliedAmount: parseInt(formProps.AppliedAmount) || 100000,
            LoanDuration: parseInt(formProps.LoanDuration) || 10,
            MarketCountry: "DK",
            Brand: "lendme.dk"
          },
          customer: {
            MobilePhoneNumber: formProps.PhoneNumber || "40000000",
            Email: formProps.Email || "[email protected]"
          },
          person: {
            SocialSecurityNumber: formProps.SocialSecurityNumber || "2803282547"
          },
          tracking: {
            HasOffersAffiliateURL: "https://go.axogroup.com/...",
            StartedAtUrl: document.location.pathname
          },
        })
      })
        .then((response) => response.ok ? response.json() : Promise.reject(response))
        .then((axoResponse) => {
          sessionStorage.setItem("axo.token", axoResponse.jwt);
          sessionStorage.setItem("axo.application-id", axoResponse.applicationID);
          window.location.replace('axo-form.html');
        })
        .catch(() => alert("Error creating the application at Axo."));
    };
  </script>
</body>
</html>
<!-- axo-form.html -->
<!DOCTYPE html>
<html>
<head>
  <title>Axo Whitelabel Form</title>
</head>
<body>
	<script 
  	id='axo-script'
    src='https://embed.axogroup.com/lendme.dk/loan-application/main.js'
    type='module'>
	</script>
</body>
</html>

Method 2: Full Front-End Integration

This method is for partners who prefer AXO to handle the entire customer journey.
No custom form or API integration is required.

Example Scenario

  1. A lead lands on the partner site.
  2. The partner embeds the AXO Whitelabel Form on the landing page.
    1. Please note that in this scenario, you have to include the data-has-offers-affiliate-urlattribute in the script tag for your lead to attributed correctly in our systems
  3. The lead completes the form directly.
  4. The lead is redirected to Axo Group My Page

Example Code

<!-- index.html -->
<!DOCTYPE html>
<html>
<head>
  <title>Axo Whitelabel Form</title>
</head>
<body>
  <script 
  	id='axo-script'
    src='https://embed.axogroup.com/lendme.dk/loan-application/main.js'
    data-has-offers-affiliate-url="<YOUR-TRACKING-URL>"
    type='module'>
	</script>
</body>
</html>

AXO Integration API

The AXO Integration API can be used to initiate loan applications, as shown in Method 2: Full Front-End Integration. The API does not require authentication to use. An example request/response is given below.

Example Request

curl -X 'POST' \
 'https://integration.axo-test.io/v1/loan-application/' \
 -H 'accept: application/json' \
 -H 'Content-Type: application/json' \
 -d '{
  "application": {
    "AppliedAmount": 100000,
    "LoanDuration": 10,
    "MarketCountry": "NO",
    "Brand": "axofinans.no"
  },
  "customer": {
    "Email": "[email protected]",
    "MobilePhoneNumber": "40000000"
  },
  "person": {
    "SocialSecurityNumber": "01018012345"
  },
  "tracking": {
    "StartedAtUrl": "/my-test-page",
    "HasOffersAffiliateURL": "https://go.axogroup.com/...",
  }
}'

When doing test requests, its important that Whitelabel Partners do not use real emails or phone numbers, as this may result in real users getting test-communication from our platform.

Example Response

The response includes

  • applicationID: The internal AXO ID for this loan application.
  • jwt: JSON Web Token. The Whitelabel Form needs this to authenticate with AXOs other back-end services. For how to use it, see Method 2: Full Front-End Integration.
  • transactionID: Clicks and conversions will be tracked towards this transaction id in Tune.
{
 "applicationID": "123e4567-e89b-12d3-a456-426614174000",
 "jwt": "dGhpcyB3aWxsIGJlIGEgbG9uZyB2Y.WxpZCBqc29uI...",
 "transactionID": "10201030c8012e449f894ae1e60971"
}

Request Schema

Property

Type

Required

Description & Validations

application.AppliedAmount

Number

true

NO
min: 10000
max: 800000

SE
min: 5000
max: 800000

DK
min: 10000
max: 400000

FI
min: 500
max: 70000

application.LoanDuration

Number

true

NO
min: 1, max: 20

SE
min: 1, max: 15

DK
min: 1, max: 15

FI
min:1, max: 15

application.MarketCountry

String - Enum

true

Legal Values
NO, SE, DK, FI

application.Brand

String

true

axofinans.no | axofinans.se | axolaina.fi | lendme.dk | zmarta.fi | zmarta.no | zmarta.se

application.Purpose

String - Enum

false

Please note that Otheris used for cash applications in all markets.

NO
N/A - Axo will automatically calculate the most appropriate purpose

SE
Vehicle,Renovation, Other, Holiday, Medical, Refinancing loan

DK
Vehicle,Renovation, Real estate, Medical, Special occasion, Holiday, Investment, Refinancing loan, Green energy

FI
Vehicle,Renovation, Other, Refinancing loan

application.HousingType

String - Enum

false

Own house | Own apartment | Rental | Partners House | Company owned flat | Cohabitant | Tenant| Cooperative apartment | With parents

application.MaritalStatus

Srring - Enum

false

Married | Single | Cohabiting | Divorced | Separated | Widowed

application.WhiteLabelConsent

Boolean

false

Should reflect the state of the marketing consent that the WL may have on their step 1. Axo will only use this for incomplete reminder flows, not as a general Axo marketing consent.

customer.Email

String

true

Standard email validation rules apply.

customer.MobilePhoneNumber

String

true

Standard phone number validation rules per market country applies. Please note: the phone number should be provided without the country code.

person.SocialSecurityNumber

String

false

Standard SSN validation rules per market country applies.

tracking.StartedAtUrl

String

true

Should be the local path where you host your form, e.g., /refinancing-loans

tracking.HasOffersAffiliateURL

String

true

Your tracking URL as provided by the Axo Affiliate Team. If this is not correct, clicks and conversions will not be attributed correctly to the partner.

Environments & URLs


EnvironmentProduct TypeURL
PRODUnsecured Loanshttps://integration.axofinance.com/v1/loan-application
TESTUnsecured Loanshttps://integration.axo-test.io/v1/loan-application
PRODCredit Cardsnot yet supported
TESTCredit Cardsnot yet supported

Pre-Check API

The Pre-Check API allows you to verify whether AXO might pay for a lead before submitting them to the AXO platform. Final payout depends on the lead quality and your commission model.

This API works across all Axo Group brokering products and brands.

Authentication

Use your dedicated API key in the x-api-key header.
If you don’t have a key, please contact our Affiliate Team.

Environments & URLs

EnvironmentProduct TypeURL
PRODUnsecured Loanshttps://integration.axofinance.com/pre-check
TESTUnsecured Loanshttps://integration.axo-test.io/pre-check
PRODCredit Cardshttps://integration.axofinance.com/pre-check/credit-card
TESTCredit Cardshttps://integration.axo-test.io/pre-check/credit-card

Request Parameters

ParameterTypeRequiredDescription
x-api-keyHeadertrueYour API key. Contact our Affiliate Team if you don't have one or need a new key.
emailQuerytrueThe email address to check.
brandQueryfalseOptional brand domain to check. See table here for legal values. If omitted, the check will be done across all brands/brokers.

Example Request

curl --location --request GET 'https://integration.axo-test.io/[email protected]&brand=axofinans.no' --header 'x-api-key: <YOUR-API-KEY>'

Response

  • "REJECTED" – AXO will not pay for this lead.
  • "OK" – AXO might pay for this lead.

Styling Overrides

Styling overrides are currently not supported and we discourage trying to override any of the internal styles. Proper support for simple theming configured by the whitelabel partner is in development.

Revision History

VersionDescriptionAuthor
2025-W21-1Added support for brand in the Pre-Check API.JIL
2025-W16-1Brand support.GIO
2025-W14-1First version of new guide published.JIL