Skip to main content

Application Forms

Unit offers a fully customizable onboarding front-end that allows you to onboard end-customers, both individuals and businesses.

Using Unit's white-label experience has many benefits:

  • Shorter time to market compared to building your own flow.
  • Benefit from Unit's technology, compliance and fraud expertise - Unit's onboarding experience offers responsive, mobile friendly design, and will include (in subsequent releases) phone number verification and on-device fraud detection measures to reduce fraud risk. We monitor and track the application form closely, and it will continue to develop and deliver a frictionless experience that guarantees you are compliant with the evolving regulation.
  • No maintenance required: any future changes to the onboarding process will be handled by Unit.

Application Form

If you prefer to build your own custom experience, you may still do so using Unit's Applications API.

Overview#

You may create a new application form by using the Create Application Form endpoint. When you make this call, you can specify:

  • Any information you have on the customer that can be used to pre-fill the application form
  • Your preferences/restrictions for this specific application (e.g. Individual vs Business application)

When the API call is received, Unit will create an application form resource, and generate an application form link. This link is returned in the response to the API call, along with an application form ID. This link is valid for 24 hours, and you can receive a fresh link that will allow the user to resume the application by calling the GET application form endpoint. It is up to you to manage the distribution of this link and manage all communication around the application form (sending emails, or redirecting the customers).

White-Labeling and Customization#

You may customize the application form experience in the "Org Settings" page of the Dashboard, under the "Application form" tab. Some of the values are required (for example, your name and logo), and not providing them will result in an error response when creating the application form.

Customizing the Application Form Domain#

Unit supports white-labeling of the application form URL. To the end-customer, it will look like the application form is hosted on your sub-domain, while in practice it would be hosted by Unit.

To customize the URL:

  1. On the Unit Dashboard, go to Org Settings / Application Form and configure the subdomain.
  2. Click “setup” and provide the URL you would like to use (e.g. apply.yourdomain.com). A new box called "DNS Settings" will show up on the form. The box includes 2 CNAME records that you will have to configure on your DNS provider, to verify the domain. Examples:
Record NameTypeRecord Value
_.apply.yourdomain.comCNAME_.acm-validations.aws.
apply.yourdomain.comCNAMEapplication-form.sh
  • The first record is used to issue a certificate and to prove the domain ownership. are auto-generated random strings.

  • The second record will redirect your new subdomain to Unit's application form

After configuring the DNS records, return to the DNS Settings box and click Verify.

If the status has changed from "Unverified" to "Verified", you have completed the subdomain configuration.

If the status has not changed, the verification has not been completed. Note that the verification process may take a couple of minutes and in rare cases even hours, so wait a couple of minutes before retrying the verification.

Disclosures#

You would need to provide between 4 and 6 disclosure URLs, depending on your specific implementation. If you are not sure which disclosures are relevant to you, reach out to our compliance team for help. The list of disclosures includes:

  • Consent to Electronic Disclosures
  • Privacy Policy
  • Deposit Terms & Conditions
  • Client Terms of Service
  • Cardholder Terms and Conditions (optional)
  • Cash Advance Terms and Conditions (optional)

Keeping track of the application form status#

You may follow the progress of the application by registering to the relevant webhooks (application.denied, application.awaitingDocuments, application.pendingReview, customer.created). You can also check the status by getting the application form resource.

Once an application is created, it will have a relationship with the application form that it was created through (you can match it or search for it using the application form id that you had received in the application-forms api response).

Thanks to tag inheritance, if you had tagged the application form, the same tags will show up on the application resource, and later on, the customer resource, if the application is approved.

Create Application Form#

To onboard an end-customer through Unit's UI, create an ApplicationForm resource

The application form implements the Create Individual Application or Create Business Application calls, depending on the user's choice in the interface.

VerbPOST
Urlhttps://api.s.unit.sh/application-forms
Required Scopeapplications-write
Data TypeapplicationForm

Attributes#

NameTypeDescription
tagsobjectSee Tags. Tags that will be copied to the application that this form creates (see Tag Inheritance).
applicantDetailsApplicationFormPrefillOptional. Add data that is already known about the end-customer to be auto populated on the form.
allowedApplicationTypesArray of Individual, Business or SoleProprietorship.Optional. restrict the available application type for this specific application
Example Request:
curl -X POST 'https://api.s.unit.sh/application-forms'-H 'Content-Type: application/vnd.api+json'-H 'Authorization: Bearer ${TOKEN}'--data-raw '{  "data": {    "type": "applicationForm",    "attributes": {      "tags": {        "userId": "106a75e9-de77-4e25-9561-faffe59d7814"      },      "allowedApplicationTypes": [        "Individual",        "Business"      ]    }  }}'

