HomeQ Core API (1.0.0)

Download OpenAPI specification:

Robert Kessler (CTO): robert@homeq.se

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.

API Usage

The section explains the basic usage of the REST API.

Authentication

API Key

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.

Authentication

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.

Deprecation

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:

Organization

Company - 🔗 Jump to API

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:

  • integrations with Fastighetsägerna to use digital contracts
  • your company bank information if it should be automatically filled into digital contracts
  • your company logo
  • minimum uptime for listings before offers can be made
  • ...

Please contact your customer success manager if you need help with the configuration or reach out via email to support@homeq.se.

Offices - 🔗 Jump to API

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.

Note: You currently cannot delete offices by yourself. Please contact us for help if you need to delete offices from your company.

Employees - 🔗 Jump to API

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.

Access Control - 🔗 Jump to API

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.

Inventory

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 - 🔗 Jump to API

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"]

Apartments - 🔗 Jump to API

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 you receive an error indicating that a DuplicateApartment exists please double-check that you do not already have this apartment in your own inventory.

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"]

Query Inventory - 🔗 Jump to API

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.

Media Files

Uploads - 🔗 Jump to API

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:

Image Resizing

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.

Video Compression

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.

Using Media Files outside HomeQ.se

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:

  • Always use the smaller image sizes like 360 or 480 when displaying a card or gallery of active listings
  • Always make sure to include the HTTP Referer Header when directly fetching the images rom our AWS S3 instance (mandatory from 1. May 2025)
  • Always talk to us if your use case involves displaying videos on your page that are hosted on our AWS S3 instance

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

Rental Process

Requirements - 🔗 Jump to API

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.

Listings - 🔗 Jump to API

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.

Widgets

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.

Search

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.

1. Include the anchor

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.

Widget1

2. Add the js & css files

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.

3. Enjoy

Widget2

Custom Styling

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.

Developing

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>

Email Collection

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

Webhooks are requests we make to your system to inform you of events that have occurred in our system.

Introduction

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:

Agreements

List Agreements

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.

query Parameters
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

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "total": 0
}

Apartment Media

List Apartment 3D View

This endpoint allows you to list all pictures. You have to have the right: entity.Apartment.update

path Parameters
apartment_id
required
integer

The primary key of the Apartment

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": []
}

Create Apartment 3D View

This endpoint allows you to create a picture on an Apartment. You are required to have the right: entity.Apartment.update

path Parameters
apartment_id
required
integer

The primary key of the Apartment

header Parameters
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.

Request Body schema: application/json
required
position
string <= 70 characters
title
string <= 70 characters
url
required
string <= 128 characters

Responses

Request samples

Content type
application/json
{
  • "position": "string",
  • "title": "string",
  • "url": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete Apartment 3D View

This endpoint allows you to delete a specific video on an Apartment.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

3d_view_id
required
integer

The primary key of the Apartment video

header Parameters
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.

Responses

Update Apartment 3D View

This endpoint allows you to delete a specific video on an Apartment.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

3d_view_id
required
integer

The primary key of the Apartment video

header Parameters
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.

Request Body schema: application/json
required
position
integer
title
string <= 70 characters
url
string <= 70 characters

Responses

Request samples

Content type
application/json
{
  • "position": 0,
  • "title": "string",
  • "url": "string"
}

List Apartment Pictures

This endpoint allows you to list all pictures. You have to have the right: entity.Apartment.update

path Parameters
apartment_id
required
integer

The primary key of the Apartment

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create Apartment Picture

This endpoint allows you to create a picture on an Apartment. You are required to have the right: entity.Apartment.update

path Parameters
apartment_id
required
integer

The primary key of the Apartment

header Parameters
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.

Request Body schema: application/json
required
caption
string <= 70 characters
file_reference
required
string <= 128 characters

Responses

Request samples

Content type
application/json
{
  • "caption": "string",
  • "file_reference": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete Apartment Picture

This endpoint allows you to delete a specific picture on an Apartment.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

picture_id
required
integer

The primary key of the Apartment picture

header Parameters
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.

Responses

Update Apartment Picture

This endpoint allows you to delete a specific picture on an Apartment.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

picture_id
required
integer

The primary key of the Apartment picture

header Parameters
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.

Request Body schema: application/json
required
caption
string <= 70 characters
position
integer

Responses

Request samples

Content type
application/json
{
  • "caption": "string",
  • "position": 0
}

List Apartment Videos

This endpoint allows you to list all pictures. You have to have the right: entity.Apartment.update

path Parameters
apartment_id
required
integer

The primary key of the Apartment

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create Apartment Video

This endpoint allows you to create a picture on an Apartment. You are required to have the right: entity.Apartment.update

path Parameters
apartment_id
required
integer

The primary key of the Apartment

header Parameters
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.

Request Body schema: application/json
required
caption
string <= 70 characters
file_reference
required
string <= 128 characters
private
boolean
Default: false

Responses

Request samples

Content type
application/json
{
  • "caption": "string",
  • "file_reference": "string",
  • "private": false
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete Apartment Videos

This endpoint allows you to delete a specific video on an Apartment.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

video_id
required
integer

The primary key of the Apartment video

header Parameters
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.

Responses

Update Apartment Videos

This endpoint allows you to delete a specific video on an Apartment.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

video_id
required
integer

The primary key of the Apartment video

header Parameters
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.

Request Body schema: application/json
required
position
integer

Responses

Request samples

Content type
application/json
{
  • "position": 0
}

Apartment Notes

List Apartment Notes

This endpoint allows you to list all notes this apartment has.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "notes": [
    ]
}

Create Apartment Notes

This endpoint allows you to create a note on an Apartment.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

header Parameters
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.

Request Body schema: application/json
required
context
string
Enum: "A" "R"
text
string <= 3000 characters

Responses

Request samples

Content type
application/json
{
  • "context": "A",
  • "text": "string"
}

Response samples

Content type
application/json
{
  • "apartment": 0,
  • "author": null,
  • "context": "string",
  • "created": "2019-08-24T14:15:22Z",
  • "id": 0,
  • "text": "string",
  • "updated": "2019-08-24T14:15:22Z"
}

Delete Apartment Notes

This endpoint allows you to delete a specific note on an Apartment.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

note_id
required
integer

The primary key of the Apartment note

header Parameters
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.

Responses

Update Apartment Notes

This endpoint allows you to delete a specific video on an Apartment.

path Parameters
apartment_id
required
integer

The primary key of the Apartment

note_id
required
integer

The primary key of the Apartment video

header Parameters
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.

Request Body schema: application/json
required
text
string <= 3000 characters

Responses

Request samples

Content type
application/json
{
  • "text": "string"
}

Apartments

Estimate Geolocation

Allow for an estimated geolocation and county/municipality estimate

header Parameters
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.

Request Body schema: application/json
city
required
string <= 128 characters
street_name
required
string <= 128 characters
street_number
required
string <= 128 characters
zip_code
string <= 5 characters

Responses

Request samples

Content type
application/json
{
  • "city": "string",
  • "street_name": "string",
  • "street_number": "string",
  • "zip_code": "strin"
}

Response samples

Content type
application/json
{
  • "county": "string",
  • "latitude": 0,
  • "longitude": 0,
  • "municipality": "string"
}

Estimate Political Location

Allow for a lookup of county/municipality given latitude and longitude

header Parameters
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.

Request Body schema: application/json
latitude
required
number

The latitude of the location

longitude
required
number

The longitude of the location

Responses

Request samples

Content type
application/json
{
  • "latitude": 0,
  • "longitude": 0
}

Response samples

Content type
application/json
{
  • "complete": true,
  • "county": "string",
  • "municipality": "string"
}

Create Apartment

This is the API resource for creating Apartments.

header Parameters
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.

Request Body schema: application/json
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}$

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "can_create_ad_listing": true,
  • "estate": 0,
  • "id": 0
}

