Skip to main content
Creates a new application and returns a unique link for the primary contact to complete their submission. You don’t need to specify a configuration — if config_id is omitted, your organization’s default configuration is used.

Authentication

Requires an API key with applications:create scope.

Request body

object
required
The main contact who will complete the application.
string
required
ISO 3166-1 alpha-2 country code (e.g., GB for United Kingdom, IE for Ireland). Used to select the company registry for validation, so it must be a jurisdiction supported by your configuration.
string
Application config ID. Must belong to the organization associated with the API key. If omitted, your organization’s default configuration is used. Only pass this if your organization has multiple configurations and you need a specific one.
boolean
default:"false"
When true, generates a pre-authentication code that allows the participant to bypass email verification. The code expires after 72 hours.
string
Company registration number. Required, unless your configuration has company selection enabled — in that case you can omit it and the applicant picks their company from a registry search when they first open the application.
string
Name of the company being onboarded. Required when company_number is provided — it is checked against the registered name in the company registry (see note below).
Registry validation: when company_number is provided, it is validated against the company registry before the application is created (Companies House for GB, CRO for IE). The company must exist, be active, and the provided company_name must match the registered name — mismatches return a 400 with a suggestion of the registered name.

Response

Returns 201 Created on success.
string
Unique identifier (UUID) for the created application.
URL where the participant should be redirected to complete their application. If your organization has an active custom domain, the link uses it (e.g., https://onboarding.yourcompany.com/apply/...); otherwise it points at the default Klara host.
array
List of participants associated with this application.
string
Pre-authentication code (only present when pre_auth: true). Expires 72 hours after creation.
string
Warning message (only present if the invite email failed to send). The application is still created successfully — the email can be resent.

Examples

Basic request

Response:

With pre-authentication

Include pre_auth: true to generate a code that bypasses email verification:
Response:
When using pre-authentication, redirect the user to the link within the 72-hour window. If the code expires, the user will be prompted to verify their email instead — no error occurs, they just go through the standard verification flow.
To bypass the authentication with the pre_auth_code, go to an incognito tab so it does redirect you to the dashboard and then add a query param to the link as shown here:{link}?auth_code={pre_auth_code}
Need to re-issue a pre-auth code after it expires or gets consumed? Use the Refresh Pre-Auth endpoint instead of creating a new application.

With company selection

If your configuration has company selection enabled, you don’t need to know the applicant’s company number — omit company_number (and optionally company_name) and the applicant picks their company from a registry search when they first open the application. country is still required and must be a country your configuration supports.
Company selection is a configuration-level setting. If it’s not enabled for your configuration, omitting company_number returns 400 company_number is required. Contact us to enable it.

Errors