Apply for a unit
Starts a self-serve application for a unit that has been released to the market, using the account default application configuration and contract template. The applicant is emailed a link to complete the application themselves. Requires self-serve applications to be enabled on the account, and the unit to be in the to_let availability state.
curl --request POST \
--url https://api.yorlet.com/v1/units/{id}/apply \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"applicant": {
"email": "<string>",
"name": "<string>",
"phone": "<string>"
},
"start_date": 123,
"enquiry": "<string>"
}
'import requests
url = "https://api.yorlet.com/v1/units/{id}/apply"
payload = {
"applicant": {
"email": "<string>",
"name": "<string>",
"phone": "<string>"
},
"start_date": 123,
"enquiry": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
applicant: {email: '<string>', name: '<string>', phone: '<string>'},
start_date: 123,
enquiry: '<string>'
})
};
fetch('https://api.yorlet.com/v1/units/{id}/apply', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.yorlet.com/v1/units/{id}/apply",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'applicant' => [
'email' => '<string>',
'name' => '<string>',
'phone' => '<string>'
],
'start_date' => 123,
'enquiry' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.yorlet.com/v1/units/{id}/apply"
payload := strings.NewReader("{\n \"applicant\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\"\n },\n \"start_date\": 123,\n \"enquiry\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.yorlet.com/v1/units/{id}/apply")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"applicant\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\"\n },\n \"start_date\": 123,\n \"enquiry\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.yorlet.com/v1/units/{id}/apply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"applicant\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\"\n },\n \"start_date\": 123,\n \"enquiry\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created": 123,
"object": "application",
"advance_rent_amount": 123,
"application_configuration": "<string>",
"application_mode": "classic",
"assignee": "<string>",
"building": "<string>",
"building_snapshot": {
"name": "<string>",
"single_unit": true
},
"completed_at": 123,
"contract": "<string>",
"contract_address": "<string>",
"contract_options": {
"automatic_counter_signature": true,
"legal_entity": "<string>",
"owner_signature_required": true,
"send_applicant_email": true,
"send_owner_completion_email": true
},
"contract_template": "<string>",
"current_step": {
"id": "<string>",
"next_step": "<string>",
"type": "advance_rent"
},
"currency": "gbp",
"customers": [
{
"id": "<string>",
"email": "<string>",
"name": "<string>"
}
],
"deal_assignee": "<string>",
"deposit_amount": 123,
"has_owner": true,
"holding_fee_amount": 123,
"restrict_credits_to_application": true,
"end_behavior": "roll",
"end_date": 123,
"from_application": {
"action": "revision",
"application": "<string>"
},
"move_in_date": 123,
"move_out_date": 123,
"open": true,
"owner_options": {
"apply_unit_fees": true,
"custom_fee_amount": 50000000
},
"partial_payment": {
"amount": 49999950,
"description": "<string>"
},
"rent_term": "<string>",
"start_date": 123,
"status": "<string>",
"subscription_data": {
"collection_method": "charge_automatically",
"interval": "month",
"add_invoice_items": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>",
"tax_percent": 50,
"transfer_behavior": "automatic",
"type": "charge",
"metadata": {},
"price": "<string>",
"tax_rate": "<string>",
"transfer_destination": "<string>",
"unit": "<string>"
}
],
"billing_anchor": 123,
"billing_anchor_config": {
"day_of_month": 16
},
"coupon": "<string>",
"custom_fields": [
{
"name": "<string>",
"value": "<string>"
}
],
"days_before_collection": 3,
"days_until_due": 1,
"end_date": 123,
"end_date_config": {
"day": 16,
"month": 6,
"year": 123
},
"first_invoice_creation": "immediately",
"interval_count": 123,
"items": [
{
"price_data": {
"amount": 123,
"currency": "gbp",
"tax_percent": 123
},
"type": "charge",
"description": "<string>",
"metadata": {},
"price": "<string>",
"proration_behavior": "create_prorations",
"schedule": [
{
"amount": 123,
"effective_at": 123,
"effective_at_config": {
"day": 16,
"month": 6,
"year": 123
}
}
],
"tax_rate": "<string>",
"transfer_behavior": "automatic",
"transfer_destination": "<string>",
"unit": "<string>"
}
],
"phases": [
{
"start_date": 123,
"items": [
{
"price_data": {
"amount": 123,
"currency": "gbp",
"tax_percent": 123
},
"type": "charge",
"description": "<string>",
"metadata": {},
"price": "<string>",
"proration_behavior": "create_prorations",
"schedule": [
{
"amount": 123,
"effective_at": 123,
"effective_at_config": {
"day": 16,
"month": 6,
"year": 123
}
}
],
"tax_rate": "<string>",
"transfer_behavior": "automatic",
"transfer_destination": "<string>",
"unit": "<string>"
}
]
}
],
"start_date": 123,
"start_date_config": {
"day": 16,
"month": 6,
"year": 123
}
},
"type": "active_tenancy",
"unit": "<string>",
"unit_snapshot": {
"name": "<string>"
},
"account": "<string>",
"deleted": false,
"advance_rent_count": 123,
"advance_rent_total": 123,
"applicants": {
"count": 1,
"has_more": false,
"object": "list",
"data": [
{
"id": "<string>",
"created": 123,
"object": "application.applicant",
"application": "<string>",
"advance_rent": {
"amount": 123,
"paid": true,
"paid_off_platform": true,
"transaction": "<string>"
},
"currency": "gbp",
"customer": "<string>",
"deposit": {
"amount": 123,
"paid": true,
"paid_off_platform": true,
"transaction": "<string>"
},
"guarantor": "<string>",
"guarantor_contract": "<string>",
"holding_fee": {
"amount": 123,
"paid": true,
"paid_off_platform": true,
"transaction": "<string>"
},
"lead_tenant": true,
"permitted_occupier": true,
"requirements": {
"guarantor": true
},
"share_of_rent": 123,
"status": "<string>",
"tos_acceptance": {
"date": 123,
"ip": "<string>"
},
"verification_session": "<string>",
"verification_session_required": true,
"account": "<string>",
"deleted": false,
"pets": [
{
"age": 123,
"name": "<string>",
"type": "dog"
}
],
"pre_qualification": {
"affordability": {
"company_name": "<string>",
"gross_annual_salary": 123,
"role": "<string>"
},
"nationality": "<string>"
}
}
]
},
"customer_emails": [
"<string>"
],
"deposit_count": 123,
"deposit_total": 123,
"holding_fee_count": 123,
"holding_fee_total": 123,
"metadata": {},
"overrides": {
"rent_increase": {
"tenancy_start_at": 123,
"first_increase_at": 123
}
},
"steps": [
{
"id": "<string>",
"status": "<string>",
"type": "<string>"
}
]
}Authorizations
API Key authentication. Use "Bearer YOUR_API_KEY".
Path Parameters
The id identifier.
Body
The lead applicant the application is created for.
Show child attributes
Show child attributes
The date the applicant wants the tenancy to start. Cannot be before the date the unit is available from.
The identifier of the lead enquiry the application is being started from. The enquiry is moved to the application stage.
^[a-zA-Z0-9_]+$Response
Returns the application object if the application was started.
Unique identifier for the object.
Time at which the object was created. Measured in seconds since the Unix epoch.
application The advance rent amount for the application.
The identifier of the application configuration.
The mode of the application.
classic, configuration The identifier of the assignee for the application.
^[a-zA-Z0-9_]+$The identifier of the building for the application.
A snapshot of the building at the time of the application.
Show child attributes
Show child attributes
The date and time the application was completed.
The identifier of the contract for the application.
The address of the contract for the application.
The contract options for the application.
Show child attributes
Show child attributes
The identifier of the contract template for the application.
The current step of the application configuration.
- Advance rent
- Completion
- Contract
- Deposit
- Holding fee
- Network check
- Partial payment
- Payment method
- Pre-qualification
- Referencing
- Verification session
- Waitpoint
Show child attributes
Show child attributes
The currency for the application.
gbp, usd, eur, sek "gbp"
The customers for the tenancy.
Show child attributes
Show child attributes
The identifier of the deal assignee for the application.
^[a-zA-Z0-9_]+$The deposit amount for the application.
Whether the application has an owner.
The holding fee amount for the application.
Whether move-in credits (holding fee and advance rent) are reserved for this application’s own invoices, rather than the next invoice for the customer.
The end behavior for the application.
roll, complete, null The end date of the application.
The from application for the application.
Show child attributes
Show child attributes
The expected move in date for the application.
The expected move out date for the application.
Whether the application is open.
The owner options for the application.
Show child attributes
Show child attributes
The partial payment details for the application.
Show child attributes
Show child attributes
The rent term for the application.
The start date of the application.
The status of the application.
The subscription data for the application.
Show child attributes
Show child attributes
The type of the application.
active_tenancy, let_only, renewal, standard The identifier of the unit for the application.
A snapshot of the unit at the time of the application.
Show child attributes
Show child attributes
The account that the object belongs to. Only returned if the request is made with a valid Yorlet-Context header.
Only returned if the object has been deleted.
The number of advance rent payments collected for the application.
The number of advance rent payments required for the application.
The applicants for the application.
Show child attributes
Show child attributes
The customer emails for the tenancy.
The number of deposit payments collected for the application.
The number of deposit payments required for the application.
The number of holding fee payments collected for the application.
The number of holding fee payments required for the application.
The metadata for the application.
Show child attributes
Show child attributes
Manual overrides carried forward at the tenancy level, applied when generating documents such as the Form 4A rent increase notice.
Show child attributes
Show child attributes
The steps of the application configuration.
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://api.yorlet.com/v1/units/{id}/apply \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"applicant": {
"email": "<string>",
"name": "<string>",
"phone": "<string>"
},
"start_date": 123,
"enquiry": "<string>"
}
'import requests
url = "https://api.yorlet.com/v1/units/{id}/apply"
payload = {
"applicant": {
"email": "<string>",
"name": "<string>",
"phone": "<string>"
},
"start_date": 123,
"enquiry": "<string>"
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
applicant: {email: '<string>', name: '<string>', phone: '<string>'},
start_date: 123,
enquiry: '<string>'
})
};
fetch('https://api.yorlet.com/v1/units/{id}/apply', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.yorlet.com/v1/units/{id}/apply",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'applicant' => [
'email' => '<string>',
'name' => '<string>',
'phone' => '<string>'
],
'start_date' => 123,
'enquiry' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.yorlet.com/v1/units/{id}/apply"
payload := strings.NewReader("{\n \"applicant\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\"\n },\n \"start_date\": 123,\n \"enquiry\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.yorlet.com/v1/units/{id}/apply")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"applicant\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\"\n },\n \"start_date\": 123,\n \"enquiry\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.yorlet.com/v1/units/{id}/apply")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"applicant\": {\n \"email\": \"<string>\",\n \"name\": \"<string>\",\n \"phone\": \"<string>\"\n },\n \"start_date\": 123,\n \"enquiry\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created": 123,
"object": "application",
"advance_rent_amount": 123,
"application_configuration": "<string>",
"application_mode": "classic",
"assignee": "<string>",
"building": "<string>",
"building_snapshot": {
"name": "<string>",
"single_unit": true
},
"completed_at": 123,
"contract": "<string>",
"contract_address": "<string>",
"contract_options": {
"automatic_counter_signature": true,
"legal_entity": "<string>",
"owner_signature_required": true,
"send_applicant_email": true,
"send_owner_completion_email": true
},
"contract_template": "<string>",
"current_step": {
"id": "<string>",
"next_step": "<string>",
"type": "advance_rent"
},
"currency": "gbp",
"customers": [
{
"id": "<string>",
"email": "<string>",
"name": "<string>"
}
],
"deal_assignee": "<string>",
"deposit_amount": 123,
"has_owner": true,
"holding_fee_amount": 123,
"restrict_credits_to_application": true,
"end_behavior": "roll",
"end_date": 123,
"from_application": {
"action": "revision",
"application": "<string>"
},
"move_in_date": 123,
"move_out_date": 123,
"open": true,
"owner_options": {
"apply_unit_fees": true,
"custom_fee_amount": 50000000
},
"partial_payment": {
"amount": 49999950,
"description": "<string>"
},
"rent_term": "<string>",
"start_date": 123,
"status": "<string>",
"subscription_data": {
"collection_method": "charge_automatically",
"interval": "month",
"add_invoice_items": [
{
"amount": 123,
"currency": "<string>",
"description": "<string>",
"tax_percent": 50,
"transfer_behavior": "automatic",
"type": "charge",
"metadata": {},
"price": "<string>",
"tax_rate": "<string>",
"transfer_destination": "<string>",
"unit": "<string>"
}
],
"billing_anchor": 123,
"billing_anchor_config": {
"day_of_month": 16
},
"coupon": "<string>",
"custom_fields": [
{
"name": "<string>",
"value": "<string>"
}
],
"days_before_collection": 3,
"days_until_due": 1,
"end_date": 123,
"end_date_config": {
"day": 16,
"month": 6,
"year": 123
},
"first_invoice_creation": "immediately",
"interval_count": 123,
"items": [
{
"price_data": {
"amount": 123,
"currency": "gbp",
"tax_percent": 123
},
"type": "charge",
"description": "<string>",
"metadata": {},
"price": "<string>",
"proration_behavior": "create_prorations",
"schedule": [
{
"amount": 123,
"effective_at": 123,
"effective_at_config": {
"day": 16,
"month": 6,
"year": 123
}
}
],
"tax_rate": "<string>",
"transfer_behavior": "automatic",
"transfer_destination": "<string>",
"unit": "<string>"
}
],
"phases": [
{
"start_date": 123,
"items": [
{
"price_data": {
"amount": 123,
"currency": "gbp",
"tax_percent": 123
},
"type": "charge",
"description": "<string>",
"metadata": {},
"price": "<string>",
"proration_behavior": "create_prorations",
"schedule": [
{
"amount": 123,
"effective_at": 123,
"effective_at_config": {
"day": 16,
"month": 6,
"year": 123
}
}
],
"tax_rate": "<string>",
"transfer_behavior": "automatic",
"transfer_destination": "<string>",
"unit": "<string>"
}
]
}
],
"start_date": 123,
"start_date_config": {
"day": 16,
"month": 6,
"year": 123
}
},
"type": "active_tenancy",
"unit": "<string>",
"unit_snapshot": {
"name": "<string>"
},
"account": "<string>",
"deleted": false,
"advance_rent_count": 123,
"advance_rent_total": 123,
"applicants": {
"count": 1,
"has_more": false,
"object": "list",
"data": [
{
"id": "<string>",
"created": 123,
"object": "application.applicant",
"application": "<string>",
"advance_rent": {
"amount": 123,
"paid": true,
"paid_off_platform": true,
"transaction": "<string>"
},
"currency": "gbp",
"customer": "<string>",
"deposit": {
"amount": 123,
"paid": true,
"paid_off_platform": true,
"transaction": "<string>"
},
"guarantor": "<string>",
"guarantor_contract": "<string>",
"holding_fee": {
"amount": 123,
"paid": true,
"paid_off_platform": true,
"transaction": "<string>"
},
"lead_tenant": true,
"permitted_occupier": true,
"requirements": {
"guarantor": true
},
"share_of_rent": 123,
"status": "<string>",
"tos_acceptance": {
"date": 123,
"ip": "<string>"
},
"verification_session": "<string>",
"verification_session_required": true,
"account": "<string>",
"deleted": false,
"pets": [
{
"age": 123,
"name": "<string>",
"type": "dog"
}
],
"pre_qualification": {
"affordability": {
"company_name": "<string>",
"gross_annual_salary": 123,
"role": "<string>"
},
"nationality": "<string>"
}
}
]
},
"customer_emails": [
"<string>"
],
"deposit_count": 123,
"deposit_total": 123,
"holding_fee_count": 123,
"holding_fee_total": 123,
"metadata": {},
"overrides": {
"rent_increase": {
"tenancy_start_at": 123,
"first_increase_at": 123
}
},
"steps": [
{
"id": "<string>",
"status": "<string>",
"type": "<string>"
}
]
}