Delete an Apartment

This is the API resource for deleting Apartments.

path Parameters
id
required
integer

The primary key of the Apartment

header Parameters
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.

Responses

Fetch an Apartment

This endpoint will fetch information about an Apartment.

path Parameters
id
required
integer

The primary key of the Apartment

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "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": "http://example.com",
  • "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": "http://example.com",
  • "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"
}

Update an Apartment

This is the API resource for updating Apartments.

path Parameters
id
required
integer

The primary key of the Apartment

header Parameters
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.

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "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"
}

Authentication

Issue Token

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.

Possible Errors

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.
Request Body schema: application/json
required
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.

Responses

Request samples

Content type
application/json
{
  • "checkin_token": "string",
  • "device_token": "string",
  • "password": "string",
  • "two_factor_token": "string",
  • "username": "string"
}

Response samples

Content type
application/json
{
  • "company": {
    },
  • "employee": {
    },
  • "right_profile": {
    },
  • "token": "string"
}

Verify Token

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.

Possible Errors

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
Request Body schema: application/json
required
token
string

The username of the user you want to log in as.

Responses

Request samples

Content type
application/json
{
  • "token": "string"
}

Response samples

Content type
application/json
{
  • "company": {
    },
  • "employee": {
    },
  • "right_profile": {
    },
  • "token": "string"
}

Search

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.

Ads within Project

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.

Ads within A company

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.

Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "ads": [
    ],
  • "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": {
    },
  • "geo_radius": {
    },
  • "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": [
    ],
  • "queue_points": true,
  • "random": true,
  • "reserved": false,
  • "shapes": [
    ],
  • "sorting": "publish_date.desc",
  • "tags": [
    ],
  • "washing_machine": false
}

Response samples

Content type
application/json
Example
{
  • "results": [
    ],
  • "total_hits": 0
}

Companies

List companies

This endpoint can be used by customers & consumers and it will respond slightly different depending on the user type.

Consumer (End user)

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.

Customer

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.

header Parameters
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.

Responses

Response samples

Content type
application/json
Example
[ ]

Update Company

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.

FastAPI Key

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.

Bankgiro, Postgiro and Org Number

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.

header Parameters
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.

Request Body schema: application/json
required
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.

Responses

Request samples

Content type
application/json
{
  • "bankgiro": "string",
  • "cover_image_id": "54867dc2-e98d-4d6c-99fa-31fe84a40bba",
  • "external_reservation_link": "http://example.com",
  • "fast_api_key": "string",
  • "logo_image_id": "d07e0ed1-6700-4c57-8e8c-642d7cf78761",
  • "minimum_up_time": 0,
  • "org_number": "string",
  • "postgiro": "string"
}

Development

Reset Environment

This endpoint allows you to reset an environment and remove all estates, apartments and other traces. It will keep the employees, requirement profiles.

header Parameters
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.

Responses

Digital Contracts

Verify Digital Contract

This endpoint allows you to verify a digital contract by it's uuid. It will be fetched from the media storage and verified.

query Parameters
uuid
string

The digital contract uuid

Responses

Response samples

Content type
application/json
{
  • "is_valid": true,
  • "signatories": [
    ]
}

Employees

List Employees

This endpoint retrieves all employees below your currently selected office, if you have the right entity.employees

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "employees": [
    ]
}

Create an API Employee

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.

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "password": "string",
  • "username": "string"
}

Delete User Notes

This endpoint allows deletion of a landlord employee. You need the entity.employees right.

path Parameters
employee_id
required
integer

The primary key of the employee

header Parameters
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.

Responses

Fetch Employee

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.

path Parameters
employee_id
required
integer

The employee id you want to fetch

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "employees": [
    ]
}

Update Employee

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

path Parameters
employee_id
required
integer

The primary key of the employee

header Parameters
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.

Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "first_name": "string",
  • "last_name": "string",
  • "personal_number": "string",
  • "phone_number": "string",
  • "right_profile": 0,
  • "root_office": 0,
  • "selected_office": 0
}

Estate Media

List Estate Area Pictures

This endpoint allows you to list all area pictures. You have to have the right: entity.estate.update

path Parameters
estate_id
required
integer

The primary key of the estate

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": []
}

Create Estate Area Picture

This endpoint allows you to create an area picture on an estate. You are required to have the right: entity.estate.update

path Parameters
estate_id
required
integer

The primary key of the estate

header Parameters
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.

Request Body schema: application/json
required
caption
string <= 70 characters
file_reference
required
string <= 128 characters