Response#

Response is a JSON:API document.

201 Created#

FieldTypeDescription
tagsobjectSee Tags. Tags that will be copied to the application that this form creates (see Tag Inheritance).
urlstringThe URL of the application form for the end-customer to access
stagestringCurrent stage of the application form, one of: ChooseBusinessOrIndividual, EnterIndividualInformation, IndividualApplicationCreated, EnterBusinessInformation, EnterOfficerInformation, EnterBeneficialOwnersInformation, BusinessApplicationCreated, EnterSoleProprietorshipInformation, SoleProprietorshipApplicationCreated
applicantDetailsApplicationFormPrefillData that is already known about the end-customer to be auto populated on the form.
Example Response:
{  "data": {    "type": "applicationForm",    "id": "95",    "attributes": {      "tags": {        "userId": "106a75e9-de77-4e25-9561-faffe59d7814"      },      "url": "https://application-form.sh/6YZ3UG6RS7NGTO5ZB3A4SRO3NEYPJUREYIIKZDOOX2CTWBPZ4A343UB4KZSQRF3DHHKYECF4S45VP7Y2YUP5WGEHO4YVH25Q24JRM4UA5IW3OM552HAFJ3HIVIUJGJBFQ4UJMZ3VGXUG6L5XFKE2W7YX7KDOC2J",      "stage": "ChooseBusinessOrIndividual"    }  }}

Get by Id#

Get an application form resource by id.

You will receive a fresh 24-hour URL for the existing form, allowing the customer to resume the application.

VerbGET
Urlhttps://api.s.unit.sh/application-forms/{id}
Required Scopeapplication-forms

Response#

Response is a JSON:API document.

200 OK#

FieldTypeDescription
dataApplicationFormThe application form resource.
includedIndividualApplication or BusinessApplicationOptional, Application resource. Can be either business or individual, as indicated by the type field.
curl -X GET 'https://api.s.unit.sh/application-forms/21?include=application' \-H "Authorization: Bearer ${TOKEN}"

List#

List application form resources. Paging can be applied.

VerbGET
Urlhttps://api.s.unit.sh/application-forms
Required Scopeapplication-forms

Query Parameters#

NameTypeDefaultDescription
page[limit]integer100Maximum number of resources that will be returned. Maximum is 1000 resources. See Pagination.
page[offset]integer0Number of resources to skip. See Pagination.
filter[tags]Tags (JSON)(empty)Optional. Filter Application forms by Tags.
sortstringsort=-createdAtOptional. sort=createdAt for ascending order or sort=-createdAt (leading minus sign) for descending order.
curl -X GET 'https://api.s.unit.sh/application-forms?page[limit]=20&page[offset]=10' \-H "Authorization: Bearer ${TOKEN}"

Response#

Response is a JSON:API document.

200 OK#

FieldTypeDescription
dataArray of ApplicationFormArray of application form resources.
Example Response:
{  "data": [    {      "type": "applicationForm",      "id": "95",      "attributes": {        "tags": {          "userId": "106a75e9-de77-4e25-9561-faffe59d7814"        },        "url": "https://application-form.sh/6YZ3UG6RS7NGTO5ZB3A4SRO3NEYPJUREYIIKZDOOX2CTWBPZ4A343UB4KZSQRF3DHHKYECF4S45VP7Y2YUP5WGEHO4YVH25Q24JRM4UA5IW3OM552HAFJ3HIVIUJGJBFQ4UJMZ3VGXUG6L5XFKE2W7YX7KDOC2J",        "stage": "IndividualApplicationCreated"      },      "relationships": {        "application": {          "data": {            "type": "application",            "id": "10098"          }        }      }    },    {      "type": "applicationForm",      "id": "96",      "attributes": {        "tags": {          "userId": "106a75e9-de77-4e25-9561-faffe59d7814"        },        "url": "https://application-form.sh/6YZ3UG6RS7NGTO5ZB3A4SRO3NEYPJUREYIIKZDOOX2CTWBPZ4A343UB4KZSQRF3DHHKYECF4S45VP7Y2YUP5WGEHO4YVH25Q24JRM4UA5IW3OM552HAFJ3HIVIUJGJBFQ4UJMZ3VGXUG6L5XFKE2W7YX7KDOC2J",        "stage": "BusinessApplicationCreated"      },      "relationships": {        "application": {          "data": {            "type": "application",            "id": "10099"          }        }      }    }  ]}