Skip to main content
This guide shows you how to create an application using the Applications API. Applications allow you to create new leases, accept move-in payments, and set up contracts.

Prerequisites

Before creating an application, ensure you have:
  • A unit ID for the property.
  • An application configuration ID.
  • Customer information (email at minimum).

Unit availability

New lettings need a unit that is on the market. Retrieve the unit and read availability on the unit objectstate is derived from occupancy, the release gate, and available_from. renewal, active_tenancy, and revisions skip this check — they act on a tenancy already in the unit. For an occupied unit that is already to_let, start_date must be on or after availability.available_from.
Retrieve a unit
availability
To put a coming_available or available unit on the market, release it first, or set release_unit to true when you create the application:
Release a unit to the market
Release on create
If auto-release is enabled on the account, a coming_available unit is released to to_let N days before available_from. You can wait until availability.state is to_let, call release yourself, or pass release_unit. Holding a unit keeps it off the market even when auto-release is on, unless you pass release_unit.
Occupied stock that has not been released is rejected for new lettings unless you pass release_unit. A 12-month tenancy can sit in coming_available from the day it starts — release it when you are ready to market, pass release_unit on create, or let auto-release list it as the end date approaches.

Application types

Yorlet supports four application types, each designed for different scenarios:

Create a customer

Before creating an application, you need a customer. You can either create a customer using the Customers API or by providing the applicants.customer_data object in the application request.
Create a customer first, then reference their ID in the application.
Create a customer
Response
Use the customer ID in your application request with applicants.customer.

Building an application request

You can build an application request by adding the required parameters and configuring the optional parameters as needed.

Required parameters

Configure applicants

The applicants array defines who is applying for the tenancy. Each applicant must have either a customer ID or customer_data object, plus a share_of_rent.
Applicants array

Applicant parameters

Customer data parameters

Requirements parameters

The requirements object controls which steps the applicant must complete.

Verification

To request identity or Right to Rent verification, set verification_session_data.types on the applicant.
Verification session data

Configure subscription data

The subscription_data object defines how rent is collected after the application completes. Only collection_method and interval are required.
Subscription data

Subscription parameters

Subscription item parameters

Each item in subscription_data.items requires price_data and type.

Add invoice items

Use add_invoice_items to include one-time charges on the first invoice.
Add invoice items

Subscription phases

Use phases to schedule changes to subscription items at specific dates.
Subscription phases

Configure deposits

Set up security deposit collection using the deposit_amount parameter.
Deposit configuration
Use the applicant-level requirements.deposit parameter to control which applicants are required to pay a deposit.

Configure contracts

Control contract generation and signing with the contract_template and contract_options parameters.
Contract configuration
The contract_template parameter is required when the application type is standard, renewal, or let_only.

Contract parameters

Configure application payments

Collect payments during the application process.

Holding fee

Holding fee
The holding fee is collected early in the application to secure the tenancy. Amount must be between 0 and 99,999,900 (in smallest currency unit).

Advance rent

Advance rent
Collect rent in advance as part of the application. Amount must be between 0 and 99,999,900 (in smallest currency unit).

Partial payments

Configure partial upfront payments that create credit grants for future rent:
Partial payment
Both amount and description are required when using partial payments.
Partial payments require exactly one applicant with share_of_rent of 100%, and are only supported when subscription_data.interval is month.

Configure dates

Using timestamps

Provide dates as Unix timestamps in UTC:
Date timestamps

Using date configuration objects

Alternatively, use date configuration objects for automatic calculation:
Date configuration
When using end_date_config, Yorlet automatically sets the time to 23:59:59 to include the full day.

Date parameters

Referencing

Enable tenant referencing during the application process.
Automatic referencing

Reference providers

Additional options

Accept on create

For active_tenancy applications, set accept to true to immediately accept the application when created.
Accept on create

End behavior

Control what happens when the tenancy reaches its end date:
End behavior

Create subscriptions

Control whether subscriptions are created for the application. Defaults to true.
Skip subscription creation

Owner options

Configure owner-specific settings:
Owner options

Assignees

Assign a team member to the application. Use assignee to set the owner of the application and deal_assignee to set the owner of the underlying deal.
Assignees

Update unit rent

Set update_unit_rent to true to update the unit’s rent amount with the pricing used in the application:
Update unit rent

Release the unit

Set release_unit to true to release the unit to the market as part of creating a standard or let_only application. Use this when the unit is coming_available (occupied, with a known let date, but not yet on the market). It is not allowed on renewals, imported active tenancies, or revisions. In the dashboard, the create application form shows the unit’s availability and lets you release it from there. See Create an application.
Release the unit

Metadata

Attach custom data to the application:
Metadata

Create an application

Here’s a comprehensive example with commonly used parameters:
Complete application example
A successful request returns the application object:
Example response

Next steps

After creating an application:
  1. Send to applicant - If send_email is true, applicants receive the application portal link automatically.
  2. Monitor progress - Use webhooks to track application events.
  3. Complete the application - The application completes based on the steps defined in the application configuration.
  4. Retrieve subscriptions - Listen for subscription.created events to get the subscription IDs.

Retrieve the subscription

After the application completes, a subscription is created asynchronously using the subscription_data object. To retrieve the subscription ID, listen for the subscription.created webhook event.
subscription.created event
The event payload includes: Use the application and customer fields to tie the subscription back to your original application request.
For applications with multiple applicants, a separate subscription is created for each applicant based on their share_of_rent. You will receive a subscription.created event for each subscription.

(Optional) Create a payment method session

In some instances, the application will automatically complete without the applicant needing to visit the application portal. For example, if the application type is set to active_tenancy, the application will automatically complete when created. If you want to collect a payment method from the applicant, you can create a Payment Method Session and associate it with the subscription you retrieved in the subscription.created event.