Responses

Request samples

Content type
application/json
{
  • "caption": "string",
  • "file_reference": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete Estate Area Picture

This endpoint allows you to delete a specific area picture on an estate.

path Parameters
estate_id
required
integer

The primary key of the estate

area_picture_id
required
integer

The primary key of the estate area picture

header Parameters
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.

Responses

Update Estate Area Picture

This endpoint allows you to delete a specific area picture on an estate.

path Parameters
estate_id
required
integer

The primary key of the estate

area_picture_id
required
integer

The primary key of the estate area picture

header Parameters
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.

Request Body schema: application/json
required
caption
string <= 70 characters
position
integer

Responses

Request samples

Content type
application/json
{
  • "caption": "string",
  • "position": 0
}

List Estate Pictures

This endpoint allows you to list all pictures. You have to have the right: entity.estate.update

path Parameters
estate_id
required
integer

The primary key of the estate

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": []
}

Create Estate Picture

This endpoint allows you to create a picture on an estate. You are required to have the right: entity.estate.update

path Parameters
estate_id
required
integer

The primary key of the estate

header Parameters
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.

Request Body schema: application/json
required
caption
string <= 70 characters
file_reference
required
string <= 128 characters

Responses

Request samples

Content type
application/json
{
  • "caption": "string",
  • "file_reference": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete Estate Picture

This endpoint allows you to delete a specific picture on an estate.

path Parameters
estate_id
required
integer

The primary key of the estate

picture_id
required
integer

The primary key of the estate picture

header Parameters
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.

Responses

Update Estate Picture

This endpoint allows you to delete a specific picture on an estate.

path Parameters
estate_id
required
integer

The primary key of the estate

picture_id
required
integer

The primary key of the estate picture

header Parameters
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.

Request Body schema: application/json
required
caption
string <= 70 characters
position
integer

Responses

Request samples

Content type
application/json
{
  • "caption": "string",
  • "position": 0
}

Estates

Create Estate

This is the API resource for creating estates. The estate will be created at the users currently selected office if no office is provided.

header Parameters
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.

Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete an estate

This is the API resource for deleting estates.

path Parameters
id
required
integer

The primary key of the estate

header Parameters
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.

Responses

Fetch an estate

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.

path Parameters
id
required
integer

The primary key of the estate

header Parameters
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.

Responses

Response samples

Content type
application/json
Example
{
  • "area_caption": "string",
  • "area_description": "string",
  • "area_image_caption": "string",
  • "area_images": [
    ],
  • "city": "string",
  • "common_attributes": {
    },
  • "cover_caption": "string",
  • "cover_description": "string",
  • "estate_images": [
    ],
  • "id": null,
  • "name": "string"
}

Update an estate

This is the API resource for updating estates. Rights required to update bankgiro, postgiro is entity.estate.update.bank_details.

path Parameters
id
required
integer

The primary key of the estate

header Parameters
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.

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "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"
}

Existing Tenants

Update Existing Tenants

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.

header Parameters
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.

Request Body schema: application/json
required
Array of objects [ 1 .. 500 ] items

Responses

Request samples

Content type
application/json
{
  • "operations": [
    ]
}

Response samples

Content type
application/json
{
  • "created": 0,
  • "deleted": 0
}

Geography

Static Map Image

Fetches a static image with the provided geo location in the center at a specific zoom level.

query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "description": "You have been rate limited. Please try again later.",
  • "error": "RateLimited"
}

Static Map Image

Fetches a static image with the provided geo location in the center at a specific zoom level.

query Parameters
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

Responses

Response samples

Content type
application/json
{
  • "description": "You have been rate limited. Please try again later.",
  • "error": "RateLimited"
}

Inventory

List Inventory

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.

Listings

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.

Rented & Deleted Listings

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)

ℹ️️ You should not rely on this endpoint to fetch this information as it is just a transitional state and will be removed from the system shortly.
### Reserved Listings Similar to rented and deleted listings, when filtering for reserved listings it will include information about the reserved application. You should rely usually on the landlord portal itself to deal with the reserved application or refer to the webhook event that will inform you when there is a newly reserved application.
query Parameters
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.

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ],
  • "total": "1,"
}

Listings

Create a listing

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'.

Create a listing for a project

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:

  • candidate_sorting_mode
  • contract_system
  • viewing_notes
  • prioritize_customers
  • is_short_lease

Create a listing as a succession ad

If you do not provide the flag is_project_rental, the listing will be created as a succession ad.

Create a listing as a draft

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.

Error codes

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
header Parameters
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.

Request Body schema: application/json
required

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 entity.object_ad.update.advanced to modify this field. If it is a listing in a project it takes the default value from the project, otherwise it defaults to the office value.

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 entity.object_ad.update.advanced to modify this field. If it is a listing in a project it takes the default value from the project, otherwise it defaults to the office value.

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 access_date is not set.

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 is_draft=true

short_lease_max_date
string or null <date>

The maximum date the tenant can stay in the apartment. If is_short_lease=false this field will be ignored.

short_lease_min_date
string or null <date>

The minimum date until when the tenant will be guaranteed to stay in the apartment. If is_short_lease=false this field will be ignored.

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete a listing

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

Errors

Code Error Reason
412 InvalidStatus Cannot delete a listing in this status.
412 NoSuchObjectAd There is no such ad with this id
path Parameters
id
required
integer

The primary key of the listing

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "correlation_id": "string",
  • "description": "string",
  • "error": "string"
}

Fetch a listing

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.

path Parameters
id
required
integer

The primary key of the listing

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "apartment": {
    },
  • "estate": {
    },
  • "object_ad": {
    },
  • "project": {
    },
  • "requirements": {
    }
}

Update Listing

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'.

Listings in the draft status

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
path Parameters
id
required
integer

The primary key of the listing

header Parameters
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.

Request Body schema: application/json
required

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.

Responses

Request samples

Content type
application/json
{
  • "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"
}

Response samples

Content type
application/json
{
  • "correlation_id": "string",
  • "description": "string",
  • "error": "string"
}

Media

File Upload

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.
header Parameters
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.

Request Body schema: application/json
One of
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"

Responses

Request samples

