Download OpenAPI specification:
This reference helps you to integrate with HomeQ. Currently we are migrating our API documentation into this new format so there might be endpoints that are missing here. Please check the old api docs for more information and other endpoints but note that this documentation takes precedence over the old one.
To get an API key you can log into the landlord portal and find the integration settings page here. Be aware that the demo environment has separate API keys and you need to log into the demo environment to get the demo API keys.
As stated above you can get the API credentials in the landlord portal. With the credentials you can then call the authentication endpoint to receive a JWT token that you can use in subsequent requests. Additionally to the jwt token you will also receive a user part which includes several things, like rights, current office, premium tier and more. Usually you do not need that additional information but it can be helpful in some situations.
One important aspect of every API is the method of how deprecation of older endpoints occurs. We have three mechanisms to announce our deprecations and our usual deprecation time is 3 months. The first is an announcement via E-Mail. Your company can configure a technical information email to get informed. Please visit https://www.homeq.se/documentation to set up the email.
The second mechanic is via this API Documentation where it will be marked documentation of the respective endpoint.
To test a deprecated endpoint please make a GET request to: https://api.homeq.se/api/v1/deprecation/ If you have questions, or need help with using the API, Deprecation or moving to a newer version of an endpoint please feel free to contact our customer support. Now that the formalities are out of the way let's get started:
The company is usually set up by our customer success team, that helps you with the onboarding. They will invite you to the landlord portal where you can configure your company.
Examples of what you can adjust are:
Please contact your customer success manager if you need help with the configuration or reach out via email to support@homeq.se.
Your company has a set of offices each with their own name organized in a tree like hierarchy. Mostly those offices are used to separate different regions or cities and hold some configuration that allows default values to be applied to listings that are created within that office. You can check the linked endpoint to see what configuration can be done on an office level.
Employees are the users of the landlord portal which can be the day-to-day users of the system, managers who oversee performance and admins who can configure the system. Each employee is assigned to a root office and has access to all entities below their assigned office.
This may be estates, apartments and listings ads as well as applications handling.
Employees have a phone number, email address and a personal number which is used for signing contracts or for the prospective tenants to contact the landlord.
HomeQ provides four default access roles for users of the landlord portal: observer, employee, manager, and admin. As an admin you can also create custom right sets and assign them to employees within your company.
You can find the rights and what role has which permissions in the landlord portal.
After setting up your basic organization, you can start modeling your inventory. We are usually concerned with two entities: Estates and Apartments. Both cover entities that are physically present in the real world.
You create an estate representing a building, then you create apartments belonging to an estate - lastly you can create listings for apartments when filling a vacancy.
Estates are the root entity in your inventory. They have a given name, assigned office and a city in which they are located. You can also specify more information about estates like an external_id (landlord_object_id) that makes it easier to find a given estate in our system with the identifier you usually use. For other fields check the documentation below.
Apartments area created belonging to an Estate and have an address defined by street, street number, zip code as well as rooms, floor, area, rental price, and other attributes. It should be updated as close as possible to represent the actual real world apartment.
Below you find a python code example that shows how you can create a simple estate within your company.
import requests
import json
token = "eyJ0eXAiOi...."
response = requests.post("https://api.homeq.se/api/v4/estate", json.dumps({
"legal_name": "Solrosen I",
"city": "Stockholm"
}), headers={
"Content-Type": "application/json",
"Authorization": f"JWT {token}"
})
assert response.status_code == 200, "could not create the estate"
# Extract the estate id to use when creating apartments within the estate
estate_id = response.json()["id"]
Once you have created an estate, you can fill it with apartments. Note that you do not need to provide an office when creating an apartment, as it will inherit the office from the estate. We consider an apartment to be a real world entity and is considered to be unique with a combination of [national_id, city, street, street_number]. This practice ensures that we do not have duplicates and that we can transfer apartments between landlords if they change ownership without needing to remove and recreate descriptions and media assets.
If that is not the case please contact HomeQ so we can sort out the issue.
Below you can find a python code example that shows how you can create a simple apartment within your company. Media assets like images, videos, floor plans, and promotional material can be uploaded in a later step. You can refer to the media section for more information on how to upload media assets and assign them to your entities.
import requests
import json
token = "eyJ0eXAiOi...."
estate_id = 15
response = requests.post("https://api.homeq.se/api/v4/apartment", json.dumps({
"estate": estate_id,
"street_name": "Street name",
"street_number": "4",
"zip_code": "19448",
"longitude": 17.9429115,
"latitude": 59.3975395,
"county": "Stockholm",
"municipality": "Upplands Väsby",
"rooms": 4,
"floor": 3,
"area": 81.40,
"rent": 7400,
"description": "Description of the apartment",
"national_id": "1304",
"landlord_object_id": "AF43CD7U",
"renovation_date": "2017-01-14",
"washing_machine": "PREPARED",
"dishwasher": "PRESENT",
"balcony": "NORTH",
"dryer": "NONE",
"bathtub": "PRESENT",
"internet_included": True,
"cable_package_included": False,
"water": "COLD_INCLUDED",
"garage": "INCLUDED",
"parking": "INCLUDED",
"electricity_included": True,
"heating_included": True,
"laundry_room": True,
"security_door": True,
"shower": True,
"kitchen_fan": "PRESENT",
"patio": True,
"handicap_adapted": True,
"accessibility_adapted": True,
"elevator": True,
"pantry": True
}), headers={
"Content-Type": "application/json",
"Authorization": f"JWT {token}"
})
assert response.status_code == 201, "could not create the apartment"
# Extract the apartment id to use when creating object ad or uploading images that belongs to the apartment
apartment_id = response.json()["id"]
After creating inventory you can find it by using the normal GET request for the given entity. However, when doing larger fetch operations it is recommended to use the inventory endpoint.
This endpoint allows you to fetch estates, apartments, and listings in one go. You can also filter the results by various parameters like status, project and your own landlord_object_id.
Be aware that the underlying data is fetched via elastic search and might be slightly delayed compared to the normal endpoints. We however recommend using this endpoint for larger fetch operations as it is more efficient than to iterate through your inventory with multiple requests.
To work with media files like pictures, videos and PDFs in our application you need to use our file reference endpoint. You will specify the content_type and a md5 hash of the file and will receive an upload url that you can use to upload the file directly to AWS.
You will also receive a file reference id that you can use to refer to the file when updating the floor plan of an apartment, adding pictures to an estate, etc.
You can find the documentation here:
When you upload certain type sof pictures to our platform we automatically produce thumbnail images in different sizes.
The following categories will trigger the generation of smaller sizes: estate_images, estate_area_images, apartment_images, project_images and project_area_images.
The available sizes are 320, 460, 840, 1440, 1920 and 2880 pixels in width. The height is adjusted to keep the aspect ratio.
When uploading videos to apartments or projects we will also compress them and make the compressed version available for the end users. You can ensure that the compression kept the quality of the video by checking the listing or the project yourself. It might take a few minutes for the compressed video to be available.
When you are using media files outside HomeQ.se some rules apply to ensure image quality and performance. Usually this scenario applies when you want to make the active listings available on your own website with a custom implementation. Please ensure that you:
To access the smaller image sizes you have to adjust the URL of the image, as our API will usually only provide the original resource URI. You can do that by replacing the file ending with .jpeg as all resized images will be jpeg. Additionally, you have to insert the size you want to use before the type reference in the URL. As an example the url:
https://homeq-media-live.s3.amazonaws.com/apartment_images/c5c949b...7ea.png
would become
https://homeq-media-live.s3.amazonaws.com/320/apartment_images/c5c949b...7ea.jpeg
Before you start creating listings you should define a requirement profile. It describes the requirements that an applicant needs to meet in order to be considered approved. When an application is made, the applicant is matched against the requirement profile that you choose to use.
Requirement profiles contain checks for income, occupation type, credit information and more. Please refer to the specific API documentation for all the available fields.
Once you are ready and want to fill a vacant apartment you can create a listing. With listings you have two options broadly speaking. You can rent out an apartment as a normal succession rental or as a project rental.
When renting out as a project rental you first need to create a project and then add an estate to that project.
Then you can flag the call you make with is_project_rental=true
to create the listing associated to the project.
Normal rentals don't need this extra step and can be created directly.
When creating a listing there is a variety of information you can provide. How the candidates are sorted, when the apartment is accessible, whether it is a short lease or not, and more. Note that you can also create a draft listing that you can later publish when you are ready.
A widget is something you can easily embedd on your website to show all the published listings you currently have available for consumers to apply on.
If you want to show HomeQ Ads on your website you can simply use one of our widgets to easily embed ad cards. Currently there is only one type of widget that you can embed. How do do this is explained in the next section. Make sure to sign up on our technical email list so you get information regarding upgrades and changes in the widget.
Introduce a div in your HTML where you want the widget to appear. You need to replace the company number with your company ID. If you don't know your company ID feel free to contact HomeQ support.
<div id="homeq-anchor" data-company="3"></div>
If you are using WordPress
If you are using the native editor for your page (Gutenberg or classic editor) you can follow the following link on how to add HTML to a WordPress page. Then copy and paste div where you want the widget to appear.
If you are not using the native editor for your WordPress page, look up how to add HTML to a section for the plugin you are using. Then copy and paste div where you want the widget to appear.
Copy and paste the following line at the end of the head of your HTML.
<link rel="stylesheet" type="text/css" href="https://widgets.homeq.se/widgets/overview.css"/>
Copy and paste the following line at the end of the body of your HTML.
<script type="application/javascript" src="https://widgets.homeq.se/widgets/overview.js"></script>
If you are using WordPress
If you have access to the code of your WordPress theme then you can follow the previous instructions and enqueue the files in yourfunctions.php file.
If you don't have access to the code of your WordPress site, you can use a plugin to load the JavaScript and CSS for the widget. First, you need to install and activate theInsert Headers and Footers plugin. If you don't know how to install the plugin, see a step by step guide on how to install a WordPress plugin. Upon activation, you need to visit theSettings » Insert Headers and Footers page. You will see two boxes, one for the header and the other for the footer section.
Insert Headers and Footers plugin
You can now copy the following line and then paste the line in to the header box.
<link rel="stylesheet" type="text/css" href="https://widgets.homeq.se/widgets/overview.css"/>
Then copy and paste the following line in to the footer box.
<script type="application/javascript" src="https://widgets.homeq.se/widgets/overview.js"></script>
Finally click on the save button, and the CSS and JavaScript for the widget will be loaded on your WordPress site.
We build in easy to change styling, in order to fit your brand
colors and integrate it seamlessly. You can simply add a <style>
element in
your page and overwrite the various elements with custom colours.
You can refer to this file.
In order to test the widget before you want to use it in production you can simply add a data parameter to the anchor.
<div id="homeq-anchor" data-company="3" data-environment="demo"></div>
When having a page about a project you are able to embed a widget to collect emails from interested people.
Copy the code below for the iframe and paste it where you want the
widget to appear. You need to adjust the PROJECT_ID
to match the project
you want to collect emails for. If you don't know the id for your project,
you can find it in the landlord portal or contact our support.
<iframe width="100%" height="400px" src="https://www.homeq.se/widgets/project?project=<PROJECT_ID>"/>
Webhooks are requests we make to your system to inform you of events that have occurred in our system.
As an admin user you can configure a webhook in the landlord portal. You can also specify which events you want to receive POST requests for. We will queue the events so they will be retried every 5 minutes if we do not receive a 200 status code on the POST request.
The maximum time we try this is 7 days. Each event will contain the id's referencing the objects involved during this specific event. Please check the reference below for the different events:
This endpoint will deliver a list of all agreements that belong to a landlord or a consumer. If signed_after is added as a filter, it will return only the agreements signed after the given date. If apartment_id is added it will return the agreement of the apartment. based on the filter in the endpoint.
You can call this endpoint as a consumer to receive agreements you have made with landlords.
page | integer Default: 1 The page of results to return |
apartment_id | integer A specific apartment to get agreements for |
signed_after | string A date to return only agreements signed after the given date |
rental_id | integer The agreement for a specific rental id |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "results": [
- {
- "apartment": {
- "city": "string",
- "country": "string",
- "display_image": "string",
- "street": "string",
- "street_nr": "string"
}, - "created": "string",
- "id": 0,
- "landlord": {
- "name": "string"
},
}
], - "total": 0
}
This endpoint allows you to list all pictures. You have to have the right: entity.Apartment.update
apartment_id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{
}
This endpoint allows you to create a picture on an Apartment.
You are required to have the right: entity.Apartment.update
apartment_id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
position | string <= 70 characters |
title | string <= 70 characters |
url required | string <= 128 characters |
{- "position": "string",
- "title": "string",
- "url": "string"
}
{- "id": 0
}
This endpoint allows you to delete a specific video on an Apartment.
apartment_id required | integer The primary key of the Apartment |
3d_view_id required | integer The primary key of the Apartment video |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific video on an Apartment.
apartment_id required | integer The primary key of the Apartment |
3d_view_id required | integer The primary key of the Apartment video |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
position | integer |
title | string <= 70 characters |
url | string <= 70 characters |
{- "position": 0,
- "title": "string",
- "url": "string"
}
This endpoint allows you to list all pictures. You have to have the right: entity.Apartment.update
apartment_id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "results": [
- {
- "apartment": 0,
- "caption": "string",
- "id": 0,
- "position": 0,
- "reference": "string"
}
]
}
This endpoint allows you to create a picture on an Apartment.
You are required to have the right: entity.Apartment.update
apartment_id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
caption | string <= 70 characters |
file_reference required | string <= 128 characters |
{- "caption": "string",
- "file_reference": "string"
}
{- "id": 0
}
This endpoint allows you to delete a specific picture on an Apartment.
apartment_id required | integer The primary key of the Apartment |
picture_id required | integer The primary key of the Apartment picture |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific picture on an Apartment.
apartment_id required | integer The primary key of the Apartment |
picture_id required | integer The primary key of the Apartment picture |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
caption | string <= 70 characters |
position | integer |
{- "caption": "string",
- "position": 0
}
This endpoint allows you to list all pictures. You have to have the right: entity.Apartment.update
apartment_id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "results": [
- {
- "apartment": 0,
- "id": 0,
- "position": 0,
- "private": true,
- "reference": "string",
}
]
}
This endpoint allows you to create a picture on an Apartment.
You are required to have the right: entity.Apartment.update
apartment_id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
caption | string <= 70 characters |
file_reference required | string <= 128 characters |
private | boolean Default: false |
{- "caption": "string",
- "file_reference": "string",
- "private": false
}
{- "id": 0
}
This endpoint allows you to delete a specific video on an Apartment.
apartment_id required | integer The primary key of the Apartment |
video_id required | integer The primary key of the Apartment video |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific video on an Apartment.
apartment_id required | integer The primary key of the Apartment |
video_id required | integer The primary key of the Apartment video |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
position | integer |
{- "position": 0
}
This endpoint allows you to list all notes this apartment has.
apartment_id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "notes": [
- {
- "apartment": 0,
- "author": null,
- "context": "string",
- "created": "2019-08-24T14:15:22Z",
- "id": 0,
- "text": "string",
- "updated": "2019-08-24T14:15:22Z"
}
]
}
This endpoint allows you to create a note on an Apartment.
apartment_id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
context | string Enum: "A" "R" |
text | string <= 3000 characters |
{- "context": "A",
- "text": "string"
}
{- "apartment": 0,
- "author": null,
- "context": "string",
- "created": "2019-08-24T14:15:22Z",
- "id": 0,
- "text": "string",
- "updated": "2019-08-24T14:15:22Z"
}
This endpoint allows you to delete a specific note on an Apartment.
apartment_id required | integer The primary key of the Apartment |
note_id required | integer The primary key of the Apartment note |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific video on an Apartment.
apartment_id required | integer The primary key of the Apartment |
note_id required | integer The primary key of the Apartment video |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
text | string <= 3000 characters |
{- "text": "string"
}
Allow for an estimated geolocation and county/municipality estimate
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
city required | string <= 128 characters |
street_name required | string <= 128 characters |
street_number required | string <= 128 characters |
zip_code | string <= 5 characters |
{- "city": "string",
- "street_name": "string",
- "street_number": "string",
- "zip_code": "strin"
}
{- "county": "string",
- "latitude": 0,
- "longitude": 0,
- "municipality": "string"
}
Allow for a lookup of county/municipality given latitude and longitude
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
latitude required | number The latitude of the location |
longitude required | number The longitude of the location |
{- "latitude": 0,
- "longitude": 0
}
{- "complete": true,
- "county": "string",
- "municipality": "string"
}
This is the API resource for creating Apartments.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
accessibility_adapted | boolean Default: false |
area required | number >= 1 |
balcony | string Default: "NONE" Enum: "NONE" "PRESENT" "NORTH" "WEST" "SOUTH" "EAST" "NORTHWEST" "NORTHEAST" "SOUTHWEST" "SOUTHEAST" |
bathtub | string Default: "NONE" Enum: "NONE" "PREPARED" "PRESENT" |
cable_package_included | boolean Default: false |
description | string <= 3000 characters |
dishwasher | string Default: "NONE" Enum: "NONE" "PREPARED" "PRESENT" |
dryer | string Default: "NONE" Enum: "NONE" "PREPARED" "PRESENT" |
electricity_included | boolean Default: false |
elevator | boolean Default: false |
estate required | integer >= 1 |
floor required | number |
floor_plan_reference | string or null |
garage | string Default: "NONE" Enum: "NONE" "AVAILABLE" "INCLUDED" |
handicap_adapted | boolean Default: false |
heating_included | boolean Default: false |
internet_included | boolean Default: false |
kitchen_fan | string Default: "NONE" Enum: "NONE" "PREPARED" "PRESENT" |
landlord_object_id | string or null <= 256 characters |
latitude required | number |
laundry_room | boolean Default: false |
longitude required | number |
national_id required | string^[0-9]{4}$ |
pantry | boolean Default: false |
parking | string Default: "NONE" Enum: "NONE" "AVAILABLE" "INCLUDED" |
patio | boolean Default: false |
promotion_file_reference | string or null |
renovation_date | string or null <date> Default: null |
rent required | integer >= 1 |
rooms required | number >= 1 |
security_door | boolean Default: false |
shower | boolean Default: true |
street_name required | string <= 128 characters ^[\w\:\.\s]+$ |
street_number required | string <= 16 characters ^[1-9][0-9]*[\s]*[a-zA-ZåäöÅÄÖ]*$ |
washing_machine | string Default: "NONE" Enum: "NONE" "PREPARED" "PRESENT" |
water | string Default: "PAY_EXTRA" Enum: "PAY_EXTRA" "COLD_INCLUDED" "WARM_COLD_INCLUDED" "ALL_INCLUDED" |
zip_code required | string^[0-9]{5}$ |
{- "accessibility_adapted": false,
- "area": 1,
- "balcony": "NONE",
- "bathtub": "NONE",
- "cable_package_included": false,
- "description": "string",
- "dishwasher": "NONE",
- "dryer": "NONE",
- "electricity_included": false,
- "elevator": false,
- "estate": 1,
- "floor": 0,
- "floor_plan_reference": "string",
- "garage": "NONE",
- "handicap_adapted": false,
- "heating_included": false,
- "internet_included": false,
- "kitchen_fan": "NONE",
- "landlord_object_id": "string",
- "latitude": 0,
- "laundry_room": false,
- "longitude": 0,
- "national_id": "string",
- "pantry": false,
- "parking": "NONE",
- "patio": false,
- "promotion_file_reference": "string",
- "renovation_date": null,
- "rent": 1,
- "rooms": 1,
- "security_door": false,
- "shower": true,
- "street_name": "string",
- "street_number": "string",
- "washing_machine": "NONE",
- "water": "PAY_EXTRA",
- "zip_code": "string"
}
{- "can_create_ad_listing": true,
- "estate": 0,
- "id": 0
}
This is the API resource for deleting Apartments.
id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint will fetch information about an Apartment.
id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "accessibility_adapted": true,
- "area": 0,
- "balcony": "NONE",
- "bathtub": "NONE",
- "cable_package_included": true,
- "can_create_ad_listing": true,
- "city": "string",
- "county": "string",
- "description": "string",
- "dishwasher": "NONE",
- "dryer": "NONE",
- "electricity_included": true,
- "elevator": true,
- "estate": 0,
- "floor": 0,
- "floor_plan_reference": "string",
- "garage": "NONE",
- "handicap_adapted": true,
- "heating_included": true,
- "id": 0,
- "internet_included": true,
- "kitchen_fan": "NONE",
- "landlord_object_id": "string",
- "latitude": 0,
- "laundry_room": true,
- "longitude": 0,
- "municipality": "string",
- "national_id": "string",
- "pantry": true,
- "parking": "NONE",
- "patio": true,
- "promotion_file_reference": "string",
- "renovation_date": "string",
- "rent": 0,
- "rooms": 0,
- "security_door": true,
- "shower": true,
- "street_name": "string",
- "street_number": "string",
- "washing_machine": "NONE",
- "water": "PAY_EXTRA",
- "zip_code": "string"
}
This is the API resource for updating Apartments.
id required | integer The primary key of the Apartment |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
accessibility_adapted | boolean |
area | number |
balcony | string Enum: "NONE" "PRESENT" "NORTH" "WEST" "SOUTH" "EAST" "NORTHWEST" "NORTHEAST" "SOUTHWEST" "SOUTHEAST" |
bathtub | string Enum: "NONE" "PREPARED" "PRESENT" |
cable_package_included | boolean |
can_create_ad_listing | boolean |
description | string |
dishwasher | string Enum: "NONE" "PREPARED" "PRESENT" |
dryer | string Enum: "NONE" "PREPARED" "PRESENT" |
electricity_included | boolean |
elevator | boolean |
floor | number |
floor_plan_reference | string or null |
garage | string Enum: "NONE" "AVAILABLE" "INCLUDED" |
handicap_adapted | boolean |
heating_included | boolean |
internet_included | boolean |
kitchen_fan | string Enum: "NONE" "PREPARED" "PRESENT" |
landlord_object_id | string |
latitude | number |
laundry_room | boolean |
longitude | number |
national_id | string |
pantry | boolean |
parking | string Enum: "NONE" "AVAILABLE" "INCLUDED" |
patio | boolean |
promotion_file_reference | string or null |
renovation_date | string or null |
rent | integer |
rooms | number |
security_door | boolean |
shower | boolean |
street_name | string^[\w\:\.\s]+$ |
street_number | string^[1-9][0-9]*[\s]*[a-zA-ZåäöÅÄÖ]*$ |
washing_machine | string Enum: "NONE" "PREPARED" "PRESENT" |
water | string Enum: "PAY_EXTRA" "COLD_INCLUDED" "WARM_COLD_INCLUDED" "ALL_INCLUDED" |
zip_code | string |
{- "accessibility_adapted": true,
- "area": 0,
- "balcony": "NONE",
- "bathtub": "NONE",
- "cable_package_included": true,
- "can_create_ad_listing": true,
- "description": "string",
- "dishwasher": "NONE",
- "dryer": "NONE",
- "electricity_included": true,
- "elevator": true,
- "floor": 0,
- "floor_plan_reference": "string",
- "garage": "NONE",
- "handicap_adapted": true,
- "heating_included": true,
- "internet_included": true,
- "kitchen_fan": "NONE",
- "landlord_object_id": "string",
- "latitude": 0,
- "laundry_room": true,
- "longitude": 0,
- "national_id": "string",
- "pantry": true,
- "parking": "NONE",
- "patio": true,
- "promotion_file_reference": "string",
- "renovation_date": "string",
- "rent": 0,
- "rooms": 0,
- "security_door": true,
- "shower": true,
- "street_name": "string",
- "street_number": "string",
- "washing_machine": "NONE",
- "water": "PAY_EXTRA",
- "zip_code": "string"
}
This endpoint allows you to fetch a JWT token for subsequent API calls. If the account has two factor authentication enabled you need to provide the totp token. If the account is required to verify with device tokens you have to provide the device token. Registering a new device token during login also requires a checkin token to verify your social security number.
Code | Error | Reason |
---|---|---|
412 | UsernameMissing | Please provide a username. |
412 | PasswordMissing | Please provide a password. |
412 | MissingTotpToken | You require a two_factor_token in order to log in. |
412 | InvalidTotpToken | The two factor token that you provided is not correct. |
409 | MissingRightProfile | The user has no right profile associated. |
403 | PermissionDenied | Please provide correct username and password |
412 | MissingDeviceToken | You need to provide a device token in order to log in. |
412 | MissingCheckinToken | To register device token you need to provide checkin token. |
412 | MissmatchPersonalNumber | The checkin token does not contain the right personal number. |
checkin_token | string The checkin token if the account requires device verification |
device_token | string The device token if the account requires device verification |
password required | string The password of that account. |
two_factor_token | string The two factor authentication token if the account requires 2fa |
username required | string The username of the user you want to log in as. |
{- "checkin_token": "string",
- "device_token": "string",
- "password": "string",
- "two_factor_token": "string",
- "username": "string"
}
{- "company": {
- "beta_program": true,
- "enabled_features": [
- "analytics_tool"
], - "id": 0,
- "name": "string"
}, - "employee": {
- "email": "string",
- "first_name": "string",
- "id": 0,
- "intercom_hash": "string",
- "last_name": "string",
- "personal_number": "string",
- "phone": "string",
- "root_office": 0,
- "selected_office": 0,
- "username": "string"
}, - "right_profile": {
- "id": 0,
- "name": "string",
- "rights": [
- "homeq.integration.capifast"
]
}, - "token": "string"
}
You can send your JWT token to this endpoint to verify that it is still valid and retrieve more information about the owner of the token.
Code | Error | Reason |
---|---|---|
401 | Unauthorized | Please provide a token |
401 | Unauthorized | The token needs to be a landlord token |
401 | Unauthorized | User specified in the token was not found |
401 | Unauthorized | You need to reissue the token as your company id changed. |
401 | Unauthorized | Signature of the token is expired |
401 | Unauthorized | Could not decode JWT token |
401 | Unauthorized | There was a problem with verifying your token |
token | string The username of the user you want to log in as. |
{- "token": "string"
}
{- "company": {
- "beta_program": true,
- "enabled_features": [
- "analytics_tool"
], - "id": 0,
- "name": "string"
}, - "employee": {
- "email": "string",
- "first_name": "string",
- "id": 0,
- "intercom_hash": "string",
- "last_name": "string",
- "personal_number": "string",
- "phone": "string",
- "root_office": 0,
- "selected_office": 0,
- "username": "string"
}, - "right_profile": {
- "id": 0,
- "name": "string",
- "rights": [
- "homeq.integration.capifast"
]
}, - "token": "string"
}
This endpoint allows you to search through the cards we have. A card represents either an individual succession rental or a project. This is the normal mode of operation for this endpoint.
If you want to fetch all the individual rentals that are ongoing within a project you can provide the project id as a parameter in the requests body. The response will contain a list of ExtendedIndividualCard (see Schemas), containing additional information about each apartment in that rental.
If you simply want to retrieve a geographic overview of the available ads you can supply the parameter pin_only which will return a list of PinResult (see Schemas) containing the location and type of each ad. to display on a map.
If you want to fetch all the rentals that are ongoing within a company you can provide the company id as a parameter in the requests body. The response will contain a list of all ads within the company.
ads | Array of integers A list of ad ids. |
amount | integer Default: 10000 The amount of results the search should return. |
balcony | boolean Default: false |
bathtub | boolean Default: false |
card_pin | boolean A parameter that is set to get all card pins to show on the map for the given filters |
card_type | string Enum: "projects" "normal" Whether to show project cards in the search results. |
company | integer A company id to filter by. |
dishwasher | boolean Default: false |
drier | boolean Default: false |
elevator | boolean Default: false |
estate | integer An estate id to filter by. |
first_come_first | boolean Default: true Show ads that are rented out via first_come_first. |
garage | boolean Default: false |
object An object that represents the bounds to search within. | |
object A geo radius object for radius based search. If the latitude and longitude is omitted they will be estimated by resolving the IP address. | |
handicap_friendly | boolean Default: false |
kitchen_fan | boolean Default: false |
max_area | number The upper amount of area to limit the search to. |
max_floor | number The upper amount of floor to limit the search to. |
max_rent | number The upper amount of rent to limit the search to. |
max_room | number The upper amount of rooms to limit the search to. |
min_area | number The lower amount of area to limit the search to. |
min_floor | number The lower amount of floor to limit the search to. |
min_rent | number The lower amount of rent to limit the search to. |
min_room | number The lower amount of rooms to limit the search to. |
offset | integer Default: 0 The offset to start fetching cards from |
parking | boolean Default: false |
patio | boolean Default: false |
paused | boolean Default: false Whether or not to include paused ads. Excluded by default. |
pets | boolean Default: false |
project | integer A project id to filter by. |
project_ads | Array of integers A list of project ad ids. |
queue_points | boolean Default: true Show ads that are rented out via queue_points. |
random | boolean Default: true Show ads that are rented out via lottery. |
reserved | boolean Default: false Whether or not to include reserved ads. Excluded by default. |
shapes | Array of strings Only return ads that are in the given shapes. Checkout the Geo Service for figuring out how to get the shapes. |
sorting | string Default: "publish_date.desc" The sorting with {key}.{asc|desc}. Options are [area, floor, rent, rooms, publish_date, distance, boost_value] |
tags | Array of strings Items Enum: "senior" "student" "youth" "everyone" |
washing_machine | boolean Default: false |
{- "ads": [
- 0
], - "amount": 10000,
- "balcony": false,
- "bathtub": false,
- "card_pin": true,
- "card_type": "projects",
- "company": 0,
- "dishwasher": false,
- "drier": false,
- "elevator": false,
- "estate": 0,
- "first_come_first": true,
- "garage": false,
- "geo_bounds": {
- "max_lat": 0,
- "max_lng": 0,
- "min_lat": 0,
- "min_lng": 0
}, - "geo_radius": {
- "latitude": 0,
- "longitude": 0,
- "radius": "50km"
}, - "handicap_friendly": false,
- "kitchen_fan": false,
- "max_area": 0,
- "max_floor": 0,
- "max_rent": 0,
- "max_room": 0,
- "min_area": 0,
- "min_floor": 0,
- "min_rent": 0,
- "min_room": 0,
- "offset": 0,
- "parking": false,
- "patio": false,
- "paused": false,
- "pets": false,
- "project": 0,
- "project_ads": [
- 0
], - "queue_points": true,
- "random": true,
- "reserved": false,
- "shapes": [
- "string"
], - "sorting": "publish_date.desc",
- "tags": [
- "senior"
], - "washing_machine": false
}
{- "results": [
- {
- "boost_value": 0,
- "city": "string",
- "county": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "image": "string",
- "position": 0
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "municipality": "string",
- "references": {
- "apartment": 0,
- "company": 0,
- "estate": 0,
- "object_ad": 0,
- "office": 0,
- "project": 0
}, - "type": "project",
- "uri": "string",
- "videos": [
- {
- "position": 0,
- "url": "string"
}
], - "area": 0,
- "audience": "everyone",
- "date_access": "2019-08-24",
- "is_short_lease": true,
- "rent": 0,
- "rooms": 0,
- "title": "string"
}
], - "total_hits": 0
}
This endpoint can be used by customers & consumers and it will respond slightly different depending on the user type.
As a consumer you will receive back a list of companies with name and id that can be used in other API calls when you need to refer to a specific company.
As a customer you will receive back the details of your company. Your company will be determined by the property that is encoded in your authorization token.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
[ ]
This endpoint allows to update certain information for the company if you have the 'entity.organization' right. In order to update the logo or the cover image you can check out the guide on uploading files. This will provide you with a file reference id that can be used in this endpoint.
The fast api key is used to authenticate with Fastighetsägerna Dokument and is required when you want to sign digital contracts with help of their templates. When providing a key we will check if the key works by trying the API.
This property serves a indication whether or not to use the redirect after reserve feature in the landlord portal. If you provide this link we will redirect your employees to this link after they have reserved a tenant for an apartment, then they can complete the next steps on your application.
These properties are used to provide the default bankgiro, postgiro and org number for the company. When creating using fastighetsägarna dokument we will use these numbers as default values, unless the estate that is involved in the rental has values specified.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
bankgiro | string The default bankgiro number for the company. |
cover_image_id | string or null <uuid> The id of the fire reference pointing to the logo image |
external_reservation_link | string <uri> If you provide this link we will redirect your employees to this link after they have reserved a tenant for an apartment, then they can complete the next steps on your application. The link will be appended with the listing id as a parameter. |
fast_api_key | string The two factor authentication token if the account requires 2fa |
logo_image_id | string or null <uuid> The id of the fire reference pointing to the logo image |
minimum_up_time | integer The minimum uptime for an ad before it can be offered to candidates |
org_number | string The organizational number for the company. |
postgiro | string The default postgiro number for the company. |
{- "bankgiro": "string",
- "cover_image_id": "54867dc2-e98d-4d6c-99fa-31fe84a40bba",
- "fast_api_key": "string",
- "logo_image_id": "d07e0ed1-6700-4c57-8e8c-642d7cf78761",
- "minimum_up_time": 0,
- "org_number": "string",
- "postgiro": "string"
}
This endpoint allows you to reset an environment and remove all estates, apartments and other traces. It will keep the employees, requirement profiles.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to verify a digital contract by it's uuid. It will be fetched from the media storage and verified.
uuid | string The digital contract uuid |
{- "is_valid": true,
- "signatories": [
- {
- "first_name": "string",
- "last_name": "string",
- "signed_at": "2019-08-24T14:15:22Z",
- "ssn": "string"
}
]
}
This endpoint retrieves all employees below your currently selected office,
if you have the right entity.employees
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "employees": [
- {
- "api_user": true,
- "date_joined": "string",
- "email": "user@example.com",
- "first_name": "string",
- "id": 0,
- "joined": true,
- "last_name": "string",
- "name": "string",
- "right_profile_name": "string",
- "root_office_name": "string",
- "username": "string"
}
]
}
This endpoint allows you to create an api user which can then utilize the API. Be aware that
an API user is missing certain attributes of a normal employee which can lead to them not
being able to perform all operations. You need the entity.employees
right.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "id": 0,
- "password": "string",
- "username": "string"
}
This endpoint allows deletion of a landlord employee. You need the entity.employees
right.
employee_id required | integer The primary key of the employee |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint retrieves detailed information about a specific employee.
You can access this endpoint if you have the entity.employees
right or if you
are yourself the employee in question.
employee_id required | integer The employee id you want to fetch |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "employees": [
- {
- "api_user": true,
- "email": "user@example.com",
- "first_name": "string",
- "id": 0,
- "joined": true,
- "last_name": "string",
- "personal_number": "string",
- "phone_number": "string",
- "right_profile": {
- "id": 0,
- "name": "string"
}, - "root_office": {
- "id": 0,
- "name": "string"
}, - "selected_office": {
- "id": 0,
- "name": "string"
}
}
]
}
This endpoint allows editing of a landlord employee. If you have the 'entity.employees' right
you can edit employees below you and change their right profile, root office, phone number and
personal number. If you are editing yourself you can change your first_name, last_name,
phone number, personal number and change your currently selected office.
You cannot currently change your email
employee_id required | integer The primary key of the employee |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
first_name | string You can change your own first_name. |
last_name | string You can change your own last_name. |
personal_number | string You can change your own personal_number. |
phone_number | string You can change your own phone_number. |
right_profile | integer The new right profile of that landlord employee. You can not edit your own right profile. |
root_office | integer The new root office of that landlord employee. You cannot edit your own root office. If you change someones root office it will also set their selected office to the new root office to keep it consistent. |
selected_office | integer The new selected office - must be below or equal to your root office. Cannot be edited by someone else. |
{- "first_name": "string",
- "last_name": "string",
- "personal_number": "string",
- "phone_number": "string",
- "right_profile": 0,
- "root_office": 0,
- "selected_office": 0
}
This endpoint allows you to list all area pictures. You have to have the right: entity.estate.update
estate_id required | integer The primary key of the estate |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{
}
This endpoint allows you to create an area picture on an estate.
You are required to have the right: entity.estate.update
estate_id required | integer The primary key of the estate |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
caption | string <= 70 characters |
file_reference required | string <= 128 characters |
{- "caption": "string",
- "file_reference": "string"
}
{- "id": 0
}
This endpoint allows you to delete a specific area picture on an estate.
estate_id required | integer The primary key of the estate |
area_picture_id required | integer The primary key of the estate area picture |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific area picture on an estate.
estate_id required | integer The primary key of the estate |
area_picture_id required | integer The primary key of the estate area picture |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
caption | string <= 70 characters |
position | integer |
{- "caption": "string",
- "position": 0
}
This endpoint allows you to list all pictures. You have to have the right: entity.estate.update
estate_id required | integer The primary key of the estate |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{
}
This endpoint allows you to create a picture on an estate.
You are required to have the right: entity.estate.update
estate_id required | integer The primary key of the estate |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
caption | string <= 70 characters |
file_reference required | string <= 128 characters |
{- "caption": "string",
- "file_reference": "string"
}
{- "id": 0
}
This endpoint allows you to delete a specific picture on an estate.
estate_id required | integer The primary key of the estate |
picture_id required | integer The primary key of the estate picture |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific picture on an estate.
estate_id required | integer The primary key of the estate |
picture_id required | integer The primary key of the estate picture |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
caption | string <= 70 characters |
position | integer |
{- "caption": "string",
- "position": 0
}
This is the API resource for creating estates. The estate will be created at the users currently selected office if no office is provided.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
area_caption | string [ 2 .. 70 ] characters The area caption for the area section. |
area_description | string [ 200 .. 1000 ] characters The area description for the area section. |
area_image_caption | string [ 2 .. 70 ] characters A caption for the area picture section. |
bankgiro | string <= 128 characters The bankgiro of the estate. |
city required | string <= 128 characters ^[\w\s]+$ The city the estate is located in. |
cover_caption | string [ 2 .. 70 ] characters The cover caption for the estate. |
cover_description | string [ 200 .. 1000 ] characters The cover description for the estate. |
estate_owner | string <= 128 characters The estate_owner of the estate. |
landlord_object_id | string A custom field to store a reference to the estate. |
legal_name required | string <= 128 characters The legal name of the estate. |
office | integer The office id that this estate should be created under. If not provided the estate will be created under currently selected office. |
org_number | string <= 128 characters ^(|[0-9]{6}-[0-9]{4})$ The org_number of the estate. |
postgiro | string <= 128 characters The postgiro of the estate. |
{- "area_caption": "string",
- "area_description": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
- "area_image_caption": "string",
- "bankgiro": "string",
- "city": "string",
- "cover_caption": "string",
- "cover_description": "stringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringstringst",
- "estate_owner": "string",
- "landlord_object_id": "string",
- "legal_name": "string",
- "office": 0,
- "org_number": "string",
- "postgiro": "string"
}
{- "id": 0
}
This is the API resource for deleting estates.
id required | integer The primary key of the estate |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint will fetch information about an estate. It can be called without credentials to load the public information about the estate. If you are providing credentials to fetch your estate as a landlord you will receive more detailed information about the estate.
id required | integer The primary key of the estate |
Authorization | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "area_caption": "string",
- "area_description": "string",
- "area_image_caption": "string",
- "area_images": [
- {
- "id": 0,
- "url": "string"
}
], - "city": "string",
- "common_attributes": {
- "balcony": true,
- "bathtub": true,
- "dishwasher": true,
- "drier": true,
- "electricity_included": true,
- "elevator": true,
- "garage": true,
- "handicap_friendly": true,
- "heating_included": true,
- "internet_included": true,
- "kitchen_fan": true,
- "parking": true,
- "patio": true,
- "tv_included": true,
- "washing_machine": true
}, - "cover_caption": "string",
- "cover_description": "string",
- "estate_images": [
- {
- "id": 0,
- "url": "string"
}
], - "id": null,
- "name": "string"
}
This is the API resource for updating estates.
Rights required to update bankgiro
, postgiro
is entity.estate.update.bank_details
.
id required | integer The primary key of the estate |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
area_caption | string <= 70 characters |
area_description | string <= 3000 characters |
area_image_caption | string <= 70 characters |
bankgiro | string <= 128 characters |
city | string <= 128 characters ^[\w\s]+$ |
cover_caption | string <= 70 characters |
cover_description | string <= 3000 characters |
estate_owner | string <= 128 characters |
landlord_object_id | string or null <= 256 characters |
legal_name | string <= 128 characters |
org_number | string or null^(|[0-9]{6}-[0-9]{4})$ |
postgiro | string <= 128 characters |
{- "area_caption": "string",
- "area_description": "string",
- "area_image_caption": "string",
- "bankgiro": "string",
- "city": "string",
- "cover_caption": "string",
- "cover_description": "string",
- "estate_owner": "string",
- "landlord_object_id": "string",
- "legal_name": "string",
- "org_number": "string",
- "postgiro": "string"
}
This endpoint let's you update the existing tenants list. You need permission to modify the organization to access this endpoint. You can perform a maximum of 500 operations per request.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
required | Array of objects [ 1 .. 500 ] items |
{- "operations": [
- {
- "action": "create",
- "ssn": "string"
}
]
}
{- "created": 0,
- "deleted": 0
}
Fetches a static image with the provided geo location in the center at a specific zoom level.
company required | integer The id of the company requesting the map |
latitude required | number The latitude of the map. |
longitude required | number The longitude of the map. |
zoom | integer Default: 8 The zoom level of the map. |
width | integer Default: 715 The width of the resulting image. |
height | integer Default: 210 The height of the resulting image |
{- "description": "You have been rate limited. Please try again later.",
- "error": "RateLimited"
}
Fetches a static image with the provided geo location in the center at a specific zoom level.
company required | integer The id of the company requesting the map |
latitude required | number The latitude of the map. |
longitude required | number The longitude of the map. |
zoom | integer Default: 8 The zoom level of the map. |
width | integer Default: 715 The width of the resulting image. |
height | integer Default: 210 The height of the resulting image |
{- "description": "You have been rate limited. Please try again later.",
- "error": "RateLimited"
}
This endpoint allows you to list inventory (eg apartments, estates, object ads) that you have on HomeQ. By default it will include everything including and below your selected office. There is an option that will consider the root office. This endpoint will receive it's data from our elastic search instance which means it could be slightly out of sync if you just updated the listing or the linked apartment, estate, etc. We however ensure eventual consistency and the data will be up to date usually within a few seconds.
If the listing belongs to a project the project will be included in the response. If the listing is a draft it might be that the detailed data about the selected requirement profile is missing and the related section will be null.
When you mark a listing as rented or delete a listing it will not immediately be removed from our system. Due to notifications and other processes the listing will remain in this state until it is removed from the system after all the required background processes are completed. When you filter for rented or deleted listings it will include information about the application which has won the rental. (see also reserved listings - below)
amount | integer Default: 10 Limits the number of items on a page |
offset | integer Default: 0 Limits the number of items on a page |
type | string Enum: "estate" "apartment" "object_ad" Match apartments with specified landlord_object_id |
apartment.external_id | string Match apartments with specified landlord_object_id |
estate.external_id | string Match estates with specified landlord_object_id |
apartment.id | integer Filter for a specific apartment id. |
estate.id | integer Filter for a specific estate id. |
project.id | integer Filter for listings belonging to a specific project. |
listing.employee.id | integer Filter for listings that are assigned to a specific employee. |
exclude_projects | boolean Default: false Exclude listings that are part of a project. |
use_root_office | boolean Default: false Return everything below the root office of the caller instead of the selected office. |
listing.status | string (ObjectAdStatus) Enum: "closing" "approved" "active" "rented" "draft" "deleted" "reserved" "paused" "rejected" "publishing" Filter for listings matching specific status. |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "results": [
- {
- "apartment": {
- "address": {
- "city": "Stockholm",
- "county": "Stockholms Län",
- "lgh": "1574",
- "municipality": "Stockholm",
- "street_name": "Kungsgatan",
- "street_number": "16A",
- "zip_code": "16448"
}, - "amenities": {
- "electricity_included": true,
- "handicap_friendly": true,
- "has_balcony": true,
- "has_bathtub": true,
- "has_dishwasher": true,
- "has_drier": true,
- "has_elevator": true,
- "has_garage": true,
- "has_kitchen_fan": true,
- "has_pantry": true,
- "has_parking": true,
- "has_patio": true,
- "has_shower": true,
- "has_washing_machine": true,
- "heating_included": true,
- "internet_included": true,
- "tv_included": true,
- "water_included": true
}, - "area": 57,
- "external_id": "123-444",
- "floor": 3,
- "has_ad": true,
- "has_draft": false,
- "has_rentals": false,
- "id": 12,
- "images": [
- {
- "caption": "The balcony",
- "id": 1,
- "position": 1,
}
], - "location": {
- "lat": 13.998,
- "lon": 59.342
}, - "notes_count": 1,
- "rent": 6747,
- "rooms": 1.5
}, - "estate": {
- "city": "Stockholm",
- "company": {
- "id": 2,
- "name": "Sweden Real Estate AB"
}, - "external_id": "estate-1712-4453",
- "id": 4,
- "images": [
- {
- "caption": "The building",
- "id": 1,
- "position": 1,
}
], - "name": "Solrosen 1",
- "number_of_apartments": 12,
- "office": {
- "id": 3,
- "name": "Central Sweden"
}
}, - "identifier": "object_ad.17",
- "indexed_at": "2023-11-15T09:56:48.761296",
- "object_ad": {
- "access_on_agreement": false,
- "assignments": [
- {
- "first_name": "Malin",
- "id": 15,
- "landlord_profile_id": 3,
- "last_name": "Hansson"
}
], - "current_stats": {
- "approval_status": {
- "accepted": 3,
- "processing": 12,
- "rejected": 6
}, - "approval_status_for_contract_not_offered": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "offer_status": {
- "no": 4,
- "pending": 1,
- "yes": 3
}, - "timestamp": "2023-11-15T09:56:48.761296"
}, - "date_access": "2023-11-15T09:56:48.761296",
- "date_created": "2023-11-15T09:56:48.761296",
- "date_publish": "2023-11-15T09:56:48.761296",
- "id": 17,
- "is_short_lease": true,
- "nightly_stats": {
- "approval_status": {
- "accepted": 3,
- "processing": 12,
- "rejected": 6
}, - "offer_status": {
- "no": 4,
- "pending": 1,
- "yes": 3
}, - "timestamp": "2023-11-15T09:56:48.761296"
}, - "prior_access": true,
- "short_lease_max_date": "2023-11-15T09:56:48.761296",
- "short_lease_min_date": "2023-11-15T09:56:48.761296",
- "status": "active"
}, - "project": {
- "id": 12,
- "name": "Nyproduktion"
}, - "requirements": {
- "allows_pets": true,
- "allows_smoking": false,
- "is_senior": false,
- "is_student": false,
- "is_youth": false,
- "pk": 13
}, - "type": "object_ad"
}
], - "total": "1,"
}
This endpoint allows you to create a listing. Note that you require the permission 'entity.object_ad.create' to create it. If you want to modify the contract_system or the sorting_mode you also require the right: 'entity.object_ad.update.advanced'.
To create an listing that is part of a project there are two conditions that need to be met. First the
apartment needs to be linked to the project via the estate. Second, you need to set the is_project_rental
parameter to true. When creating a listing within a project some attributes are going to get their default values
from the project's configuration.
These attributes are:
If you do not provide the flag is_project_rental
, the listing will be created as a succession ad.
In both above cases you can create the listing as a draft. In a draft the listing will not be published and therefore not actively shown to potential customers. This is usually done when you do not have all the data available to publish the ad right away from another system which creates it. An employee can then review the ad and publish it when the missing data is provided. Usually this refers to the requirement profile and the access date.
Code | Error | Reason |
---|---|---|
412 | NoLinkedProject | There is no linked project. |
412 | ProjectNotActive | Project is not active |
412 | ApartmentHasAd | Can not create an Ad on an apartment that already has one. |
412 | MissingRequirement | You need to provide a requirement to create an Ad if not a Draft. |
403 | PermissionError | Requirement does not belong to the company |
403 | PermissionError | Office in question is not a sub office of the user |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
Optional description in Markdown
access_date | string or null <date> The date when the listing is available for access by the tenant. If omitted the access will be access on agreement. |
apartment required | integer The id of the apartment for which to create the listing. |
candidate_sorting_mode | string Enum: "queue_points" "random" "first_come_first" The mode in which the candidates are sorted. Note you need the right |
contract_system | string Enum: "external" "manual_selection" "automatic" "manual_selection_lock" "automatic_strict" The mode in which the listing is rented.
Note you need the right |
date_publish | string <date> The publish date of the listing. If not set or in the past the ad will be published immediately. If the ad is created as a draft this field will be ignored. |
is_draft | boolean Default: false If true, the listing will created in the draft state. |
is_project_rental | boolean Default: false If true, the apartment needs to be linked to a project via the estate. |
is_quick_apply | boolean If the listing is using quick apply, which allows tenants to apply without submitting any claims |
is_short_lease | boolean If the listing is a short lease. |
offer_notes | string or null Additional information that is send to the applicants when they are offered. |
prior_access | boolean Default: false If it is possible to access the listing before the stated access date.
Will be ignored if |
prioritize_customers | boolean If the listing should prioritize existing tenants. |
requirement | integer or null The id of the requirement profile that is used for this listing. Can be null if |
short_lease_max_date | string or null <date> The maximum date the tenant can stay in the apartment.
If |
short_lease_min_date | string or null <date> The minimum date until when the tenant will be guaranteed to stay in the apartment.
If |
{- "access_date": "2019-08-24",
- "apartment": 0,
- "candidate_sorting_mode": "queue_points",
- "contract_system": "external",
- "date_publish": "2019-08-24",
- "is_draft": false,
- "is_project_rental": false,
- "is_quick_apply": true,
- "is_short_lease": true,
- "offer_notes": "string",
- "prior_access": false,
- "prioritize_customers": true,
- "requirement": 0,
- "short_lease_max_date": "2019-08-24",
- "short_lease_min_date": "2019-08-24"
}
{- "id": 0
}
This endpoint allows you to delete an Ad. Note that you require the
permission entity.object_ad.delete
to delete a listing. If you delete a listing
all applicants will receive an email telling them that the ad is no longer available
and all applications are going to be deleted. This operation marks this listing
as deleted and a background job will delete the listing and all applications.
You can only delete listings that are in the status: approved
, active
, draft
, paused
Code | Error | Reason |
---|---|---|
412 | InvalidStatus | Cannot delete a listing in this status. |
412 | NoSuchObjectAd | There is no such ad with this id |
id required | integer The primary key of the listing |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "correlation_id": "string",
- "description": "string",
- "error": "string"
}
This endpoint will fetch a the detailed information about a listing. This information is slightly different from the other GET endpoint as it directly comes from the database. Please be aware that this endpoint has a rate limiting enforced at 60/m.
id required | integer The primary key of the listing |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "apartment": {
- "address": {
- "city": "string",
- "county": "string",
- "lgh": "string",
- "municipality": "string",
- "street_name": "string",
- "street_number": "string",
- "zip_code": "string"
}, - "amenities": {
- "electricity_included": true,
- "handicap_friendly": true,
- "has_balcony": true,
- "has_bathtub": true,
- "has_dishwasher": true,
- "has_drier": true,
- "has_elevator": true,
- "has_garage": true,
- "has_kitchen_fan": true,
- "has_pantry": true,
- "has_parking": true,
- "has_patio": true,
- "has_shower": true,
- "has_washing_machine": true,
- "heating_included": true,
- "internet_included": true,
- "tv_included": true,
- "water_included": true
}, - "area": 0,
- "description": "string",
- "external_id": "string",
- "floor": 0,
- "id": 0,
- "images": [
- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "rent": 0,
- "rooms": 0,
- "videos": [
- {
- "position": 0,
- "private": true,
- "url": "string"
}
]
}, - "estate": {
- "company": {
- "id": 0,
- "name": "string"
}, - "external_id": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
], - "name": "string",
}, - "object_ad": {
- "access_on_agreement": true,
- "approval_rejection_text": "string",
- "assignments": [
- {
- "first_name": "string",
- "id": 0,
- "landlord_profile_id": 0,
- "last_name": "string"
}
], - "batch_size": 0,
- "candidate_sorting_mode": "queue_points",
- "contract_system": "external",
- "current_stats": {
- "approval_status": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "approval_status_for_contract_not_offered": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "offer_status": {
- "no": 0,
- "pending": 0,
- "yes": 0
}, - "timestamp": "2019-08-24T14:15:22Z"
}, - "date_access": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z",
- "date_publish": "2019-08-24T14:15:22Z",
- "id": 0,
- "is_quick_apply": true,
- "is_short_lease": true,
- "offer_notes": "string",
- "prior_access": true,
- "prioritize_existing_tenants": true,
- "short_lease_max_date": "2019-08-24",
- "short_lease_min_date": "2019-08-24",
- "soft_requirements_id": 0,
- "start_processing_at": "2019-08-24T14:15:22Z",
- "status": "closing"
}, - "project": {
- "id": 0,
- "name": "string"
}, - "requirements": {
- "id": 0,
- "name": "string"
}
}
This endpoint allows you to update the properties of a listing.
Note that you require the permission entity.object_ad.update
on your
user rights profile to update a listing. If you want to modify the contract_system or
the sorting_mode you also require the right: 'entity.object_ad.update.advanced'.
When a listing is still in the draft status the requirements
can
be set to null. This is the main use of the draft status - to prepare
listings so they can be finalized by an employee in the landlord portal.
Code | Error | Reason |
---|---|---|
412 | AdDoesNotExist | Could not find the requested ad. |
412 | DateValidationError | The access date you provided is not valid |
id required | integer The primary key of the listing |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
Optional description in Markdown
access_date | string or null <date-time> The date when the listing is available for access. |
candidate_sorting_mode | string Enum: "queue_points" "random" "first_come_first" The mode in which the candidates are sorted. |
contract_system | string Enum: "external" "manual_selection" "automatic" "manual_selection_lock" "automatic_strict" The mode in which the listing is rented. |
date_publish | string <date> The date when the listing is published. |
is_short_lease | boolean Default: false If the listing is a short lease. |
offer_notes | string or null Additional information that is send to the applicants when they are offered. |
prior_access | boolean Default: false If the listing is available for prior access. |
prioritize_customers | boolean Default: false If the listing should prioritize existing tenants. |
requirement | integer or null >= 1 The requirement profile that is used for this listing. |
short_lease_max_date | string or null <date> The maximum date for a short lease. |
short_lease_min_date | string or null <date> The minimum date for a short lease. |
soft_requirements_id | integer or null The soft requirement configured to be used with almost approved |
status | string (ObjectAdStatus) Enum: "closing" "approved" "active" "rented" "draft" "deleted" "reserved" "paused" "rejected" "publishing" The different states an object ad can be in. |
{- "access_date": "2019-08-24T14:15:22Z",
- "candidate_sorting_mode": "queue_points",
- "contract_system": "external",
- "date_publish": "2019-08-24",
- "is_short_lease": false,
- "offer_notes": "string",
- "prior_access": false,
- "prioritize_customers": false,
- "requirement": 1,
- "short_lease_max_date": "2019-08-24",
- "short_lease_min_date": "2019-08-24",
- "soft_requirements_id": 0,
- "status": "closing"
}
{- "correlation_id": "string",
- "description": "string",
- "error": "string"
}
This endpoint allows you to create a file reference. When calling this endpoint you will receive a upload url and a file reference id. The upload url is used to directly upload your file to AWS. The reference id is used to refer to the file in subsequent calls.
If you do not receive a signed_url, it means that the file already exists and you should not upload it again. You can simply proceed with the file_reference id you received.
See the code example for a practical example of how to use this endpoint.
Code | Error | Reason |
---|---|---|
412 | InvalidEntityType | The supplied entity type is not valid. |
412 | InvalidMimeType | The supplied mime type is not valid with the entity type. |
412 | InvalidContentLength | Please specify a proper content length. |
412 | ExceedingContentLength | The upload you are attempting is to big. |
403 | PermissionDenied | You are not allowed to upload this entity. |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The JWT token that you received when you authenticated. Note that this endpoint can also be used by a consumer to upload a file for the chat. |
content_length required | integer <= 31457280 The content_length of the file in bytes |
content_md5 required | string The md5 hash of the file encoded in base64. |
content_name | string The native name of the file when it comes form the operating system during upload. |
entity_type required | string Enum: "project_image" "project_area_image" "estate_image" "estate_area_image" "apartment_image" "logo_image" "cover_image" |
mime_type required | string Enum: "image/jpeg" "image/jpg" "image/png" |
{- "content_length": 31457280,
- "content_md5": "string",
- "content_name": "string",
- "entity_type": "project_image",
- "mime_type": "image/jpeg"
}
{- "file_reference": "c4c21e6df6004060a1cda975afc689ec",
- "headers": {
- "content-md5": "RrCnCF6WCrKM+DVDwsr7cw==",
- "content-type": "text/plain",
- "x-amz-acl": "public-read"
},
}
Listing all offices of your company.
mode required | string Enum: "default" "manage" If provide 'manage' it will return all offices if you are able to manage the organization. |
office_id | integer If provided the results will be filtered down to only contain the filtered office. |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
[- {
- "batch_size": 0,
- "candidate_sorting_mode": "queue_points",
- "contract_system": "external",
- "default_email_for_contracts": true,
- "default_email_for_offers": true,
- "default_email_for_viewings": true,
- "description": "string",
- "email": "user@example.com",
- "employee_count": 0,
- "id": 0,
- "name": "string",
- "offer_min_response_time": 0,
- "offer_per_ad": 0,
- "offers_per_person": 0,
- "parent": 0,
- "time_to_next_engagement": 0
}
]
This endpoint creates a new office in your company. You need to provide the parent and a name for the office. It will be set as a child office to the given parent.
Code | Error | Reason |
---|---|---|
412 | OfficeEmailRequired | Office email required when it is flagged for use. |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
Something
batch_size | integer >= 2 Default: 5 |
candidate_sorting_mode | string (CandidateSortingMode) Default: "queue_points" Enum: "queue_points" "random" "first_come_first" The mode in which the candidates are sorted. |
contract_system | string (ContractSystem) Default: "manual_selection_lock" Enum: "external" "manual_selection" "automatic" "manual_selection_lock" "automatic_strict" |
default_email_for_contracts | boolean Should the contact email at the office be used for contracts. Requires the contact_email to be set. |
default_email_for_offers | boolean Should the contact email at the office be used for offers. Requires the contact_email to be set. |
default_email_for_viewings | boolean Should the contact email at the office be used for viewings. Requires the contact_email to be set. |
description | string A contact email at the office |
string <email> A contact email at the office. Is used when sending emails to applicants. | |
logo | string or null <base64> Base64 encoded image of the office logo |
name required | string Office name |
offer_min_response_time | integer >= 24 Default: 48 |
offer_per_ad | integer >= 1 Default: 5 If offering multiple people - this is the amount of people offered. |
offers_per_person | integer >= 1 Default: 3 |
parent required | integer Parent office id |
time_to_next_engagement | integer >= 1 Default: 5 Time in days for the next engagement can be made (Autopilot only) |
{- "batch_size": 5,
- "candidate_sorting_mode": "queue_points",
- "contract_system": "external",
- "default_email_for_contracts": true,
- "default_email_for_offers": true,
- "default_email_for_viewings": true,
- "description": "string",
- "email": "user@example.com",
- "logo": "string",
- "name": "string",
- "offer_min_response_time": 48,
- "offer_per_ad": 5,
- "offers_per_person": 3,
- "parent": 0,
- "time_to_next_engagement": 5
}
{- "id": 0
}
Update an existing landlord office.
id required | integer The id of the office to update |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
batch_size | integer >= 2 Default: 5 |
candidate_sorting_mode | string (CandidateSortingMode) Default: "queue_points" Enum: "queue_points" "random" "first_come_first" The mode in which the candidates are sorted. |
contract_system | string (ContractSystem) Default: "manual_selection_lock" Enum: "external" "manual_selection" "automatic" "manual_selection_lock" "automatic_strict" |
default_email_for_contracts | boolean Should the contact email at the office be used for contracts. Requires the contact_email to be set. |
default_email_for_offers | boolean Should the contact email at the office be used for offers. Requires the contact_email to be set. |
default_email_for_viewings | boolean Should the contact email at the office be used for viewings. Requires the contact_email to be set. |
description | string A contact email at the office |
string <email> A contact email at the office. Is used when sending emails to applicants. | |
logo | string or null <base64> Base64 encoded image of the office logo |
name | string Office name |
offer_min_response_time | integer >= 24 Default: 48 |
offer_per_ad | integer >= 1 Default: 5 If offering multiple people - this is the amount of people offered. |
offers_per_person | integer >= 1 Default: 3 |
parent | integer Parent office id |
time_to_next_engagement | integer >= 1 Default: 5 Time in days for the next engagement can be made (Autopilot only) |
{- "batch_size": 5,
- "candidate_sorting_mode": "queue_points",
- "contract_system": "external",
- "default_email_for_contracts": true,
- "default_email_for_offers": true,
- "default_email_for_viewings": true,
- "description": "string",
- "email": "user@example.com",
- "logo": "string",
- "name": "string",
- "offer_min_response_time": 48,
- "offer_per_ad": 5,
- "offers_per_person": 3,
- "parent": 0,
- "time_to_next_engagement": 5
}
This endpoint allows you to list all pictures. You have to have the right: entity.Project.update
project_id required | integer The primary key of the Project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{
}
This endpoint allows you to create a picture on an Project.
You are required to have the right: entity.Project.update
project_id required | integer The primary key of the Project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
position | string <= 70 characters |
title | string <= 70 characters |
url required | string <= 128 characters |
{- "position": "string",
- "title": "string",
- "url": "string"
}
{- "id": 0
}
This endpoint allows you to delete a specific video on an Project.
project_id required | integer The primary key of the Project |
3d_view_id required | integer The primary key of the Project video |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific video on an Project.
project_id required | integer The primary key of the Project |
3d_view_id required | integer The primary key of the Project video |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
position | integer |
title | string <= 70 characters |
url | string <= 70 characters |
{- "position": 0,
- "title": "string",
- "url": "string"
}
This endpoint allows you to list all pictures. You have to have the right: entity.Project.update
project_id required | integer The primary key of the Project |
picture_type required | string Enum: "project_image" "project_area_image" |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "results": [
]
}
This endpoint allows you to create a picture on an Project.
You are required to have the right: entity.Project.update
project_id required | integer The primary key of the Project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
caption | string <= 70 characters |
file_reference required | string <= 128 characters |
picture_type | string Default: "project_image" Enum: "project_image" "project_area_image" |
{- "caption": "string",
- "file_reference": "string",
- "picture_type": "project_image"
}
{- "id": 0
}
This endpoint allows you to delete a specific picture on an Project.
project_id required | integer The primary key of the Project |
picture_id required | integer The primary key of the Project picture |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific picture on an Project.
project_id required | integer The primary key of the Project |
picture_id required | integer The primary key of the Project picture |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
caption | string <= 255 characters |
position | integer |
{- "caption": "string",
- "position": 0
}
This endpoint allows you to list all pictures. You have to have the right: entity.Project.update
project_id required | integer The primary key of the Project |
Authorization | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "results": [
]
}
This endpoint allows you to create a video on a project.
project_id required | integer The primary key of the Project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
file_reference required | string <= 128 characters |
video_type | string Default: "project_video" Enum: "project_video" "project_area_video" |
{- "file_reference": "string",
- "video_type": "project_video"
}
{- "id": 0
}
This endpoint allows you to delete a specific video on an Project.
project_id required | integer The primary key of the Project |
video_id required | integer The primary key of the Project video |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific video on an Project.
project_id required | integer The primary key of the Project |
video_id required | integer The primary key of the Project video |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
position | integer |
{- "position": 0
}
This endpoint allows you to list all the projects you have access to.
external_id | string The external id of the project. |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "projects": [
- {
- "apartments": 0,
- "closed": true,
- "external_id": "string",
- "id": 0,
- "name": "string",
- "office": 0,
- "published": true,
- "status": "Closed"
}
]
}
This endpoint allows you to create a project.If you do not provide the office it will be created in your currently selected office.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
external_id | string <= 128 characters |
name required | string <= 128 characters |
office | integer |
{- "external_id": "string",
- "name": "string",
- "office": 0
}
{- "external_id": "string",
- "id": 0,
- "name": "string"
}
This endpoint allows you to delete a project.
id required | integer The primary key of the estate |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to fetch information about the project. This includes info about the project, area, settings as well as which modules are turned on on the project. It returns two different responses depending on whether you are providing authorization as a landlord or not.
project_id required | integer The primary key of the listing |
Authorization | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "apartment_count": 0,
- "area_info_description": "string",
- "area_info_header": "string",
- "candidate_sorting_mode": "queue_points",
- "close_date": "2019-08-24",
- "closed": true,
- "contract_system": "A",
- "freetext_entries": [
- {
- "description": "string",
- "id": 0,
- "position": 0,
- "title": "string"
}
], - "id": 0,
- "info_description": "string",
- "info_header": "string",
- "is_short_lease": true,
- "landlord": {
- "id": 0
}, - "name": "string",
- "office": {
- "id": 0
}, - "preliminary_move_in_date": "2019-08-24",
- "public_profile_slug": "string",
- "publish_date": "2019-08-24",
- "published": true,
- "range_information": {
- "area": [
- 0
], - "floor": [
- 0
], - "rent": [
- 0
], - "rooms": [
- 0
]
}, - "show_area_info_module": true,
- "show_area_media_module": true,
- "show_email_collection_module": true,
- "show_freetext_module": true,
- "show_timeline_module": true,
- "status": "Closed"
}
This endpoint allows you to update information to a project. If you want to publish the project you can patch the project with published=true. Note that there are some prerequisites in order to publish a project. Also once published you cannot delete it anymore through the API.
project_id required | integer The primary key of the project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
apartment_count | integer |
area_info_description | string or null <= 10000 characters |
area_info_header | string or null <= 128 characters |
candidate_sorting_mode | string Enum: "queue_points" "random" "first_come_first" Requires the right: |
closed | boolean |
contract_system | string Enum: "A" "B" "C" "D" "S" Requires the right: |
external_id | string <= 128 characters |
info_description | string <= 10000 characters |
info_header | string <= 128 characters |
is_short_lease | boolean |
name | string <= 128 characters |
preliminary_move_in_date | string or null <date> |
prioritize_existing_tenants | boolean |
published | boolean |
show_area_info_module | boolean |
show_area_media_module | boolean |
show_email_collection_module | boolean |
show_freetext_module | boolean |
show_timeline_module | boolean |
viewing_notes | string <= 3000 characters |
{- "apartment_count": 0,
- "area_info_description": "string",
- "area_info_header": "string",
- "candidate_sorting_mode": "queue_points",
- "closed": true,
- "contract_system": "A",
- "external_id": "string",
- "info_description": "string",
- "info_header": "string",
- "is_short_lease": true,
- "name": "string",
- "preliminary_move_in_date": "2019-08-24",
- "prioritize_existing_tenants": true,
- "published": true,
- "show_area_info_module": true,
- "show_area_media_module": true,
- "show_email_collection_module": true,
- "show_freetext_module": true,
- "show_timeline_module": true,
- "viewing_notes": "string"
}
This endpoint allows you to fetch list of all the freetext entries on a project.
project_id required | integer The primary key of the project |
Authorization | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "results": [
- {
- "description": "string",
- "id": 0,
- "position": 0,
- "title": "string"
}
]
}
This endpoint allows create a freetext entry on a project
project_id required | integer The primary key of the project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
description required | string |
position required | integer |
title required | string <= 256 characters |
{- "description": "string",
- "position": 0,
- "title": "string"
}
{- "id": 0
}
This endpoint allows you to delete a freetext entry on a project.
project_id required | integer The primary key of the project |
freetext_id required | integer The primary key of the freetext entry |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
date | string <date> |
description | string |
title | string <= 256 characters |
{- "date": "2019-08-24",
- "description": "string",
- "title": "string"
}
{- "id": 0
}
This endpoint allows updates on a freetext entry on a project
project_id required | integer The primary key of the project |
freetext_id required | integer The primary key of the timline entry |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
description | string |
position | integer |
title | string <= 256 characters |
{- "description": "string",
- "position": 0,
- "title": "string"
}
{- "id": 0
}
This endpoint allows you to fetch details about the location of a project
project_id required | integer The primary key of the project |
Authorization | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "city": "string",
- "latitude": 0,
- "longitude": 0,
- "street": "string",
- "street_number": "string",
- "zip_code": "string"
}
This endpoint allows updates on the location of a project
project_id required | integer The primary key of the project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
city required | string <= 128 characters |
latitude required | number |
longitude required | number |
street | string <= 128 characters |
street_number | string <= 16 characters |
zip_code | string <= 32 characters |
{- "city": "string",
- "latitude": 0,
- "longitude": 0,
- "street": "string",
- "street_number": "string",
- "zip_code": "string"
}
This endpoint allows you to fetch list of all the timeline entries on a project.
project_id required | integer The primary key of the project |
Authorization | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "results": [
- {
- "date": "2019-08-24",
- "description": "string",
- "id": 0,
- "title": "string"
}
]
}
This endpoint allows create a timeline entry on a project
project_id required | integer The primary key of the project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
date required | string <date> |
description required | string |
title required | string <= 256 characters |
{- "date": "2019-08-24",
- "description": "string",
- "title": "string"
}
{- "id": 0
}
This endpoint allows you to delete a timeline entry on a project.
project_id required | integer The primary key of the project |
timeline_id required | integer The primary key of the timline entry |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
date | string <date> |
description | string |
title | string <= 256 characters |
{- "date": "2019-08-24",
- "description": "string",
- "title": "string"
}
{- "id": 0
}
This endpoint allows updates on a timeline entry on a project
project_id required | integer The primary key of the project |
timeline_id required | integer The primary key of the timline entry |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
date | string <date> |
description | string |
title | string <= 256 characters |
{- "date": "2019-08-24",
- "description": "string",
- "title": "string"
}
{- "id": 0
}
This endpoint lists all estates that are associated with this specific project.
id required | integer The id of the project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
[- {
- "ads": 0,
- "apartments": 0,
- "id": 0,
- "name": "string"
}
]
This endpoint allows you to remove an estate from a project.
Code | Error | Reason |
---|---|---|
412 | NotInProject | This estate is not part of this project. |
412 | HasAds | This estate has ads. You cannot remove this estate from the project. |
id required | integer The id of the project to fetch the inventory for |
estate_id required | integer The id of the estate to remove from the project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "correlation_id": "string",
- "description": "string",
- "error": "string"
}
This endpoint allows you to add an estate to a project. This is a prerequisite for creating listings that are associated with this project.
Code | Error | Reason |
---|---|---|
412 | ProjectClosed | Project is already closed |
412 | IllegalOfficeHierarchy | Estate and project need to belong to the same office |
412 | AlreadyInProject | This estate is already added in a project. |
id required | integer The id of the project |
estate_id required | integer The id of the estate to add to the project |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to see all the apartments that are part of the project including the information about listings that are already created for the apartments within the context of the project. Note that an apartment could have a listing that is not part of the project and therefore will not be visible here. In which stage of the overall process the apartment within the project is can be deduced from the response you receive:
Has Listing | Has Snapshots | Conclusion |
---|---|---|
❌ | ❌ | The apartment was not rented out yet. |
✅ | ❌ | The apartment is currently being rented. The status will give more details. |
❌ | ✅ | The apartment was rented and the snapshot shows details about the rental. |
✅ | ✅ | The apartment was rented but is being rented again within the project. |
id required | integer The id of the project to fetch the inventory for |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "results": [
- {
- "apartment": {
- "id": 0,
- "landlord_object_id": 0,
- "national_id": "string",
- "notes_count": 0,
- "rent": 0,
- "rooms": 0,
- "street": "string",
- "street_number": "string"
}, - "estate": {
- "id": 0,
- "name": "string"
}, - "object_ad": {
- "applications": 0,
- "id": 0,
- "move_in_date": "2019-08-24T14:15:22Z",
- "prior_access_available": true,
- "requirement": 0,
- "status": "closing"
}, - "snapshots": [
- {
- "closed": "2019-08-24T14:15:22Z",
- "employee": "string",
- "outcome": "Rented"
}
]
}
]
}
Fetching a list of requirement profile in your company.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "requirements": [
- {
- "activity_compensation": false,
- "activity_grant": false,
- "ad_count": 0,
- "bankruptcy": false,
- "benefit_apartment": false,
- "care_allowance": false,
- "child_allowance": false,
- "create_date": "2019-08-24T14:15:22Z",
- "debt_sanitization": false,
- "employment_permanent": false,
- "employment_temporary": false,
- "extra_residents": 0,
- "id": 0,
- "income_child_pension": true,
- "income_development_allowance": true,
- "income_establishment_supplement": true,
- "income_extra_cost_allowance": true,
- "income_housing_supplement": false,
- "income_housing_support": false,
- "income_living_expense_supplement": false,
- "income_parental_leave": true,
- "income_sick_leave": true,
- "income_student": false,
- "living_standard_factor": 1,
- "maintenance_allowance": false,
- "maintenance_support": false,
- "move_frequency": 0,
- "name": "string",
- "outstanding_debt": false,
- "parent_requirements_id": 0,
- "payment_remarks": 0,
- "pets": false,
- "rent_calculation_type": "RENT_FACTOR",
- "rent_factor": 0,
- "senior": false,
- "senior_age": 65,
- "smoking": false,
- "student": false,
- "unemployment_benefit": false,
- "update_date": "2019-08-24T14:15:22Z",
- "warrantor": false,
- "warrantor_rent_factor": 0,
- "youth": false,
- "youth_age": 25
}
]
}
Create a new requirement profile for your company. You can choose various flags that are background checked when a candidate applies. For the income calculation you have two options.
With a rent factor the income of the applicant needs to be higher than n times the rent.
With income after rent we calculate first how much income a person has left after they paid their rent. The result is compared against the normal amount defined by Kronofogden. You can define a factor to increase the requirement as a multiple of Kronofogden suggestion.
If you set benefit_apartment=True this means this apartment will be rented as a benefit apartment. This means all income_benefit's are allowed and the rent_calculation_type='MONEY_AFTER_RENT'.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
activity_compensation | boolean Default: false |
activity_grant | boolean Default: false |
bankruptcy | boolean Default: false |
benefit_apartment | boolean Default: false |
care_allowance | boolean Default: false |
child_allowance | boolean Default: false |
debt_sanitization | boolean Default: false |
employment_permanent | boolean Default: false |
employment_temporary | boolean Default: false |
extra_residents | integer >= 0 Default: 0 |
income_child_pension | boolean Default: true |
income_development_allowance | boolean Default: true |
income_establishment_supplement | boolean Default: true |
income_extra_cost_allowance | boolean Default: true |
income_housing_supplement | boolean Default: false |
income_housing_support | boolean Default: false |
income_living_expense_supplement | boolean Default: false |
income_parental_leave | boolean Default: true |
income_sick_leave | boolean Default: true |
income_student | boolean Default: false |
living_standard_factor | number Default: 1 |
maintenance_allowance | boolean Default: false |
maintenance_support | boolean Default: false |
move_frequency | integer >= 0 Default: 0 |
name required | string <= 256 characters |
outstanding_debt | boolean Default: false |
parent_requirements_id | integer Default: null |
payment_remarks | integer >= 0 Default: 0 |
pets | boolean Default: false |
rent_calculation_type | string Default: "RENT_FACTOR" Enum: "RENT_FACTOR" "MONEY_AFTER_RENT" |
rent_factor | number >= 0 Default: 0 |
senior | boolean Default: false |
senior_age | integer Default: 65 |
smoking | boolean Default: false |
student | boolean Default: false |
unemployment_benefit | boolean Default: false |
warrantor | boolean Default: false |
warrantor_rent_factor | number >= 0 Default: 0 |
youth | boolean Default: false |
youth_age | integer Default: 25 |
{- "activity_compensation": false,
- "activity_grant": false,
- "bankruptcy": false,
- "benefit_apartment": false,
- "care_allowance": false,
- "child_allowance": false,
- "debt_sanitization": false,
- "employment_permanent": false,
- "employment_temporary": false,
- "extra_residents": 0,
- "income_child_pension": true,
- "income_development_allowance": true,
- "income_establishment_supplement": true,
- "income_extra_cost_allowance": true,
- "income_housing_supplement": false,
- "income_housing_support": false,
- "income_living_expense_supplement": false,
- "income_parental_leave": true,
- "income_sick_leave": true,
- "income_student": false,
- "living_standard_factor": 1,
- "maintenance_allowance": false,
- "maintenance_support": false,
- "move_frequency": 0,
- "name": "string",
- "outstanding_debt": false,
- "parent_requirements_id": null,
- "payment_remarks": 0,
- "pets": false,
- "rent_calculation_type": "RENT_FACTOR",
- "rent_factor": 0,
- "senior": false,
- "senior_age": 65,
- "smoking": false,
- "student": false,
- "unemployment_benefit": false,
- "warrantor": false,
- "warrantor_rent_factor": 0,
- "youth": false,
- "youth_age": 25
}
{- "id": 0
}
Delete an existing requirement profile. Be aware that you can not delete a requirement profile that is still associated with ads.
id required | integer The primary key of the requirement profile |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
Fetching a specific Requirement Profile given it's id.
id required | integer The primary key of the requirement profile |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "activity_compensation": false,
- "activity_grant": false,
- "ad_count": 0,
- "bankruptcy": false,
- "benefit_apartment": false,
- "care_allowance": false,
- "child_allowance": false,
- "create_date": "2019-08-24T14:15:22Z",
- "debt_sanitization": false,
- "employment_permanent": false,
- "employment_temporary": false,
- "extra_residents": 0,
- "id": 0,
- "income_child_pension": true,
- "income_development_allowance": true,
- "income_establishment_supplement": true,
- "income_extra_cost_allowance": true,
- "income_housing_supplement": false,
- "income_housing_support": false,
- "income_living_expense_supplement": false,
- "income_parental_leave": true,
- "income_sick_leave": true,
- "income_student": false,
- "living_standard_factor": 1,
- "maintenance_allowance": false,
- "maintenance_support": false,
- "move_frequency": 0,
- "name": "string",
- "outstanding_debt": false,
- "parent_requirements_id": 0,
- "payment_remarks": 0,
- "pets": false,
- "rent_calculation_type": "RENT_FACTOR",
- "rent_factor": 0,
- "senior": false,
- "senior_age": 65,
- "smoking": false,
- "student": false,
- "unemployment_benefit": false,
- "update_date": "2019-08-24T14:15:22Z",
- "warrantor": false,
- "warrantor_rent_factor": 0,
- "youth": false,
- "youth_age": 25
}
Update an existing requirement profile. When updating a requirement profile be aware that there are some automatic adjustments that might be performed when you change fields that depend on each other. Check the POST request for details.
id required | integer The primary key of the requirement profile |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
activity_compensation | boolean Default: false |
activity_grant | boolean Default: false |
bankruptcy | boolean Default: false |
benefit_apartment | boolean Default: false |
care_allowance | boolean Default: false |
child_allowance | boolean Default: false |
debt_sanitization | boolean Default: false |
employment_permanent | boolean Default: false |
employment_temporary | boolean Default: false |
extra_residents | integer >= 0 Default: 0 |
income_child_pension | boolean Default: true |
income_development_allowance | boolean Default: true |
income_establishment_supplement | boolean Default: true |
income_extra_cost_allowance | boolean Default: true |
income_housing_supplement | boolean Default: false |
income_housing_support | boolean Default: false |
income_living_expense_supplement | boolean Default: false |
income_parental_leave | boolean Default: true |
income_sick_leave | boolean Default: true |
income_student | boolean Default: false |
living_standard_factor | number Default: 1 |
maintenance_allowance | boolean Default: false |
maintenance_support | boolean Default: false |
move_frequency | integer >= 0 Default: 0 |
name | string <= 256 characters |
outstanding_debt | boolean Default: false |
payment_remarks | integer >= 0 Default: 0 |
pets | boolean Default: false |
rent_calculation_type | string Default: "RENT_FACTOR" Enum: "RENT_FACTOR" "MONEY_AFTER_RENT" |
rent_factor | number >= 0 Default: 0 |
senior | boolean Default: false |
senior_age | integer Default: 65 |
smoking | boolean Default: false |
student | boolean Default: false |
unemployment_benefit | boolean Default: false |
warrantor | boolean Default: false |
warrantor_rent_factor | number >= 0 Default: 0 |
youth | boolean Default: false |
youth_age | integer Default: 25 |
{- "activity_compensation": false,
- "activity_grant": false,
- "bankruptcy": false,
- "benefit_apartment": false,
- "care_allowance": false,
- "child_allowance": false,
- "debt_sanitization": false,
- "employment_permanent": false,
- "employment_temporary": false,
- "extra_residents": 0,
- "income_child_pension": true,
- "income_development_allowance": true,
- "income_establishment_supplement": true,
- "income_extra_cost_allowance": true,
- "income_housing_supplement": false,
- "income_housing_support": false,
- "income_living_expense_supplement": false,
- "income_parental_leave": true,
- "income_sick_leave": true,
- "income_student": false,
- "living_standard_factor": 1,
- "maintenance_allowance": false,
- "maintenance_support": false,
- "move_frequency": 0,
- "name": "string",
- "outstanding_debt": false,
- "payment_remarks": 0,
- "pets": false,
- "rent_calculation_type": "RENT_FACTOR",
- "rent_factor": 0,
- "senior": false,
- "senior_age": 65,
- "smoking": false,
- "student": false,
- "unemployment_benefit": false,
- "warrantor": false,
- "warrantor_rent_factor": 0,
- "youth": false,
- "youth_age": 25
}
This endpoint will provide you with a list of possible rejection reasons. The rejection reasons are necessary for rejecting a reserved candidate as they will be informed on which grounds their reservation i rejected.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "reasons": [
- {
- "description": "string",
- "id": 0
}
]
}
This endpoint will allow you to confirm a reserved candidate. Confirming a candidate will change te ad status to rented which will trigger a background process that within a few seconds will result in the Ad being closed. All other applicants will receive an email that they did not get the apartment. The confirmed applicant will receive an email telling them that they got the apartment.
object_ad_id required | integer The primary key of the ad we are rejecting the reservation for |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint will allow you to reject the reserved candidate. You'll need to provide a rejection reason id denominating on which grounds the candidate is rejected. Rejecting the candidate will inform them about the rejection via email and move the Ad back to Active. This means people can apply on the Ad again and another candidate can be chosen.
object_ad_id required | integer The primary key of the ad we are rejecting the reservation for |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
reason required | integer The id of the reason why the applicant is rejected |
{- "reason": 0
}
This endpoint allows you to fetch all the rights profiles for your company.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "right_profiles": [
- {
- "company": 0,
- "employees": 0,
- "id": 0,
- "name": "string",
- "rights": [
- "string"
]
}
]
}
This endpoint allows you to create a new rights profile within your company.
You need the right: entity.right_profile.create
to make changes.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
name required | string >= 5 characters You can change your own first_name. |
rights required | Array of strings You can change your own last_name. |
{- "name": "string",
- "rights": [
- "string"
]
}
{- "company": 0,
- "id": 0,
- "name": "string",
- "rights": [
- "string"
]
}
This endpoint allows you to delete a rights profile within your company.
You need the right: entity.right_profile.delete
to make changes.
right_profile_id required | integer The primary key of the employee |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to update a rights profile within your company.
You need the right: entity.right_profile.update
to make changes.
right_profile_id required | integer The primary key of the employee |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
name required | string >= 5 characters You can change your own first_name. |
rights required | Array of strings non-empty You can change your own last_name. |
{- "name": "string",
- "rights": [
- "string"
]
}
{- "company": 0,
- "id": 0,
- "name": "string",
- "rights": [
- "string"
]
}
This endpoint will return a list of rights that can be assigned to a rights profile.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "rights": [
- {
- "description": "string",
- "name": "string",
- "path": "string"
}
]
}
This endpoint fetches all the notes of a user for your company.
user_profile required | integer The profile id you want to fetch the notes for. |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
{- "notes": [
- {
- "author": null,
- "created": "2019-08-24T14:15:22Z",
- "id": 0,
- "text": "string",
- "updated": "2019-08-24T14:15:22Z"
}
]
}
This endpoint creates a note on a user for your company.
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
Something
text required | string <= 3500 characters The text of the note |
user_profile required | integer The profile id you want to create the note for. |
{- "text": "string",
- "user_profile": 0
}
{- "author": null,
- "created": "2019-08-24T14:15:22Z",
- "id": 0,
- "text": "string",
- "updated": "2019-08-24T14:15:22Z"
}
This endpoint allows you to delete a specific note on an User.
note_id required | integer The primary key of the User note |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
This endpoint allows you to delete a specific video on an User.
note_id required | integer The primary key of the note |
Authorization required | stringJWT [A-Za-z0-9_-]+\.[A-Za-z0-9_-]+\.[A-Za-z0-... The authorization token for the calling user. this can be a token authenticating you as an employee or a consumer authentication token. |
text | string <= 3500 characters |
{- "text": "string"
}
This event is triggered to your system via a HTTP POST request when an agreement is created.
Webhook event
agreement_id required | integer The id of the affected agreement. |
apartment_id required | integer The apartment id which was reserved. |
company_id required | integer The company id on which the event happened. |
created required | string The timestamp the event was created. |
required | object The employee who rented out the listing |
object_ad_id required | integer The object_ad that was reserved. |
office_id required | integer The root office id on which the event happened. |
type required | string Value: "signing_completed" |
uuid required | string A unique id for the event. |
{- "agreement_id": 0,
- "apartment_id": 0,
- "company_id": 0,
- "created": "string",
- "employee": {
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "user_id": 0
}, - "object_ad_id": 0,
- "office_id": 0,
- "type": "signing_completed",
- "uuid": "string"
}
This event is triggered to your system via a HTTP POST request when a consumer starts or stops following a project.
Webhook event
company_id required | integer The company id on which the event happened. |
created required | string The timestamp the event was created. |
email_id required | string <email> The email of the consumer |
first_name required | string The first name of the consumer |
interaction_type required | string Enum: "UNSUBSCRIBED" "SUBSCRIBED" The type of interaction |
last_name required | string The last name of the consumer |
office_id required | integer The office id on which the event happened. |
project_id required | integer The id of the affected project. |
ssn required | string or null The ssn of the consumer |
type required | string Value: "reservation" |
uuid required | string A unique id for the event. |
{- "company_id": 0,
- "created": "string",
- "email_id": "user@example.com",
- "first_name": "string",
- "interaction_type": "UNSUBSCRIBED",
- "last_name": "string",
- "office_id": 0,
- "project_id": 0,
- "ssn": "string",
- "type": "reservation",
- "uuid": "string"
}
This event is triggered to your system via a HTTP POST request when a listing is reserved.
Webhook event
apartment_id required | integer The id of the affected apartment. |
required | object (UserReservationInfo) Information about this specific actor |
company_id required | integer The company id on which the event happened. |
created required | string The timestamp the event was created. |
required | object (ReservationEmployeeInfo) The employee who reserved the listing |
object (UserReservationInfo) Information about this specific actor | |
object_ad_id required | integer The id of the affected listing. |
office_id required | integer The office id on which the event happened. |
type required | string Value: "reservation" |
uuid required | string A unique id for the event. |
object (UserReservationInfo) Information about this specific actor |
{- "apartment_id": 0,
- "applicant": {
- "city": "string",
- "date_of_birth": "2019-08-24",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "phone": "string",
- "ssn": "string",
- "street": "string",
- "zip_code": "string"
}, - "company_id": 0,
- "created": "string",
- "employee": {
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string"
}, - "fellow": {
- "city": "string",
- "date_of_birth": "2019-08-24",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "phone": "string",
- "ssn": "string",
- "street": "string",
- "zip_code": "string"
}, - "object_ad_id": 0,
- "office_id": 0,
- "type": "reservation",
- "uuid": "string",
- "warrantor": {
- "city": "string",
- "date_of_birth": "2019-08-24",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "phone": "string",
- "ssn": "string",
- "street": "string",
- "zip_code": "string"
}
}
This event is triggered to your system via a HTTP POST request when a signature is made.
Webhook event
apartment_id required | integer The id of the affected apartment. |
company_id required | integer The company id on which the event happened. |
created required | string The timestamp the event was created. |
object_ad_id required | integer The id of the affected listing. |
office_id required | integer The office id on which the event happened. |
signatory_name required | string The first and last name of the signatory. |
signatory_type required | string Enum: "LANDLORD" "TENANT" "WARRANTOR" The type of signatory |
type required | string Value: "application_signature" |
uuid required | string A unique id for the event. |
{- "apartment_id": 0,
- "company_id": 0,
- "created": "string",
- "object_ad_id": 0,
- "office_id": 0,
- "signatory_name": "string",
- "signatory_type": "LANDLORD",
- "type": "application_signature",
- "uuid": "string"
}
This event is triggered to your system via a HTTP POST request when a signing is completed.
apartment_id required | integer The id of the affected apartment. |
company_id required | integer The company id on which the event happened. |
created required | string The timestamp the event was created. |
object_ad_id required | integer The id of the affected listing. |
office_id required | integer The office id on which the event happened. |
required | Array of objects |
type required | string Value: "signing_completed" |
uuid required | string A unique id for the event. |
{- "apartment_id": 0,
- "company_id": 0,
- "created": "string",
- "object_ad_id": 0,
- "office_id": 0,
- "signatories": [
- {
- "email": "string",
- "first_name": "string",
- "last_name": "string",
- "signatory_type": "LANDLORD",
- "ssn": "string"
}
], - "type": "signing_completed",
- "uuid": "string"
}
city | string The city of the address |
county | string The county of the address |
lgh | string The lgh of the address |
municipality | string The municipality of the address |
street_name | string The street name of the address |
street_number | string The street number of the address |
zip_code | string The zip code of the address |
{- "city": "string",
- "county": "string",
- "lgh": "string",
- "municipality": "string",
- "street_name": "string",
- "street_number": "string",
- "zip_code": "string"
}
electricity_included | boolean If the electricity is included |
handicap_friendly | boolean If the apartment is handicap friendly |
has_balcony | boolean If the apartment has a balcony |
has_bathtub | boolean If the apartment has a bathtub |
has_dishwasher | boolean If the apartment has a dishwasher |
has_drier | boolean If the apartment has a drier |
has_elevator | boolean If the apartment has an elevator |
has_garage | boolean If the apartment has a garage |
has_kitchen_fan | boolean If the apartment has a kitchen fan |
has_pantry | boolean If the apartment has a pantry |
has_parking | boolean If the apartment has parking |
has_patio | boolean If the apartment has a patio |
has_shower | boolean If the apartment has a shower |
has_washing_machine | boolean If the apartment has a washing machine |
heating_included | boolean If the heating is included |
internet_included | boolean If the internet is included |
tv_included | boolean If the tv is included |
water_included | boolean If the water is included |
{- "electricity_included": true,
- "handicap_friendly": true,
- "has_balcony": true,
- "has_bathtub": true,
- "has_dishwasher": true,
- "has_drier": true,
- "has_elevator": true,
- "has_garage": true,
- "has_kitchen_fan": true,
- "has_pantry": true,
- "has_parking": true,
- "has_patio": true,
- "has_shower": true,
- "has_washing_machine": true,
- "heating_included": true,
- "internet_included": true,
- "tv_included": true,
- "water_included": true
}
apartment | integer |
author | any |
context | string |
created | string <date-time> |
id | integer |
text | string |
updated | string <date-time> |
{- "apartment": 0,
- "author": null,
- "context": "string",
- "created": "2019-08-24T14:15:22Z",
- "id": 0,
- "text": "string",
- "updated": "2019-08-24T14:15:22Z"
}
conversations_count | integer The number of conversations |
id | integer The id of the application |
Array of objects | |
queue_points | integer The queue points |
{- "conversations_count": 0,
- "id": 0,
- "profiles": [
- {
- "connection_type": "A",
- "email": "string",
- "first_name": "string",
- "full_name": "string",
- "id": 0,
- "last_name": "string",
- "main_applicant": true,
- "personal_number": "string"
}
], - "queue_points": 0
}
object | |
object | |
object | |
timestamp | string <date-time> The timestamp of the stats |
{- "approval_status": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "approval_status_for_contract_not_offered": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "offer_status": {
- "no": 0,
- "pending": 0,
- "yes": 0
}, - "timestamp": "2019-08-24T14:15:22Z"
}
object The details of the approval check | |
id | string Enum: "APPLICANT_GROUP_PAYMENT_REMARKS" "APPLICANT_GROUP_BANKRUPTCY" "APPLICANT_GROUP_OUTSTANDING_DEBT" "APPLICANT_GROUP_DEBT_SANITIZATION" "APPLICANT_GROUP_MOVE_FREQUENCY" "APPLICANT_GROUP_RESIDENT_COUNT" "APPLICANT_GROUP_INCOME" "APPLICANT_GROUP_REQUIRES_STUDENT" "APPLICANT_GROUP_REQUIRES_YOUTH" "APPLICANT_GROUP_REQUIRES_SENIOR" "APPLICANT_GROUP_CREDIT_REPORT_CONSENT" "APPLICANT_GROUP_CREDIT_REPORT_EXPIRED" "APPLICANT_GROUP_PROTECTED_ID" "WARRANTOR_INCOME" "WARRANTOR_PAYMENT_REMARKS" "WARRANTOR_BANKRUPTCY" "WARRANTOR_OUTSTANDING_DEBT" "WARRANTOR_DEBT_SANITIZATION" "WARRANTOR_CREDIT_REPORT_CONSENT" "WARRANTOR_CREDIT_REPORT_EXPIRED" "WARRANTOR_PROTECTED_ID" The id of the approval check, this is used to identify the check |
is_value | integer The actual value |
label | string A label provided by some of the approval check |
ought_value | integer The expected value, note that this could mean different things depending on the check, for example more than the is_value or equal to the is_value or it might not even be used at all. |
status | string Enum: "pending" "success" "failure" The status of the approval check |
{- "details": {
- "profile_id": null
}, - "id": "APPLICANT_GROUP_PAYMENT_REMARKS",
- "is_value": 0,
- "label": "string",
- "ought_value": 0,
- "status": "pending"
}
first_name | string The first name of the assignee |
id | integer The id of the assignee |
landlord_profile_id | integer The id of the landlord profile |
last_name | string The last name of the assignee |
[- {
- "first_name": "string",
- "id": 0,
- "landlord_profile_id": 0,
- "last_name": "string"
}
]
Array of IndividualCard (object) or ProjectCard (object) A list of cards that match the search query. | |
total_hits | integer The total amount of hits the search returned |
{- "results": [
- {
- "boost_value": 0,
- "city": "string",
- "county": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "image": "string",
- "position": 0
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "municipality": "string",
- "references": {
- "apartment": 0,
- "company": 0,
- "estate": 0,
- "object_ad": 0,
- "office": 0,
- "project": 0
}, - "type": "project",
- "uri": "string",
- "videos": [
- {
- "position": 0,
- "url": "string"
}
], - "area": 0,
- "audience": "everyone",
- "date_access": "2019-08-24",
- "is_short_lease": true,
- "rent": 0,
- "rooms": 0,
- "title": "string"
}
], - "total_hits": 0
}
object | |
by_qasa | boolean |
date_created | string <datetime> |
date_processed | string <datetime> |
expiry_date | string <date> |
id | integer |
income | integer The income assigned to the claim if it comes from documents |
income_source | string (IncomeSource) Enum: "t" "d" "n" Whether the claim should draw its income from tink or documents or if it is not applicable. |
merged_file | string or null <uri> URI to the PDF that contains all parts merged |
original_claim_id | integer or null The original claim id if this claim is a resubmission |
reason | string The rejection reason for the claim if rejected |
status | string Enum: "d" "p" "r" "a" "x" The status of the claim, whether it is draft, pending, rejected, approved or deleted |
type | string (ClaimType) Enum: "employment" "retired" "student" "entrepreneur" "retired_disabled" "parental_leave" "livingexpensesupplement" "housingsupplement" "housingsupport" "unemployed" "other" "activitycompensation" "activitygrant" "unemploymentbenefit" "careallowance" "maintenanceallowance" "maintenancesupport" "childallowance" "establishmentallowance" "establishmentsupplement" "childpension" "developmentallowance" "extracostallowance" "sickleave" "sickleaveallowance" The allowed claim types based on the current claims |
{- "attributes": {
- "description": "string",
- "duration": "EMPLOYMENT_FIXED",
- "org_type": "LIMITED_COMPANY"
}, - "by_qasa": true,
- "date_created": "string",
- "date_processed": "string",
- "expiry_date": "2019-08-24",
- "id": 0,
- "income": 0,
- "income_source": "t",
- "original_claim_id": 0,
- "reason": "string",
- "status": "d",
- "type": "employment"
}
The duration of the employment if it is an employment or parental leave claim.
"EMPLOYMENT_FIXED"
The classification of the file
"EMPLOYMENT_CONTRACT"
The description if the claim is of type other
"LIMITED_COMPANY"
balcony | boolean |
bathtub | boolean |
dishwasher | boolean |
drier | boolean |
electricity_included | boolean |
elevator | boolean |
garage | boolean |
handicap_friendly | boolean |
heating_included | boolean |
internet_included | boolean |
kitchen_fan | boolean |
parking | boolean |
patio | boolean |
tv_included | boolean |
washing_machine | boolean |
{- "balcony": true,
- "bathtub": true,
- "dishwasher": true,
- "drier": true,
- "electricity_included": true,
- "elevator": true,
- "garage": true,
- "handicap_friendly": true,
- "heating_included": true,
- "internet_included": true,
- "kitchen_fan": true,
- "parking": true,
- "patio": true,
- "tv_included": true,
- "washing_machine": true
}
bankgiro | string The bankgiro number |
object or null (SingleImage) | |
external_reservation_link | string The url that we redirect to when a handling reservations outside of HomeQ. We will make a GET request appending the object_ad_id as a parameter. |
has_fast_api_key | boolean Whether or not there is an api key for fastighetsägarna dokument |
id | integer The id of the company |
object or null (SingleImage) | |
minimum_up_time | integer The minimum time the ad has to be available before offering it to candidates. (Minimum = 24) |
name | string The name of the company |
org_number | string The org_number number |
postgiro | string The postgiro number |
object |
{- "bankgiro": "string",
- "cover_image": {
- "id": 0,
- "thumbnail_url": "string",
- "url": "string"
}, - "external_reservation_link": "string",
- "has_fast_api_key": true,
- "id": 0,
- "logo_image": {
- "id": 0,
- "thumbnail_url": "string",
- "url": "string"
}, - "minimum_up_time": 0,
- "name": "string",
- "org_number": "string",
- "postgiro": "string",
- "tier": {
- "enabled_features": [
- "analytics_tool"
], - "id": 0,
- "name": "string"
}
}
object | |
created | string |
digital_contract | string <uri> |
id | integer |
object | |
movello_session_url | string <uri> |
{- "apartment": {
- "city": "string",
- "country": "string",
- "display_image": "string",
- "street": "string",
- "street_nr": "string"
}, - "created": "string",
- "id": 0,
- "landlord": {
- "name": "string"
},
}
object | |
object | |
auto_close_at | string The caption of the image |
object | |
created | string The caption of the image |
Array of objects (Message) The caption of the image | |
object | |
pk | integer The id of the image |
object | |
status | string The caption of the image |
{- "apartment": {
- "external_id": 0,
- "rent": 0,
- "rooms": 0,
- "street": 0
}, - "application": {
- "id": 0,
- "profiles": [
- {
- "connection_type": "string",
- "id": 0,
- "name": "string"
}
]
}, - "auto_close_at": "string",
- "company": {
- "id": 0,
- "name": "string"
}, - "created": "string",
- "messages": [
- {
- "author_name": "string",
- "author_type": "string",
- "content": {
- "text": "string",
- "type": 0
}, - "id": 0,
- "receipts": [
- {
- "id": 0,
- "notified_at": "string",
- "recipient_id": "string",
- "recipient_type": "string",
- "seen_at": "string"
}
]
}
], - "object_ad": {
- "id": 0
}, - "pk": 0,
- "project": {
- "id": 0
}, - "status": "string"
}
apartment_id | integer |
digital_contract | string <uri> |
digital_contract_fields | object The fields that we received from fastighetsägerna for the digital contract in an easy machine readable format. |
string <email> | |
first_name | string |
id | integer |
kyc_verification_id | string |
last_name | string |
profile_card | string <uri> |
sign_date | string <date> |
ssn | string |
user_profile_id | integer |
{- "apartment_id": 0,
- "digital_contract_fields": { },
- "email": "user@example.com",
- "first_name": "string",
- "id": 0,
- "kyc_verification_id": "string",
- "last_name": "string",
- "sign_date": "2019-08-24",
- "ssn": "string",
- "user_profile_id": 0
}
object (Address) | |
object (Amenities) | |
area | integer The number of apartments in the estate |
external_id | string The external id of the estate |
floor | integer The number of apartments in the estate |
has_ad | integer The number of apartments in the estate |
has_draft | integer The number of apartments in the estate |
has_rentals | integer The number of apartments in the estate |
id | integer The id of the estate |
Array of objects (Image) | |
object (Location) | |
notes_count | integer The number of apartments in the estate |
rent | integer The number of apartments in the estate |
rooms | integer The number of apartments in the estate |
{- "address": {
- "city": "string",
- "county": "string",
- "lgh": "string",
- "municipality": "string",
- "street_name": "string",
- "street_number": "string",
- "zip_code": "string"
}, - "amenities": {
- "electricity_included": true,
- "handicap_friendly": true,
- "has_balcony": true,
- "has_bathtub": true,
- "has_dishwasher": true,
- "has_drier": true,
- "has_elevator": true,
- "has_garage": true,
- "has_kitchen_fan": true,
- "has_pantry": true,
- "has_parking": true,
- "has_patio": true,
- "has_shower": true,
- "has_washing_machine": true,
- "heating_included": true,
- "internet_included": true,
- "tv_included": true,
- "water_included": true
}, - "area": 0,
- "external_id": "string",
- "floor": 0,
- "has_ad": 0,
- "has_draft": 0,
- "has_rentals": 0,
- "id": 0,
- "images": [
- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "notes_count": 0,
- "rent": 0,
- "rooms": 0
}
object (ElasticApartment) | |
object (ElasticEstate) Information about the estate returned from our elastic search instance. | |
identifier | string (ElasticIdentifier) ^(estate|apartment|object_ad).[1-9][0-9]+$ |
indexed_at | string <date-time> The date and time the ad was indexed |
object (ElasticObjectAd) | |
object or null (ElasticProject) | |
object or null (ElasticRequirements) | |
object or null (ApplicationInfo) Information about the application | |
type | string (ElasticType) Enum: "estate" "apartment" "object_ad" |
{- "apartment": {
- "address": {
- "city": "string",
- "county": "string",
- "lgh": "string",
- "municipality": "string",
- "street_name": "string",
- "street_number": "string",
- "zip_code": "string"
}, - "amenities": {
- "electricity_included": true,
- "handicap_friendly": true,
- "has_balcony": true,
- "has_bathtub": true,
- "has_dishwasher": true,
- "has_drier": true,
- "has_elevator": true,
- "has_garage": true,
- "has_kitchen_fan": true,
- "has_pantry": true,
- "has_parking": true,
- "has_patio": true,
- "has_shower": true,
- "has_washing_machine": true,
- "heating_included": true,
- "internet_included": true,
- "tv_included": true,
- "water_included": true
}, - "area": 0,
- "external_id": "string",
- "floor": 0,
- "has_ad": 0,
- "has_draft": 0,
- "has_rentals": 0,
- "id": 0,
- "images": [
- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "notes_count": 0,
- "rent": 0,
- "rooms": 0
}, - "estate": {
- "city": "string",
- "company": {
- "id": 0,
- "name": "string"
}, - "external_id": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
], - "name": "string",
- "number_of_apartments": 0,
- "office": {
- "id": 0,
- "name": "string"
}
}, - "identifier": "string",
- "indexed_at": "2019-08-24T14:15:22Z",
- "object_ad": {
- "access_on_agreement": true,
- "assignments": [
- {
- "first_name": "string",
- "id": 0,
- "landlord_profile_id": 0,
- "last_name": "string"
}
], - "current_stats": {
- "approval_status": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "approval_status_for_contract_not_offered": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "offer_status": {
- "no": 0,
- "pending": 0,
- "yes": 0
}, - "timestamp": "2019-08-24T14:15:22Z"
}, - "date_access": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z",
- "date_publish": "2019-08-24T14:15:22Z",
- "id": 0,
- "is_short_lease": true,
- "nightly_stats": {
- "approval_status": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "approval_status_for_contract_not_offered": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "offer_status": {
- "no": 0,
- "pending": 0,
- "yes": 0
}, - "timestamp": "2019-08-24T14:15:22Z"
}, - "prior_access": true,
- "short_lease_max_date": "2019-08-24",
- "short_lease_min_date": "2019-08-24",
- "status": "closing"
}, - "project": {
- "id": 0,
- "name": "string"
}, - "requirements": {
- "allows_pets": true,
- "allows_smoking": true,
- "is_senior": true,
- "is_student": true,
- "is_youth": true,
- "pk": 0
}, - "reserved_application": {
- "conversations_count": 0,
- "id": 0,
- "profiles": [
- {
- "connection_type": "A",
- "email": "string",
- "first_name": "string",
- "full_name": "string",
- "id": 0,
- "last_name": "string",
- "main_applicant": true,
- "personal_number": "string"
}
], - "queue_points": 0
}, - "type": "estate"
}
id | integer The id of the office |
name | string The name of the office |
{- "id": 0,
- "name": "string"
}
city | string The city of the estate |
object (ElasticCompany) | |
external_id | string The external id of the estate |
id | integer The id of the estate |
Array of objects (Images) | |
name | string The name of the estate |
number_of_apartments | integer The number of apartments in the estate |
object (ElasticOffice) |
{- "city": "string",
- "company": {
- "id": 0,
- "name": "string"
}, - "external_id": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
], - "name": "string",
- "number_of_apartments": 0,
- "office": {
- "id": 0,
- "name": "string"
}
}
object (ElasticEstate) Information about the estate returned from our elastic search instance. | |
identifier | string (ElasticIdentifier) ^(estate|apartment|object_ad).[1-9][0-9]+$ |
indexed_at | string <date-time> The date and time the ad was indexed |
type | string (ElasticType) Enum: "estate" "apartment" "object_ad" |
{- "estate": {
- "city": "string",
- "company": {
- "id": 0,
- "name": "string"
}, - "external_id": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
], - "name": "string",
- "number_of_apartments": 0,
- "office": {
- "id": 0,
- "name": "string"
}
}, - "identifier": "string",
- "indexed_at": "2019-08-24T14:15:22Z",
- "type": "estate"
}
object (ElasticApartment) | |
object (ElasticEstate) Information about the estate returned from our elastic search instance. | |
identifier | string (ElasticIdentifier) ^(estate|apartment|object_ad).[1-9][0-9]+$ |
indexed_at | string <date-time> The date and time the ad was indexed |
object (ElasticObjectAd) | |
object or null (ElasticProject) | |
object or null (ElasticRequirements) | |
object or null (ApplicationInfo) Information about the application | |
type | string (ElasticType) Enum: "estate" "apartment" "object_ad" |
{- "apartment": {
- "address": {
- "city": "string",
- "county": "string",
- "lgh": "string",
- "municipality": "string",
- "street_name": "string",
- "street_number": "string",
- "zip_code": "string"
}, - "amenities": {
- "electricity_included": true,
- "handicap_friendly": true,
- "has_balcony": true,
- "has_bathtub": true,
- "has_dishwasher": true,
- "has_drier": true,
- "has_elevator": true,
- "has_garage": true,
- "has_kitchen_fan": true,
- "has_pantry": true,
- "has_parking": true,
- "has_patio": true,
- "has_shower": true,
- "has_washing_machine": true,
- "heating_included": true,
- "internet_included": true,
- "tv_included": true,
- "water_included": true
}, - "area": 0,
- "external_id": "string",
- "floor": 0,
- "has_ad": 0,
- "has_draft": 0,
- "has_rentals": 0,
- "id": 0,
- "images": [
- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "notes_count": 0,
- "rent": 0,
- "rooms": 0
}, - "estate": {
- "city": "string",
- "company": {
- "id": 0,
- "name": "string"
}, - "external_id": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
], - "name": "string",
- "number_of_apartments": 0,
- "office": {
- "id": 0,
- "name": "string"
}
}, - "identifier": "string",
- "indexed_at": "2019-08-24T14:15:22Z",
- "object_ad": {
- "access_on_agreement": true,
- "assignments": [
- {
- "first_name": "string",
- "id": 0,
- "landlord_profile_id": 0,
- "last_name": "string"
}
], - "current_stats": {
- "approval_status": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "approval_status_for_contract_not_offered": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "offer_status": {
- "no": 0,
- "pending": 0,
- "yes": 0
}, - "timestamp": "2019-08-24T14:15:22Z"
}, - "date_access": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z",
- "date_publish": "2019-08-24T14:15:22Z",
- "id": 0,
- "is_short_lease": true,
- "nightly_stats": {
- "approval_status": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "approval_status_for_contract_not_offered": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "offer_status": {
- "no": 0,
- "pending": 0,
- "yes": 0
}, - "timestamp": "2019-08-24T14:15:22Z"
}, - "prior_access": true,
- "short_lease_max_date": "2019-08-24",
- "short_lease_min_date": "2019-08-24",
- "status": "closing"
}, - "project": {
- "id": 0,
- "name": "string"
}, - "requirements": {
- "allows_pets": true,
- "allows_smoking": true,
- "is_senior": true,
- "is_student": true,
- "is_youth": true,
- "pk": 0
}, - "reserved_application": {
- "conversations_count": 0,
- "id": 0,
- "profiles": [
- {
- "connection_type": "A",
- "email": "string",
- "first_name": "string",
- "full_name": "string",
- "id": 0,
- "last_name": "string",
- "main_applicant": true,
- "personal_number": "string"
}
], - "queue_points": 0
}, - "type": "estate"
}
access_on_agreement | boolean If the ad is accessed on agreement |
Array of objects (Assignments) | |
object (ApplyStats) | |
date_access | string <date-time> The date the ad was accessed |
date_created | string <date-time> The date the ad was created |
date_publish | string <date-time> The date the ad was published |
id | integer The id of the ad |
is_short_lease | boolean If the ad is a short lease |
object (ApplyStats) | |
prior_access | boolean If the ad was accessed prior |
short_lease_max_date | string <date> The maximum date for a short lease |
short_lease_min_date | string <date> The minimum date for a short lease |
status | string (ObjectAdStatus) Enum: "closing" "approved" "active" "rented" "draft" "deleted" "reserved" "paused" "rejected" "publishing" The different states an object ad can be in. |
{- "access_on_agreement": true,
- "assignments": [
- {
- "first_name": "string",
- "id": 0,
- "landlord_profile_id": 0,
- "last_name": "string"
}
], - "current_stats": {
- "approval_status": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "approval_status_for_contract_not_offered": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "offer_status": {
- "no": 0,
- "pending": 0,
- "yes": 0
}, - "timestamp": "2019-08-24T14:15:22Z"
}, - "date_access": "2019-08-24T14:15:22Z",
- "date_created": "2019-08-24T14:15:22Z",
- "date_publish": "2019-08-24T14:15:22Z",
- "id": 0,
- "is_short_lease": true,
- "nightly_stats": {
- "approval_status": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "approval_status_for_contract_not_offered": {
- "accepted": 0,
- "processing": 0,
- "rejected": 0
}, - "offer_status": {
- "no": 0,
- "pending": 0,
- "yes": 0
}, - "timestamp": "2019-08-24T14:15:22Z"
}, - "prior_access": true,
- "short_lease_max_date": "2019-08-24",
- "short_lease_min_date": "2019-08-24",
- "status": "closing"
}
id | integer The id of the office |
name | string The name of the office |
{- "id": 0,
- "name": "string"
}
id | integer The id of the office |
name | string The name of the office |
{- "id": 0,
- "name": "string"
}
allows_pets | boolean Something |
allows_smoking | boolean Something |
is_senior | boolean Something |
is_student | boolean Something |
is_youth | boolean Something |
pk | integer The primary key for the requirement profile |
{- "allows_pets": true,
- "allows_smoking": true,
- "is_senior": true,
- "is_student": true,
- "is_youth": true,
- "pk": 0
}
"analytics_tool"
caption | string The caption of the image |
id | integer The id of the image |
position | integer The position of the image |
thumbnail_url | string The thumbnail url of the image |
url | string The url of the image |
{- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
content_length required | integer <= 31457280 The content_length of the file in bytes |
content_md5 required | string The md5 hash of the file encoded in base64. |
content_name | string The native name of the file when it comes form the operating system during upload. |
entity_type required | string Enum: "project_image" "project_area_image" "estate_image" "estate_area_image" "apartment_image" "logo_image" "cover_image" |
mime_type required | string Enum: "image/jpeg" "image/jpg" "image/png" |
{- "content_length": 31457280,
- "content_md5": "string",
- "content_name": "string",
- "entity_type": "project_image",
- "mime_type": "image/jpeg"
}
content_length required | integer <= 31457280 The content_length of the file in bytes |
content_md5 required | string The md5 hash of the file encoded in base64. |
content_name | string The native name of the file when it comes form the operating system during upload. |
entity_type required | string Enum: "floor_plan" "conversation_file" |
mime_type required | string Enum: "image/jpeg" "image/jpg" "image/png" "application/pdf" |
{- "content_length": 31457280,
- "content_md5": "string",
- "content_name": "string",
- "entity_type": "floor_plan",
- "mime_type": "image/jpeg"
}
caption | string The caption of the image |
id | integer The id of the image |
position | integer The position of the image |
thumbnail_url | string The thumbnail url of the image |
url | string The url of the image |
[- {
- "caption": "string",
- "id": 0,
- "position": 0,
- "thumbnail_url": "string",
- "url": "string"
}
]
Whether the claim should draw its income from tink or documents or if it is not applicable.
"t"
area_caption | string |
area_description | string |
area_image_caption | string |
Array of objects (Image-3) | |
city | string |
object (CommonAttributes) A flag for each of the attributes that the apartments can have
that indicates | |
cover_caption | string |
cover_description | string |
Array of objects (Image-3) | |
id | int |
name | string |
apartment_count | integer |
bankgiro | string |
display_image | string |
estate_owner | string |
landlord_object_id | string |
office | integer |
org_number | string |
postgiro | string |
{- "area_caption": "string",
- "area_description": "string",
- "area_image_caption": "string",
- "area_images": [
- {
- "id": 0,
- "url": "string"
}
], - "city": "string",
- "common_attributes": {
- "balcony": true,
- "bathtub": true,
- "dishwasher": true,
- "drier": true,
- "electricity_included": true,
- "elevator": true,
- "garage": true,
- "handicap_friendly": true,
- "heating_included": true,
- "internet_included": true,
- "kitchen_fan": true,
- "parking": true,
- "patio": true,
- "tv_included": true,
- "washing_machine": true
}, - "cover_caption": "string",
- "cover_description": "string",
- "estate_images": [
- {
- "id": 0,
- "url": "string"
}
], - "id": null,
- "name": "string",
- "apartment_count": 0,
- "bankgiro": "string",
- "display_image": "string",
- "estate_owner": "string",
- "landlord_object_id": "string",
- "office": 0,
- "org_number": "string",
- "postgiro": "string"
}
apartment_count | integer |
area_info_description | string |
area_info_header | string |
object | |
candidate_sorting_mode | string Enum: "queue_points" "random" "first_come_first" |
close_date | string or null <date> |
closed | boolean |
contract_system | string Enum: "A" "B" "C" "D" "S" |
external_id | string |
id | integer |
info_description | string |
info_header | string |
is_short_lease | boolean |
object | |
logo | string or null <uri> |
name | string |
object | |
preliminary_move_in_date | string <date> |
prioritize_existing_tenants | boolean |
public_profile_slug | string or null |
publish_date | string or null <date> |
published | boolean |
object | |
show_area_info_module | boolean |
show_area_media_module | boolean |
show_email_collection_module | boolean |
show_freetext_module | boolean |
show_timeline_module | boolean |
status | string Enum: "Closed" "Published" "Not published" |
viewing_notes | string |
{- "apartment_count": 0,
- "area_info_description": "string",
- "area_info_header": "string",
- "autopilot": {
- "next_engagement": "2019-08-24T14:15:22Z",
- "state": "INACTIVE"
}, - "candidate_sorting_mode": "queue_points",
- "close_date": "2019-08-24",
- "closed": true,
- "contract_system": "A",
- "external_id": "string",
- "id": 0,
- "info_description": "string",
- "info_header": "string",
- "is_short_lease": true,
- "landlord": {
- "id": 0
}, - "name": "string",
- "office": {
- "id": 0
}, - "preliminary_move_in_date": "2019-08-24",
- "prioritize_existing_tenants": true,
- "public_profile_slug": "string",
- "publish_date": "2019-08-24",
- "published": true,
- "range_information": {
- "area": [
- 0
], - "floor": [
- 0
], - "rent": [
- 0
], - "rooms": [
- 0
]
}, - "show_area_info_module": true,
- "show_area_media_module": true,
- "show_email_collection_module": true,
- "show_freetext_module": true,
- "show_timeline_module": true,
- "status": "Closed",
- "viewing_notes": "string"
}
lat | number The latitude of the location |
lon | number The longitude of the location |
{- "lat": 0,
- "lon": 0
}
author_name | string The caption of the image |
author_type | string The caption of the image |
object The caption of the image | |
id | integer The id of the image |
Array of objects (MessageReceipt) The caption of the image |
{- "author_name": "string",
- "author_type": "string",
- "content": {
- "text": "string",
- "type": 0
}, - "id": 0,
- "receipts": [
- {
- "id": 0,
- "notified_at": "string",
- "recipient_id": "string",
- "recipient_type": "string",
- "seen_at": "string"
}
]
}
id | integer The id of the image |
notified_at | string The caption of the image |
recipient_id | string The caption of the image |
recipient_type | string The caption of the image |
seen_at | string The caption of the image |
{- "id": 0,
- "notified_at": "string",
- "recipient_id": "string",
- "recipient_type": "string",
- "seen_at": "string"
}
batch_size | integer Amount of people to offer when offering in batches |
candidate_sorting_mode | string (CandidateSortingMode) Enum: "queue_points" "random" "first_come_first" The mode in which the candidates are sorted. |
contract_system | string (ContractSystem) Enum: "external" "manual_selection" "automatic" "manual_selection_lock" "automatic_strict" |
default_email_for_contracts | boolean Should the contact email at the office be used for contracts. Requires the contact_email to be set. |
default_email_for_offers | boolean Should the contact email at the office be used for offers. Requires the contact_email to be set. |
default_email_for_viewings | boolean Should the contact email at the office be used for viewings. Requires the contact_email to be set. |
description | string The description of the office |
string <email> A contact email at the office. Is used when sending emails to applicants. | |
employee_count | integer The number of employees in the office |
id | integer The id of the office |
logo | string <uri> The logo of the office |
name | string Office name |
offer_min_response_time | integer Minimum time in hours that a user has to respond to an offer. |
offer_per_ad | integer Autopilot only - the amount of offers per ad. |
offers_per_person | integer Autopilot only - the amount of offers a person can receive. |
parent | integer Parent office id |
time_to_next_engagement | integer Time in days between engagement of the Autopilot |
{- "batch_size": 0,
- "candidate_sorting_mode": "queue_points",
- "contract_system": "external",
- "default_email_for_contracts": true,
- "default_email_for_offers": true,
- "default_email_for_viewings": true,
- "description": "string",
- "email": "user@example.com",
- "employee_count": 0,
- "id": 0,
- "name": "string",
- "offer_min_response_time": 0,
- "offer_per_ad": 0,
- "offers_per_person": 0,
- "parent": 0,
- "time_to_next_engagement": 0
}
batch_size | integer >= 2 Default: 5 |
candidate_sorting_mode | string (CandidateSortingMode) Default: "queue_points" Enum: "queue_points" "random" "first_come_first" The mode in which the candidates are sorted. |
contract_system | string (ContractSystem) Default: "manual_selection_lock" Enum: "external" "manual_selection" "automatic" "manual_selection_lock" "automatic_strict" |
default_email_for_contracts | boolean Should the contact email at the office be used for contracts. Requires the contact_email to be set. |
default_email_for_offers | boolean Should the contact email at the office be used for offers. Requires the contact_email to be set. |
default_email_for_viewings | boolean Should the contact email at the office be used for viewings. Requires the contact_email to be set. |
description | string A contact email at the office |
string <email> A contact email at the office. Is used when sending emails to applicants. | |
logo | string or null <base64> Base64 encoded image of the office logo |
name | string Office name |
offer_min_response_time | integer >= 24 Default: 48 |
offer_per_ad | integer >= 1 Default: 5 If offering multiple people - this is the amount of people offered. |
offers_per_person | integer >= 1 Default: 3 |
parent | integer Parent office id |
time_to_next_engagement | integer >= 1 Default: 5 Time in days for the next engagement can be made (Autopilot only) |
{- "batch_size": 5,
- "candidate_sorting_mode": "queue_points",
- "contract_system": "external",
- "default_email_for_contracts": true,
- "default_email_for_offers": true,
- "default_email_for_viewings": true,
- "description": "string",
- "email": "user@example.com",
- "logo": "string",
- "name": "string",
- "offer_min_response_time": 48,
- "offer_per_ad": 5,
- "offers_per_person": 3,
- "parent": 0,
- "time_to_next_engagement": 5
}
content_length required | integer <= 31457280 The content_length of the file in bytes |
content_md5 required | string The md5 hash of the file encoded in base64. |
content_name | string The native name of the file when it comes form the operating system during upload. |
entity_type required | string Enum: "promotion_file" "digital_contract" "profile_card" |
mime_type required | string Value: "application/pdf" |
{- "content_length": 31457280,
- "content_md5": "string",
- "content_name": "string",
- "entity_type": "promotion_file",
- "mime_type": "application/pdf"
}
Array of objects (CardPin) | |
total_hits | integer The total amount of hits the search returned |
{- "results": [
- {
- "active_ads": 0,
- "id": "string",
- "location": {
- "lat": 0,
- "lon": 0
}, - "type": "project"
}
], - "total_hits": 0
}
Array of objects (ExtendedIndividualCard) | |
total_hits | integer The total amount of hits the search returned |
{- "results": [
- {
- "boost_value": 0,
- "city": "string",
- "county": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "image": "string",
- "position": 0
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "municipality": "string",
- "references": {
- "apartment": 0,
- "company": 0,
- "estate": 0,
- "object_ad": 0,
- "office": 0,
- "project": 0
}, - "type": "project",
- "uri": "string",
- "videos": [
- {
- "position": 0,
- "url": "string"
}
], - "access_date": "string",
- "access_on_agreement": true,
- "address": {
- "city": "string",
- "county": "string",
- "municipality": "string",
- "street": "string",
- "street_number": "string",
- "zip": "string"
}, - "amenities": {
- "balcony": true,
- "bathtub": true,
- "dishwasher": true,
- "drier": true,
- "electricity": true,
- "elevator": true,
- "garage": true,
- "handicap_friendly": true,
- "heat": true,
- "internet": true,
- "kitchen_fan": true,
- "parking": true,
- "patio": true,
- "pets": true,
- "tv": true,
- "washer": true,
- "water": true
}, - "area": 0,
- "audience": "everyone",
- "date_access": "2019-08-24",
- "description": 0,
- "floor": 0,
- "indexed_at": "string",
- "is_short_lease": true,
- "landlord_object_id": "string",
- "prior_access_available": true,
- "publish_date": "string",
- "rent": 0,
- "rooms": 0,
- "sorting_mode": "queue_points",
- "status": "Active"
}
], - "total_hits": 0
}
description | string |
id | integer |
position | integer |
title | string |
{- "description": "string",
- "id": 0,
- "position": 0,
- "title": "string"
}
area_caption | string |
area_description | string |
area_image_caption | string |
Array of objects (Image-3) | |
city | string |
object (CommonAttributes) A flag for each of the attributes that the apartments can have
that indicates | |
cover_caption | string |
cover_description | string |
Array of objects (Image-3) | |
id | int |
name | string |
{- "area_caption": "string",
- "area_description": "string",
- "area_image_caption": "string",
- "area_images": [
- {
- "id": 0,
- "url": "string"
}
], - "city": "string",
- "common_attributes": {
- "balcony": true,
- "bathtub": true,
- "dishwasher": true,
- "drier": true,
- "electricity_included": true,
- "elevator": true,
- "garage": true,
- "handicap_friendly": true,
- "heating_included": true,
- "internet_included": true,
- "kitchen_fan": true,
- "parking": true,
- "patio": true,
- "tv_included": true,
- "washing_machine": true
}, - "cover_caption": "string",
- "cover_description": "string",
- "estate_images": [
- {
- "id": 0,
- "url": "string"
}
], - "id": null,
- "name": "string"
}
apartment_count | integer |
area_info_description | string |
area_info_header | string |
candidate_sorting_mode | string Enum: "queue_points" "random" "first_come_first" |
close_date | string or null <date> |
closed | boolean |
contract_system | string Enum: "A" "B" "C" "D" "S" |
Array of objects (ProjectFreetextEntry) | |
id | integer |
info_description | string |
info_header | string |
is_short_lease | boolean |
object | |
logo | string or null <uri> |
name | string |
object | |
preliminary_move_in_date | string <date> |
public_profile_slug | string or null |
publish_date | string or null <date> |
published | boolean |
object | |
show_area_info_module | boolean |
show_area_media_module | boolean |
show_email_collection_module | boolean |
show_freetext_module | boolean |
show_timeline_module | boolean |
status | string Enum: "Closed" "Published" "Not published" |
{- "apartment_count": 0,
- "area_info_description": "string",
- "area_info_header": "string",
- "candidate_sorting_mode": "queue_points",
- "close_date": "2019-08-24",
- "closed": true,
- "contract_system": "A",
- "freetext_entries": [
- {
- "description": "string",
- "id": 0,
- "position": 0,
- "title": "string"
}
], - "id": 0,
- "info_description": "string",
- "info_header": "string",
- "is_short_lease": true,
- "landlord": {
- "id": 0
}, - "name": "string",
- "office": {
- "id": 0
}, - "preliminary_move_in_date": "2019-08-24",
- "public_profile_slug": "string",
- "publish_date": "2019-08-24",
- "published": true,
- "range_information": {
- "area": [
- 0
], - "floor": [
- 0
], - "rent": [
- 0
], - "rooms": [
- 0
]
}, - "show_area_info_module": true,
- "show_area_media_module": true,
- "show_email_collection_module": true,
- "show_freetext_module": true,
- "show_timeline_module": true,
- "status": "Closed"
}
activity_compensation | boolean Default: false |
activity_grant | boolean Default: false |
ad_count | integer The number of ads associated with the requirement profile |
bankruptcy | boolean Default: false |
benefit_apartment | boolean Default: false |
care_allowance | boolean Default: false |
child_allowance | boolean Default: false |
create_date | string <date-time> |
debt_sanitization | boolean Default: false |
employment_permanent | boolean Default: false |
employment_temporary | boolean Default: false |
extra_residents | integer >= 0 Default: 0 |
id | integer The id of the requirement profile |
income_child_pension | boolean Default: true |
income_development_allowance | boolean Default: true |
income_establishment_supplement | boolean Default: true |
income_extra_cost_allowance | boolean Default: true |
income_housing_supplement | boolean Default: false |
income_housing_support | boolean Default: false |
income_living_expense_supplement | boolean Default: false |
income_parental_leave | boolean Default: true |
income_sick_leave | boolean Default: true |
income_student | boolean Default: false |
living_standard_factor | number Default: 1 |
maintenance_allowance | boolean Default: false |
maintenance_support | boolean Default: false |
move_frequency | integer >= 0 Default: 0 |
name | string <= 256 characters |
outstanding_debt | boolean Default: false |
parent_requirements_id | integer If the ad is using soft requirements, this will refer to the requirements being overridden |
payment_remarks | integer >= 0 Default: 0 |
pets | boolean Default: false |
rent_calculation_type | string Default: "RENT_FACTOR" Enum: "RENT_FACTOR" "MONEY_AFTER_RENT" |
rent_factor | number >= 0 Default: 0 |
senior | boolean Default: false |
senior_age | integer Default: 65 |
smoking | boolean Default: false |
student | boolean Default: false |
unemployment_benefit | boolean Default: false |
update_date | string <date-time> |
warrantor | boolean Default: false |
warrantor_rent_factor | number >= 0 Default: 0 |
youth | boolean Default: false |
youth_age | integer Default: 25 |
{- "activity_compensation": false,
- "activity_grant": false,
- "ad_count": 0,
- "bankruptcy": false,
- "benefit_apartment": false,
- "care_allowance": false,
- "child_allowance": false,
- "create_date": "2019-08-24T14:15:22Z",
- "debt_sanitization": false,
- "employment_permanent": false,
- "employment_temporary": false,
- "extra_residents": 0,
- "id": 0,
- "income_child_pension": true,
- "income_development_allowance": true,
- "income_establishment_supplement": true,
- "income_extra_cost_allowance": true,
- "income_housing_supplement": false,
- "income_housing_support": false,
- "income_living_expense_supplement": false,
- "income_parental_leave": true,
- "income_sick_leave": true,
- "income_student": false,
- "living_standard_factor": 1,
- "maintenance_allowance": false,
- "maintenance_support": false,
- "move_frequency": 0,
- "name": "string",
- "outstanding_debt": false,
- "parent_requirements_id": 0,
- "payment_remarks": 0,
- "pets": false,
- "rent_calculation_type": "RENT_FACTOR",
- "rent_factor": 0,
- "senior": false,
- "senior_age": 65,
- "smoking": false,
- "student": false,
- "unemployment_benefit": false,
- "update_date": "2019-08-24T14:15:22Z",
- "warrantor": false,
- "warrantor_rent_factor": 0,
- "youth": false,
- "youth_age": 25
}
email required | string <email> The email of the employee. |
first_name required | string The first name of the employee. |
last_name required | string The last name of the employee. |
{- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string"
}
company | integer or null The company that the right belongs to or null if it is a common right profile |
id | integer |
name | string |
rights | Array of strings |
{- "company": 0,
- "id": 0,
- "name": "string",
- "rights": [
- "string"
]
}
id | integer The id of the image |
thumbnail_url | string The thumbnail url of the image |
url | string The url of the image |
{- "id": 0,
- "thumbnail_url": "string",
- "url": "string"
}
author | any |
created | string <date-time> |
id | integer |
text | string |
updated | string <date-time> |
{- "author": null,
- "created": "2019-08-24T14:15:22Z",
- "id": 0,
- "text": "string",
- "updated": "2019-08-24T14:15:22Z"
}
city required | string The city of the user. |
date_of_birth required | string <date> The date of birth of the user. |
email required | string <email> The email of the user. |
first_name required | string The first name of the user. |
last_name required | string The last name of the user. |
phone required | string The phone number of the user. |
ssn required | string or null The social security number of the user. |
street required | string The street of the user. |
zip_code required | string The zip code of the user. |
{- "city": "string",
- "date_of_birth": "2019-08-24",
- "email": "user@example.com",
- "first_name": "string",
- "last_name": "string",
- "phone": "string",
- "ssn": "string",
- "street": "string",
- "zip_code": "string"
}
position | integer The position of the image |
private | boolean Whether the video is private or not |
url | string The url of the image |
{- "position": 0,
- "private": true,
- "url": "string"
}
content_length required | integer <= 2147483648 The content_length of the file in bytes |
content_md5 required | string The md5 hash of the file encoded in base64. |
content_name | string The native name of the file when it comes form the operating system during upload. |
entity_type required | string Value: ["project_video","project_area_video","apartment_video"] |
mime_type required | string Enum: "image/jpeg" "image/jpg" "image/png" |
{- "content_length": 2147483648,
- "content_md5": "string",
- "content_name": "string",
- "entity_type": [
- "project_video",
- "project_area_video",
- "apartment_video"
], - "mime_type": "image/jpeg"
}
position | integer The position of the image |
private | boolean Whether the video is private or not |
url | string The url of the image |
[- {
- "position": 0,
- "private": true,
- "url": "string"
}
]
The mode in which the candidates are sorted.
"queue_points"
The allowed claim types based on the current claims
"employment"
"external"
The different states an object ad can be in.
"closing"
A key indicating a specific right
"homeq.integration.capifast"
boost_value | number |
city | string |
county | string |
id | integer |
Array of objects (SearchImages) | |
object (Location) | |
municipality | string |
object (References) A set of references to other objects by their IDs | |
type | string (CardType) Enum: "project" "individual" |
uri | string |
Array of objects (SearchVideos) |
{- "boost_value": 0,
- "city": "string",
- "county": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "image": "string",
- "position": 0
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "municipality": "string",
- "references": {
- "apartment": 0,
- "company": 0,
- "estate": 0,
- "object_ad": 0,
- "office": 0,
- "project": 0
}, - "type": "project",
- "uri": "string",
- "videos": [
- {
- "position": 0,
- "url": "string"
}
]
}
active_ads | integer |
id | string |
object (Location) | |
type | string Enum: "project" "individual" |
{- "active_ads": 0,
- "id": "string",
- "location": {
- "lat": 0,
- "lon": 0
}, - "type": "project"
}
boost_value | number |
city | string |
county | string |
id | integer |
Array of objects (SearchImages) | |
object (Location) | |
municipality | string |
object (References) A set of references to other objects by their IDs | |
type | string (CardType) Enum: "project" "individual" |
uri | string |
Array of objects (SearchVideos) | |
access_date | string The date the apartment is available for access |
access_on_agreement | boolean Whether the apartment is available on agreement |
object (SearchAddress) | |
object (SearchAmenities) | |
area | number The area of the apartment |
audience | string (Audience) Enum: "everyone" "senior" "youth" "student" |
date_access | string <date> |
description | number The area of the apartment |
floor | integer The floor of the apartment |
floor_plan | string <uri> |
indexed_at | string The date the card was indexed |
is_short_lease | boolean |
landlord_object_id | string The rent of the apartment |
prior_access_available | boolean Whether the apartment is available for prior access |
publish_date | string |
rent | integer The rent of the apartment |
rooms | integer The number of rooms in the apartment |
sorting_mode | string (CandidateSortingMode) Enum: "queue_points" "random" "first_come_first" The mode in which the candidates are sorted. |
status | string (Status) Enum: "Active" "Reserved" "Paused" "Approved" |
{- "boost_value": 0,
- "city": "string",
- "county": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "image": "string",
- "position": 0
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "municipality": "string",
- "references": {
- "apartment": 0,
- "company": 0,
- "estate": 0,
- "object_ad": 0,
- "office": 0,
- "project": 0
}, - "type": "project",
- "uri": "string",
- "videos": [
- {
- "position": 0,
- "url": "string"
}
], - "access_date": "string",
- "access_on_agreement": true,
- "address": {
- "city": "string",
- "county": "string",
- "municipality": "string",
- "street": "string",
- "street_number": "string",
- "zip": "string"
}, - "amenities": {
- "balcony": true,
- "bathtub": true,
- "dishwasher": true,
- "drier": true,
- "electricity": true,
- "elevator": true,
- "garage": true,
- "handicap_friendly": true,
- "heat": true,
- "internet": true,
- "kitchen_fan": true,
- "parking": true,
- "patio": true,
- "pets": true,
- "tv": true,
- "washer": true,
- "water": true
}, - "area": 0,
- "audience": "everyone",
- "date_access": "2019-08-24",
- "description": 0,
- "floor": 0,
- "indexed_at": "string",
- "is_short_lease": true,
- "landlord_object_id": "string",
- "prior_access_available": true,
- "publish_date": "string",
- "rent": 0,
- "rooms": 0,
- "sorting_mode": "queue_points",
- "status": "Active"
}
boost_value | number |
city | string |
county | string |
id | integer |
Array of objects (SearchImages) | |
object (Location) | |
municipality | string |
object (References) A set of references to other objects by their IDs | |
type | string (CardType) Enum: "project" "individual" |
uri | string |
Array of objects (SearchVideos) | |
area | number The area of the apartment |
audience | string (Audience) Enum: "everyone" "senior" "youth" "student" |
date_access | string <date> |
is_short_lease | boolean |
rent | integer The rent of the apartment |
rooms | integer The number of rooms in the apartment |
title | string |
{- "boost_value": 0,
- "city": "string",
- "county": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "image": "string",
- "position": 0
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "municipality": "string",
- "references": {
- "apartment": 0,
- "company": 0,
- "estate": 0,
- "object_ad": 0,
- "office": 0,
- "project": 0
}, - "type": "project",
- "uri": "string",
- "videos": [
- {
- "position": 0,
- "url": "string"
}
], - "area": 0,
- "audience": "everyone",
- "date_access": "2019-08-24",
- "is_short_lease": true,
- "rent": 0,
- "rooms": 0,
- "title": "string"
}
boost_value | number |
city | string |
county | string |
id | integer |
Array of objects (SearchImages) | |
object (Location) | |
municipality | string |
object (References) A set of references to other objects by their IDs | |
type | string (CardType) Enum: "project" "individual" |
uri | string |
Array of objects (SearchVideos) | |
active_ads | integer The number of active ads |
audience | Array of strings (Audience) Items Enum: "everyone" "senior" "youth" "student" |
date_access | Array of strings <date> [ items <date > ] |
is_short_lease | Array of booleans |
rent_range | Array of integers = 2 items |
title | string |
{- "boost_value": 0,
- "city": "string",
- "county": "string",
- "id": 0,
- "images": [
- {
- "caption": "string",
- "image": "string",
- "position": 0
}
], - "location": {
- "lat": 0,
- "lon": 0
}, - "municipality": "string",
- "references": {
- "apartment": 0,
- "company": 0,
- "estate": 0,
- "object_ad": 0,
- "office": 0,
- "project": 0
}, - "type": "project",
- "uri": "string",
- "videos": [
- {
- "position": 0,
- "url": "string"
}
], - "active_ads": 0,
- "audience": [
- "everyone"
], - "date_access": [
- "2019-08-24"
], - "is_short_lease": [
- true
], - "rent_range": [
- 0,
- 0
], - "title": "string"
}
apartment | integer |
company | integer |
estate | integer |
object_ad | integer |
office | integer |
project | integer |
{- "apartment": 0,
- "company": 0,
- "estate": 0,
- "object_ad": 0,
- "office": 0,
- "project": 0
}
city | string The city |
county | string The county |
municipality | string The municipality |
street | string The street name |
street_number | string The street number |
zip | string The zip code |
{- "city": "string",
- "county": "string",
- "municipality": "string",
- "street": "string",
- "street_number": "string",
- "zip": "string"
}
balcony | boolean |
bathtub | boolean |
dishwasher | boolean |
drier | boolean |
electricity | boolean |
elevator | boolean |
garage | boolean |
handicap_friendly | boolean |
heat | boolean |
internet | boolean |
kitchen_fan | boolean |
parking | boolean |
patio | boolean |
pets | boolean |
tv | boolean |
washer | boolean |
water | boolean |
{- "balcony": true,
- "bathtub": true,
- "dishwasher": true,
- "drier": true,
- "electricity": true,
- "elevator": true,
- "garage": true,
- "handicap_friendly": true,
- "heat": true,
- "internet": true,
- "kitchen_fan": true,
- "parking": true,
- "patio": true,
- "pets": true,
- "tv": true,
- "washer": true,
- "water": true
}
caption | string The caption of the image |
image | string The url of the image |
position | integer The position of the image |
[- {
- "caption": "string",
- "image": "string",
- "position": 0
}
]
ads | Array of integers A list of ad ids. |
amount | integer Default: 10000 The amount of results the search should return. |
balcony | boolean Default: false |
bathtub | boolean Default: false |
card_pin | boolean A parameter that is set to get all card pins to show on the map for the given filters |
card_type | string Enum: "projects" "normal" Whether to show project cards in the search results. |
company | integer A company id to filter by. |
dishwasher | boolean Default: false |
drier | boolean Default: false |
elevator | boolean Default: false |
estate | integer An estate id to filter by. |
first_come_first | boolean Default: true Show ads that are rented out via first_come_first. |
garage | boolean Default: false |
object An object that represents the bounds to search within. | |
object A geo radius object for radius based search. If the latitude and longitude is omitted they will be estimated by resolving the IP address. | |
handicap_friendly | boolean Default: false |
kitchen_fan | boolean Default: false |
max_area | number The upper amount of area to limit the search to. |
max_floor | number The upper amount of floor to limit the search to. |
max_rent | number The upper amount of rent to limit the search to. |
max_room | number The upper amount of rooms to limit the search to. |
min_area | number The lower amount of area to limit the search to. |
min_floor | number The lower amount of floor to limit the search to. |
min_rent | number The lower amount of rent to limit the search to. |
min_room | number The lower amount of rooms to limit the search to. |
offset | integer Default: 0 The offset to start fetching cards from |
parking | boolean Default: false |
patio | boolean Default: false |
paused | boolean Default: false Whether or not to include paused ads. Excluded by default. |
pets | boolean Default: false |
project | integer A project id to filter by. |
project_ads | Array of integers A list of project ad ids. |
queue_points | boolean Default: true Show ads that are rented out via queue_points. |
random | boolean Default: true Show ads that are rented out via lottery. |
reserved | boolean Default: false Whether or not to include reserved ads. Excluded by default. |
shapes | Array of strings Only return ads that are in the given shapes. Checkout the Geo Service for figuring out how to get the shapes. |
sorting | string Default: "publish_date.desc" The sorting with {key}.{asc|desc}. Options are [area, floor, rent, rooms, publish_date, distance, boost_value] |
tags | Array of strings Items Enum: "senior" "student" "youth" "everyone" |
washing_machine | boolean Default: false |
{- "ads": [
- 0
], - "amount": 10000,
- "balcony": false,
- "bathtub": false,
- "card_pin": true,
- "card_type": "projects",
- "company": 0,
- "dishwasher": false,
- "drier": false,
- "elevator": false,
- "estate": 0,
- "first_come_first": true,
- "garage": false,
- "geo_bounds": {
- "max_lat": 0,
- "max_lng": 0,
- "min_lat": 0,
- "min_lng": 0
}, - "geo_radius": {
- "latitude": 0,
- "longitude": 0,
- "radius": "50km"
}, - "handicap_friendly": false,
- "kitchen_fan": false,
- "max_area": 0,
- "max_floor": 0,
- "max_rent": 0,
- "max_room": 0,
- "min_area": 0,
- "min_floor": 0,
- "min_rent": 0,
- "min_room": 0,
- "offset": 0,
- "parking": false,
- "patio": false,
- "paused": false,
- "pets": false,
- "project": 0,
- "project_ads": [
- 0
], - "queue_points": true,
- "random": true,
- "reserved": false,
- "shapes": [
- "string"
], - "sorting": "publish_date.desc",
- "tags": [
- "senior"
], - "washing_machine": false
}
position | integer The position of the video |
url | string The url of the video |
[- {
- "position": 0,
- "url": "string"
}
]
hash | string The hash of the shape |
id | string The id of the shape |
max_lat | number The maximum latitude of the shape |
max_lng | number The maximum longitude of the shape |
min_lat | number The minimum latitude of the shape |
min_lng | number The minimum longitude of the shape |
object The parent of the shape | |
shape | string The url shape of the shape |
text | string The name of the shape |
type | string The type of the shape |
{- "hash": "string",
- "id": "string",
- "max_lat": 0,
- "max_lng": 0,
- "min_lat": 0,
- "min_lng": 0,
- "parent": {
- "id": "string",
- "name": "string",
- "type": "string"
}, - "shape": "string",
- "text": "string",
- "type": "string"
}