Content type
application/json
Example
{
  • "content_length": 31457280,
  • "content_md5": "string",
  • "content_name": "string",
  • "entity_type": "project_image",
  • "mime_type": "image/jpeg"
}

Response samples

Content type
application/json
{}

Offices

List Offices

Listing all offices of your company.

query Parameters
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.

header Parameters
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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create Office

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.

Errors

Code Error Reason
412 OfficeEmailRequired Office email required when it is flagged for use.
header Parameters
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.

Request Body schema: application/json

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

email
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)

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
application/json
{
  • "id": 0
}

Update Office

Update an existing landlord office.

path Parameters
id
required
integer

The id of the office to update

header Parameters
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.

Request Body schema: application/json
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

email
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)

Responses

Request samples

Content type
application/json
{
  • "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
}

Project Media

List Project 3D View

This endpoint allows you to list all pictures. You have to have the right: entity.Project.update

path Parameters
project_id
required
integer

The primary key of the Project

header Parameters
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.

Responses

Response samples

Content type
application/json
{}

Create Project 3D View

This endpoint allows you to create a picture on an Project. You are required to have the right: entity.Project.update

path Parameters
project_id
required
integer

The primary key of the Project

header Parameters
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.

Request Body schema: application/json
required
position
string <= 70 characters
title
string <= 70 characters
url
required
string <= 128 characters

Responses

Request samples

Content type
application/json
{
  • "position": "string",
  • "title": "string",
  • "url": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete Project 3D View

This endpoint allows you to delete a specific video on an Project.

path Parameters
project_id
required
integer

The primary key of the Project

3d_view_id
required
integer

The primary key of the Project video

header Parameters
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.

Responses

Update Project 3D View

This endpoint allows you to delete a specific video on an Project.

path Parameters
project_id
required
integer

The primary key of the Project

3d_view_id
required
integer

The primary key of the Project video

header Parameters
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.

Request Body schema: application/json
required
position
integer
title
string <= 70 characters
url
string <= 70 characters

Responses

Request samples

Content type
application/json
{
  • "position": 0,
  • "title": "string",
  • "url": "string"
}

List Project Pictures

This endpoint allows you to list all pictures. You have to have the right: entity.Project.update

path Parameters
project_id
required
integer

The primary key of the Project

query Parameters
picture_type
required
string
Enum: "project_image" "project_area_image"
header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create Project Picture

This endpoint allows you to create a picture on an Project. You are required to have the right: entity.Project.update

path Parameters
project_id
required
integer

The primary key of the Project

header Parameters
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.

Request Body schema: application/json
required
caption
string <= 70 characters
file_reference
required
string <= 128 characters
picture_type
string
Default: "project_image"
Enum: "project_image" "project_area_image"

Responses

Request samples

Content type
application/json
{
  • "caption": "string",
  • "file_reference": "string",
  • "picture_type": "project_image"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete Project Picture

This endpoint allows you to delete a specific picture on an Project.

path Parameters
project_id
required
integer

The primary key of the Project

picture_id
required
integer

The primary key of the Project picture

header Parameters
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.

Responses

Update Project Picture

This endpoint allows you to delete a specific picture on an Project.

path Parameters
project_id
required
integer

The primary key of the Project

picture_id
required
integer

The primary key of the Project picture

header Parameters
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.

Request Body schema: application/json
required
caption
string <= 255 characters
position
integer

Responses

Request samples

Content type
application/json
{
  • "caption": "string",
  • "position": 0
}

List Project Videos

This endpoint allows you to list all pictures. You have to have the right: entity.Project.update

path Parameters
project_id
required
integer

The primary key of the Project

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create Project Video

This endpoint allows you to create a video on a project.

path Parameters
project_id
required
integer

The primary key of the Project

header Parameters
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.

Request Body schema: application/json
required
file_reference
required
string <= 128 characters
video_type
string
Default: "project_video"
Enum: "project_video" "project_area_video"

Responses

Request samples

Content type
application/json
{
  • "file_reference": "string",
  • "video_type": "project_video"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete Project Videos

This endpoint allows you to delete a specific video on an Project.

path Parameters
project_id
required
integer

The primary key of the Project

video_id
required
integer

The primary key of the Project video

header Parameters
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.

Responses

Update Project Videos

This endpoint allows you to delete a specific video on an Project.

path Parameters
project_id
required
integer

The primary key of the Project

video_id
required
integer

The primary key of the Project video

header Parameters
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.

Request Body schema: application/json
required
position
integer

Responses

Request samples

Content type
application/json
{
  • "position": 0
}

Projects

List projects

This endpoint allows you to list all the projects you have access to.

query Parameters
external_id
string

The external id of the project.

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "projects": [
    ]
}

Create a project

This endpoint allows you to create a project.If you do not provide the office it will be created in your currently selected office.

header Parameters
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.

Request Body schema: application/json
required
external_id
string <= 128 characters
name
required
string <= 128 characters
office
integer

Responses

Request samples

Content type
application/json
{
  • "external_id": "string",
  • "name": "string",
  • "office": 0
}

Response samples

Content type
application/json
{
  • "external_id": "string",
  • "id": 0,
  • "name": "string"
}

Delete a project

This endpoint allows you to delete a project.

path Parameters
id
required
integer

The primary key of the estate

header Parameters
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.

Responses

Fetch a project

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.

path Parameters
project_id
required
integer

The primary key of the listing

header Parameters
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.

Responses

Response samples

Content type
application/json
Example
{
  • "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": [
    ],
  • "id": 0,
  • "info_description": "string",
  • "info_header": "string",
  • "is_short_lease": true,
  • "landlord": {
    },
  • "name": "string",
  • "office": {
    },
  • "preliminary_move_in_date": "2019-08-24",
  • "public_profile_slug": "string",
  • "publish_date": "2019-08-24",
  • "published": true,
  • "range_information": {
    },
  • "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"
}

Update an project

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.

path Parameters
project_id
required
integer

The primary key of the project

header Parameters
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.

Request Body schema: application/json
required
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: entity.object_ad.update.advanced

closed
boolean
contract_system
string
Enum: "A" "B" "C" "D" "S"

Requires the right: entity.object_ad.update.advanced

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

Responses

Request samples

Content type
application/json
{
  • "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"
}

Fetch freetext entries for a project

This endpoint allows you to fetch list of all the freetext entries on a project.

path Parameters
project_id
required
integer

The primary key of the project

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create freetext entries for a project

This endpoint allows create a freetext entry on a project

path Parameters
project_id
required
integer

The primary key of the project

header Parameters
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.

Request Body schema: application/json
required
description
required
string
position
required
integer
title
required
string <= 256 characters

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "position": 0,
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete freetext entries for a project

This endpoint allows you to delete a freetext entry on a project.

path Parameters
project_id
required
integer

The primary key of the project

freetext_id
required
integer

The primary key of the freetext entry

header Parameters
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.

Request Body schema: application/json
required
date
string <date>
description
string
title
string <= 256 characters

Responses

Request samples

Content type
application/json
{
  • "date": "2019-08-24",
  • "description": "string",
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Update freetext entries for a project

This endpoint allows updates on a freetext entry on a project

path Parameters
project_id
required
integer

The primary key of the project

freetext_id
required
integer

The primary key of the timline entry

header Parameters
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.

Request Body schema: application/json
required
description
string
position
integer
title
string <= 256 characters

Responses

Request samples

Content type
application/json
{
  • "description": "string",
  • "position": 0,
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Fetch location details for a project

This endpoint allows you to fetch details about the location of a project

path Parameters
project_id
required
integer

The primary key of the project

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "city": "string",
  • "latitude": 0,
  • "longitude": 0,
  • "street": "string",
  • "street_number": "string",
  • "zip_code": "string"
}

Update location for a project

This endpoint allows updates on the location of a project

path Parameters
project_id
required
integer

The primary key of the project

header Parameters
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.

Request Body schema: application/json
required
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

Responses

Request samples

Content type
application/json
{
  • "city": "string",
  • "latitude": 0,
  • "longitude": 0,
  • "street": "string",
  • "street_number": "string",
  • "zip_code": "string"
}

Fetch timeline entries for a project

This endpoint allows you to fetch list of all the timeline entries on a project.

path Parameters
project_id
required
integer

The primary key of the project

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Create timeline entries for a project

This endpoint allows create a timeline entry on a project

path Parameters
project_id
required
integer

The primary key of the project

header Parameters
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.

Request Body schema: application/json
required
date
required
string <date>
description
required
string
title
required
string <= 256 characters

Responses

Request samples

Content type
application/json
{
  • "date": "2019-08-24",
  • "description": "string",
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete timeline entries for a project

This endpoint allows you to delete a timeline entry on a project.

path Parameters
project_id
required
integer

The primary key of the project

timeline_id
required
integer

The primary key of the timline entry

header Parameters
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.

Request Body schema: application/json
required
date
string <date>
description
string
title
string <= 256 characters

Responses

Request samples

Content type
application/json
{
  • "date": "2019-08-24",
  • "description": "string",
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Update timeline entries for a project

This endpoint allows updates on a timeline entry on a project

path Parameters
project_id
required
integer

The primary key of the project

timeline_id
required
integer

The primary key of the timline entry

header Parameters
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.

Request Body schema: application/json
required
date
string <date>
description
string
title
string <= 256 characters

Responses

Request samples

Content type
application/json
{
  • "date": "2019-08-24",
  • "description": "string",
  • "title": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

List estates in project

This endpoint lists all estates that are associated with this specific project.

path Parameters
id
required
integer

The id of the project

header Parameters
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.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Remove Estate from Project

This endpoint allows you to remove an estate from a project.

Possible Errors

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.
path Parameters
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

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "correlation_id": "string",
  • "description": "string",
  • "error": "string"
}

Add Estate to Project

This endpoint allows you to add an estate to a project. This is a prerequisite for creating listings that are associated with this project.

Possible Errors

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.
path Parameters
id
required
integer

The id of the project

estate_id
required
integer

The id of the estate to add to the project

header Parameters
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.

Responses

List Inventory

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.
path Parameters
id
required
integer

The id of the project to fetch the inventory for

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "results": [
    ]
}

Requirements

List Requirements

Fetching a list of requirement profile in your company.

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "requirements": [
    ]
}

Create Requirements

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.

Rent Factor

With a rent factor the income of the applicant needs to be higher than n times the rent.

Income after 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.


Note: No matter which option you choose - if you allow a warrantor they will always be checked with the rent factor.

Benefit Apartments

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'.

header Parameters
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.

Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "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
}

Response samples

Content type
application/json
{
  • "id": 0
}

Remove Requirements

Delete an existing requirement profile. Be aware that you can not delete a requirement profile that is still associated with ads.

path Parameters
id
required
integer

The primary key of the requirement profile

header Parameters
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.

Responses

Fetch Requirements

Fetching a specific Requirement Profile given it's id.

path Parameters
id
required
integer

The primary key of the requirement profile

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "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 Requirements

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.

path Parameters
id
required
integer

The primary key of the requirement profile

header Parameters
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.

Request Body schema: application/json
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

Responses

Request samples

Content type
application/json
{
  • "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
}

Reservations

Fetch Reservation Rejection reasons

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.

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "reasons": [
    ]
}

Confirm Reservation

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.

path Parameters
object_ad_id
required
integer

The primary key of the ad we are rejecting the reservation for

header Parameters
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.

Responses

Reject Reservation

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.

path Parameters
object_ad_id
required
integer

The primary key of the ad we are rejecting the reservation for

header Parameters
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.

Request Body schema: application/json
reason
required
integer

The id of the reason why the applicant is rejected

Responses

Request samples

Content type
application/json
{
  • "reason": 0
}

Right Profiles

List Right Profiles

This endpoint allows you to fetch all the rights profiles for your company.

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "right_profiles": [
    ]
}

Create a Right Profile

This endpoint allows you to create a new rights profile within your company. You need the right: entity.right_profile.create to make changes.

header Parameters
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.

Request Body schema: application/json
name
required
string >= 5 characters

You can change your own first_name.

rights
required
Array of strings

You can change your own last_name.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "rights": [
    ]
}

Response samples

Content type
application/json
{
  • "company": 0,
  • "id": 0,
  • "name": "string",
  • "rights": [
    ]
}

Delete a Right Profile

This endpoint allows you to delete a rights profile within your company. You need the right: entity.right_profile.delete to make changes.

path Parameters
right_profile_id
required
integer

The primary key of the employee

header Parameters
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.

Responses

Update a Right Profile

This endpoint allows you to update a rights profile within your company. You need the right: entity.right_profile.update to make changes.

path Parameters
right_profile_id
required
integer

The primary key of the employee

header Parameters
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.

Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "rights": [
    ]
}

Response samples

Content type
application/json
{
  • "company": 0,
  • "id": 0,
  • "name": "string",
  • "rights": [
    ]
}

List Rights

This endpoint will return a list of rights that can be assigned to a rights profile.

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "rights": [
    ]
}

User Notes

Fetch Notes

This endpoint fetches all the notes of a user for your company.

query Parameters
user_profile
required
integer

The profile id you want to fetch the notes for.

header Parameters
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.

Responses

Response samples

Content type
application/json
{
  • "notes": [
    ]
}

Create a Note

This endpoint creates a note on a user for your company.

header Parameters
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.

Request Body schema: application/json

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.

Responses

Request samples

Content type
application/json
{
  • "text": "string",
  • "user_profile": 0
}

Response samples

Content type
application/json
{
  • "author": null,
  • "created": "2019-08-24T14:15:22Z",
  • "id": 0,
  • "text": "string",
  • "updated": "2019-08-24T14:15:22Z"
}

Delete User Notes

This endpoint allows you to delete a specific note on an User.

path Parameters
note_id
required
integer

The primary key of the User note

header Parameters
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.

Responses

Update User Notes

This endpoint allows you to delete a specific video on an User.

path Parameters
note_id
required
integer

The primary key of the note

header Parameters
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.

Request Body schema: application/json
required
text
string <= 3500 characters

Responses

Request samples

Content type
application/json
{
  • "text": "string"
}

Webhooks

Agreement Webhook

This event is triggered to your system via a HTTP POST request when an agreement is created.

Request Body schema: application/json

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.

Responses

Request samples

Content type
application/json
{
  • "agreement_id": 0,
  • "apartment_id": 0,
  • "company_id": 0,
  • "created": "string",
  • "employee": {
    },
  • "object_ad_id": 0,
  • "office_id": 0,
  • "type": "signing_completed",
  • "uuid": "string"
}

Project Follower Webhook

This event is triggered to your system via a HTTP POST request when a consumer starts or stops following a project.

Request Body schema: application/json

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.

Responses

Request samples

Content type
application/json
{
  • "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"
}

Reservation Webhook

This event is triggered to your system via a HTTP POST request when a listing is reserved.

Request Body schema: application/json

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

Responses

Request samples

Content type
application/json
{
  • "apartment_id": 0,
  • "applicant": {
    },
  • "company_id": 0,
  • "created": "string",
  • "employee": {
    },
  • "fellow": {
    },
  • "object_ad_id": 0,
  • "office_id": 0,
  • "type": "reservation",
  • "uuid": "string",
  • "warrantor": {
    }
}

Signature Webhook

This event is triggered to your system via a HTTP POST request when a signature is made.

Request Body schema: application/json

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.

Responses

Request samples

Content type
application/json
{
  • "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"
}

Signing Complete Webhook

This event is triggered to your system via a HTTP POST request when a signing is completed.

Request Body schema: application/json
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.

Responses

Request samples

Content type
application/json
{
  • "apartment_id": 0,
  • "company_id": 0,
  • "created": "string",
  • "object_ad_id": 0,
  • "office_id": 0,
  • "signatories": [
    ],
  • "type": "signing_completed",
  • "uuid": "string"
}

Address

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"
}

Amenities

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
}

ApartmentNote

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"
}

ApplicationInfo

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": [
    ],
  • "queue_points": 0
}

ApplyStats

object
object
object
timestamp
string <date-time>

The timestamp of the stats

{
  • "approval_status": {
    },
  • "approval_status_for_contract_not_offered": {
    },
  • "offer_status": {
    },
  • "timestamp": "2019-08-24T14:15:22Z"
}

ApprovalCheck

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": {
    },
  • "id": "APPLICANT_GROUP_PAYMENT_REMARKS",
  • "is_value": 0,
  • "label": "string",
  • "ought_value": 0,
  • "status": "pending"
}

Assignments

Array
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

[
  • {
    }
]

CardResults

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": [
    ],
  • "total_hits": 0
}

CardType

string (CardType)
Enum: "project" "individual"
"project"

Claim

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": {
    },
  • "by_qasa": true,
  • "date_created": "string",
  • "date_processed": "string",
  • "expiry_date": "2019-08-24",
  • "id": 0,
  • "income": 0,
  • "income_source": "t",
  • "merged_file": "http://example.com",
  • "original_claim_id": 0,
  • "reason": "string",
  • "status": "d",
  • "type": "employment"
}

ClaimDuration

string (ClaimDuration)
Enum: "EMPLOYMENT_FIXED" "EMPLOYMENT_TEMPORARY"

The duration of the employment if it is an employment or parental leave claim.

"EMPLOYMENT_FIXED"

ClaimFileClassification

string (ClaimFileClassification)
Enum: "EMPLOYMENT_CONTRACT" "EMPLOYMENT_PAYSLIP" "ENTREPRENEUR_FINANCIAL_REPORT" "ENTREPRENEUR_SHARES" "ENTREPRENEUR_PAYSLIP" "ENTREPRENEUR_REGISTRATION_CERTIFICATE" "STUDENT_CERTIFICATE" "RETIRED_DISABLED_CERTIFICATE" "EMPLOYMENT_PARENTAL_BENEFITS" "EMPLOYMENT_CONTRACT" "EMPLOYMENT_PAYSLIP" "LIVING_EXPENSE_SUPPLEMENT_DOCUMENTS" "HOUSING_SUPPLEMENT_DOCUMENTS" "HOUSING_SUPPORT_DOCUMENTS" "ACTIVITY_COMPENSATION_DOCUMENTS" "ACTIVITY_GRANT_DOCUMENTS" "UNEMPLOYMENT_BENEFIT_DOCUMENTS" "CARE_ALLOWANCE_DOCUMENTS" "MAINTENANCE_ALLOWANCE_DOCUMENTS" "MAINTENANCE_SUPPORT_DOCUMENTS" "CHILD_ALLOWANCE_DOCUMENTS" "ESTABLISHMENT_ALLOWANCE_DOCUMENTS" "ESTABLISHMENT_SUPPLEMENT_DOCUMENTS" "CHILD_PENSION_DOCUMENT" "DEVELOPMENT_ALLOWANCE_DOCUMENTS" "EXTRA_COST_ALLOWANCE_DOCUMENTS" "SICK_LEAVE_DOCUMENTS"

The classification of the file

"EMPLOYMENT_CONTRACT"

ClaimOrgType

string (ClaimOrgType)
Enum: "LIMITED_COMPANY" "OTHER_COMPANY"

The description if the claim is of type other

"LIMITED_COMPANY"

CommonAttributes

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
}

Company

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": {
    },
  • "external_reservation_link": "string",
  • "has_fast_api_key": true,
  • "id": 0,
  • "logo_image": {
    },
  • "minimum_up_time": 0,
  • "name": "string",
  • "org_number": "string",
  • "postgiro": "string",
  • "tier": {
    }
}

ConsumerAgreement

object
created
string
digital_contract
string <uri>
id
integer
object
movello_session_url
string <uri>
{
  • "apartment": {
    },
  • "created": "string",
  • "digital_contract": "http://example.com",
  • "id": 0,
  • "landlord": {
    },
  • "movello_session_url": "http://example.com"
}

Conversation

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": {
    },
  • "application": {
    },
  • "auto_close_at": "string",
  • "company": {
    },
  • "created": "string",
  • "messages": [
    ],
  • "object_ad": {
    },
  • "pk": 0,
  • "project": {
    },
  • "status": "string"
}

ConversationStatus

One of
string (HIGH2)

An urgent problem

Example
2

CustomerAgreement

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.

email
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": "http://example.com",
  • "digital_contract_fields": { },
  • "email": "user@example.com",
  • "first_name": "string",
  • "id": 0,
  • "kyc_verification_id": "string",
  • "last_name": "string",
  • "profile_card": "http://example.com",
  • "sign_date": "2019-08-24",
  • "ssn": "string",
  • "user_profile_id": 0
}

ElasticApartment

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": {
    },
  • "amenities": {
    },
  • "area": 0,
  • "external_id": "string",
  • "floor": 0,
  • "has_ad": 0,
  • "has_draft": 0,
  • "has_rentals": 0,
  • "id": 0,
  • "images": [
    ],
  • "location": {
    },
  • "notes_count": 0,
  • "rent": 0,
  • "rooms": 0
}

ElasticApartmentResponse

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": {
    },
  • "estate": {
    },
  • "identifier": "string",
  • "indexed_at": "2019-08-24T14:15:22Z",
  • "object_ad": {
    },
  • "project": {
    },
  • "requirements": {
    },
  • "reserved_application": {
    },
  • "type": "estate"
}

ElasticCompany

id
integer

The id of the office

name
string

The name of the office

{
  • "id": 0,
  • "name": "string"
}

ElasticEstate

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": {
    },
  • "external_id": "string",
  • "id": 0,
  • "images": [
    ],
  • "name": "string",
  • "number_of_apartments": 0,
  • "office": {
    }
}

ElasticEstateResponse

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": {
    },
  • "identifier": "string",
  • "indexed_at": "2019-08-24T14:15:22Z",
  • "type": "estate"
}

ElasticIdentifier

string (ElasticIdentifier) ^(estate|apartment|object_ad).[1-9][0-9]+$
"string"

ElasticListingResponse

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": {
    },
  • "estate": {
    },
  • "identifier": "string",
  • "indexed_at": "2019-08-24T14:15:22Z",
  • "object_ad": {
    },
  • "project": {
    },
  • "requirements": {
    },
  • "reserved_application": {
    },
  • "type": "estate"
}

ElasticObjectAd

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": [
    ],
  • "current_stats": {
    },
  • "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": {
    },
  • "prior_access": true,
  • "short_lease_max_date": "2019-08-24",
  • "short_lease_min_date": "2019-08-24",
  • "status": "closing"
}

ElasticOffice

id
integer

The id of the office

name
string

The name of the office

{
  • "id": 0,
  • "name": "string"
}

ElasticProject

id
integer

The id of the office

name
string

The name of the office

{
  • "id": 0,
  • "name": "string"
}

ElasticRequirements

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
}

ElasticType

string (ElasticType)
Enum: "estate" "apartment" "object_ad"
"estate"

Feature

string (Feature)
Enum: "analytics_tool" "recommendations" "public_profile" "campaigns" "new_productions" "assignments" "conversations"
"analytics_tool"

Image

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"
}

Image-2

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"
}

Image-3

id
integer

The id of the image

url
string

The url of the image

{
  • "id": 0,
  • "url": "string"
}

ImageOrPdf

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"
}

Images

Array
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

[
  • {
    }
]

IncomeSource

string (IncomeSource)
Enum: "t" "d" "n"

Whether the claim should draw its income from tink or documents or if it is not applicable.

"t"

LandlordEstateInfo

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 true if all apartments in that estate have that attribute.

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": [
    ],
  • "city": "string",
  • "common_attributes": {
    },
  • "cover_caption": "string",
  • "cover_description": "string",
  • "estate_images": [
    ],
  • "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"
}

LandlordProjectInfo

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": {
    },
  • "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": {
    },
  • "name": "string",
  • "office": {
    },
  • "preliminary_move_in_date": "2019-08-24",
  • "prioritize_existing_tenants": true,
  • "public_profile_slug": "string",
  • "publish_date": "2019-08-24",
  • "published": true,
  • "range_information": {
    },
  • "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"
}

Location

lat
number

The latitude of the location

lon
number

The longitude of the location

{
  • "lat": 0,
  • "lon": 0
}

Message

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": {
    },
  • "id": 0,
  • "receipts": [
    ]
}

MessageReceipt

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"
}

Office

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

email
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
}

OfficeRequestBody

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

email
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
}

Pdf

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"
}

PinResult

Array of objects (CardPin)
total_hits
integer

The total amount of hits the search returned

{
  • "results": [
    ],
  • "total_hits": 0
}

ProjectAdsResult

Array of objects (ExtendedIndividualCard)
total_hits
integer

The total amount of hits the search returned

{
  • "results": [
    ],
  • "total_hits": 0
}

ProjectFreetextEntry

description
string
id
integer
position
integer
title
string
{
  • "description": "string",
  • "id": 0,
  • "position": 0,
  • "title": "string"
}

PublicEstateInfo

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 true if all apartments in that estate have that attribute.

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": [
    ],
  • "city": "string",
  • "common_attributes": {
    },
  • "cover_caption": "string",
  • "cover_description": "string",
  • "estate_images": [
    ],
  • "id": null,
  • "name": "string"
}

PublicProjectInfo

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": [
    ],
  • "id": 0,
  • "info_description": "string",
  • "info_header": "string",
  • "is_short_lease": true,
  • "landlord": {
    },
  • "name": "string",
  • "office": {
    },
  • "preliminary_move_in_date": "2019-08-24",
  • "public_profile_slug": "string",
  • "publish_date": "2019-08-24",
  • "published": true,
  • "range_information": {
    },
  • "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"
}

Requirements

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
}

ReservationEmployeeInfo

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"
}

RightProfile

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": [
    ]
}

SingleImage

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"
}

UserNote

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"
}

UserReservationInfo

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"
}

Video

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"
}

Video-2

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": [
    ],
  • "mime_type": "image/jpeg"
}

Videos

Array
position
integer

The position of the image

private
boolean

Whether the video is private or not

url
string

The url of the image

[
  • {
    }
]

Audience

string (Audience)
Enum: "everyone" "senior" "youth" "student"
"everyone"

CandidateSortingMode

string (CandidateSortingMode)
Enum: "queue_points" "random" "first_come_first"

The mode in which the candidates are sorted.

"queue_points"

ClaimType

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

"employment"

ContractSystem

string (ContractSystem)
Enum: "external" "manual_selection" "automatic" "manual_selection_lock" "automatic_strict"
"external"

ObjectAdStatus

string (ObjectAdStatus)
Enum: "closing" "approved" "active" "rented" "draft" "deleted" "reserved" "paused" "rejected" "publishing"

The different states an object ad can be in.

"closing"

Right

string (Right)
Enum: "homeq.integration.capifast" "entity.user_profile.profile_pdf" "entity.right_profile.update" "entity.right_profile.delete" "entity.right_profile.create" "entity.requirements.update" "entity.requirements.delete" "entity.requirements.create" "entity.public_profile.manage" "entity.pilot_modes" "entity.organization" "entity.office.defaults" "entity.object_ad.update.advanced" "entity.object_ad.update" "entity.object_ad.delete" "entity.object_ad.create.advanced" "entity.object_ad.create" "entity.estate.update.bank_details" "entity.estate.update" "entity.estate.delete" "entity.estate.create.bank_details" "entity.estate.create" "entity.employees" "entity.contract.delete" "entity.campaign.update" "entity.campaign.publish" "entity.campaign.delete" "entity.campaign.create" "entity.apartment.update" "entity.apartment.delete" "entity.apartment.create" "entity.agreement.read" "action.application.reserve" "action.application.offer" "action.application.move"

A key indicating a specific right

"homeq.integration.capifast"

Audience

string (Audience)
Enum: "everyone" "senior" "youth" "student"
"everyone"

Card

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": [
    ],
  • "location": {
    },
  • "municipality": "string",
  • "references": {
    },
  • "type": "project",
  • "uri": "string",
  • "videos": [
    ]
}

CardPin

active_ads
integer
id
string
object (Location)
type
string
Enum: "project" "individual"
{
  • "active_ads": 0,
  • "id": "string",
  • "location": {
    },
  • "type": "project"
}

ExtendedIndividualCard

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": [
    ],
  • "location": {
    },
  • "municipality": "string",
  • "references": {
    },
  • "type": "project",
  • "uri": "string",
  • "videos": [
    ],
  • "access_date": "string",
  • "access_on_agreement": true,
  • "address": {
    },
  • "amenities": {
    },
  • "area": 0,
  • "audience": "everyone",
  • "date_access": "2019-08-24",
  • "description": 0,
  • "floor": 0,
  • "floor_plan": "http://example.com",
  • "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"
}

IndividualCard

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": [
    ],
  • "location": {
    },
  • "municipality": "string",
  • "references": {
    },
  • "type": "project",
  • "uri": "string",
  • "videos": [
    ],
  • "area": 0,
  • "audience": "everyone",
  • "date_access": "2019-08-24",
  • "is_short_lease": true,
  • "rent": 0,
  • "rooms": 0,
  • "title": "string"
}

ProjectCard

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": [
    ],
  • "location": {
    },
  • "municipality": "string",
  • "references": {
    },
  • "type": "project",
  • "uri": "string",
  • "videos": [
    ],
  • "active_ads": 0,
  • "audience": [
    ],
  • "date_access": [
    ],
  • "is_short_lease": [
    ],
  • "rent_range": [
    ],
  • "title": "string"
}

References

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
}

SearchAddress

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"
}

SearchAmenities

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
}

SearchImages

Array
caption
string

The caption of the image

image
string

The url of the image

position
integer

The position of the image

[
  • {
    }
]

SearchParameters

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": [
    ],
  • "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": {
    },
  • "geo_radius": {
    },
  • "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": [
    ],
  • "queue_points": true,
  • "random": true,
  • "reserved": false,
  • "shapes": [
    ],
  • "sorting": "publish_date.desc",
  • "tags": [
    ],
  • "washing_machine": false
}

SearchVideos

Array
position
integer

The position of the video

url
string

The url of the video

[
  • {
    }
]

Status

string (Status)
Enum: "Active" "Reserved" "Paused" "Approved"
"Active"

Shape

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": {
    },
  • "shape": "string",
  • "text": "string",
  • "type": "string"
}

Error412

correlation_id
required
string

A correlation id that can help us to trace the error

description
required
string

A description of the error

error
required
string

The error message

{
  • "correlation_id": "string",
  • "description": "string",
  • "error": "string"
}

Something